PyObjc и какао на снежном барсе - PullRequest
12 голосов
/ 01 сентября 2009

Я собираюсь начать свой проект A-Level Computing (High School Level), который, как мы надеемся, станет торговым приложением для Mac OS. К сожалению, Objective-C сейчас немного не в моей лиге, и если я застряну с этим в проекте, мне некому помочь, поэтому я провалу часть курса и не попаду в университет. Так что это очень важно для меня.

Я хочу использовать Python для разработки приложения Какао. Я знаю, что мне нужен PyObjc, но все детали в сети предполагают, что он предустановлен. Очевидно, это относится к Leopard и Snow Leopard, но у меня его нет на Snow Leopard, и я никогда не замечал его на Leopard. Кроме того, я попытался установить последнюю бета-версию PyObjc, следуя инструкциям на странице Sourceforge, но безуспешно.

Я был бы очень признателен, если бы кто-нибудь смог пролить некоторый свет на то, что нужно установить, как и ссылки на любые ресурсы или руководства, которые могут мне помочь.

Заранее спасибо за помощь!

Обновление: Я вижу, что это популярный вопрос, я только что получил для него значок "Известный вопрос", поэтому я подумал, что я сообщу всем, кто придет на эту страницу, о том, что я сделал после получения ответов .

К сожалению, я не смог использовать Python для создания приложения для Mac. Это было довольно обидно в то время, но, вероятно, это хорошо. Я создал приложение для Windows на C # для своего проекта, это был инструмент для создания и запуска приложений Assembly в имитированной среде. Мой учитель курса начал использовать мой инструмент вместо своего собственного! Я получил очень высокий балл по вычислительному проекту (более 90%), и это способствовало тому, что я получил A * в своем компьютерном A-Level (высший балл из доступных), и, следовательно, я поступил в Саутгемптонский университет для изучения информатики.

Этим летом я решил создать приложение для iPad (которое скоро будет выпущено), и я рад сообщить, что знаю, что могу создать приложение для Mac OS в Objective-C, так как чувствую, что достаточно изучил. Я рад, что нашел время, чтобы выучить его, это отличный язык, и он действительно полезен, так как iOS стала настолько популярной.

Извините за все эти хвастовства, но я очень рад этому. Что я действительно хочу сказать, так это то, что если вы заходите на эту страницу в надежде с помощью PyObjc легко создавать приложения для Mac, не беспокойтесь. Это займет некоторое время и некоторые усилия, но как только вы изучите Objective-C, создавать приложения с ним будет действительно приятно. Удачи!

Ответы [ 6 ]

18 голосов
/ 01 сентября 2009

Позвольте мне повторить то, что уже было сказано. Я тоже студент, который только начал проект разработки Какао, и вначале я подумал: «Ну, я уже знаю Python, я просто буду использовать PyObjC и избавлю себя от необходимости изучать Objective-C, что выходит за рамки моего понимания. " Я быстро понял, что это невозможно. Вы можете разрабатывать для OS X, не изучая Objective-C, но не изучая библиотеки Какао, которые составляют 99% того, что вам нужно научиться писать приложение Какао в Objective-C. Сам по себе Objective-C не так уж и сложен; это библиотеки Какао, которые вам нужно вкладывать в обучение.

PyObjC в основном использует библиотеки Какао и синтаксис Python. Я быстро отказался от этого и решил, что, если мне придется изучать Какао, я также могу использовать Objective-C.

Если вы хотите учиться, книга Аарона Хиллегаса - хорошее место для начала. Удачи!

7 голосов
/ 01 сентября 2009

Вы имеете в виду, как Оформить заказ ? :-) Я упоминаю об этом только потому, что Checkout великолепен и написан с помощью PyObjC ...

Ваши опасения действительны, хотя, вероятно, не настолько потенциальны, как вы думаете. Использование PyObjC все еще требует от вас изучения некоторого Objective-C, и определенно требует, чтобы вы понимали, по крайней мере, некоторые из структур Какао, так как вам нужно обращаться к структурам Какао всякий раз, когда вам нужно выполнить какую-то специфическую для Какао задачу.

Я рекомендую вам прочитать и рассмотреть вопрос SO "Почему документация PyObjC настолько плоха?" и "PyObjc vs RubyCocoa для разработки на Mac: что является более зрелым?" до Вы полностью убеждаете себя, что «просто PyObjC» сделает вещи намного проще. Я отказываюсь пренебрегать PyObjC, потому что он довольно мощный и невероятно полезный, но понимаю, что ничто не является серебряной пулей, и ни один язык или технология не подходят для всех проблем.

Язык Objective-C прост и довольно прост. Платформы Какао обычно доминируют на кривой обучения для новых программистов Какао. Кроме того, у вас есть StackOverflow и множество других ресурсов, которые помогут ответить на ваши вопросы. (Судя по активности тега "pyobjc" , у вас также больше шансов получить хорошую помощь Objective-C в SO.)

4 голосов
/ 01 сентября 2009

И как один из разработчиков Checkout я тоже буду взвешиваться (привет, Куинн!). Из того, что мы видели, PyObjC довольно хорошо работает на Snow Leopard. Мы создали одну из последних версий SVN 2.2b с некоторыми настройками для Leopard и просто переместились в папку site-packages.

Теоретически вы должны иметь возможность использовать встроенный Python / PyObjC (просто импортируйте objc, Foundation, AppKit), но так как мы отправляем / работаем с пользовательскими версиями Python и PyObjC, я не уверен, что именно за статус , В списке рассылки не упоминается много людей, имеющих проблемы (только некоторые), так что это может быть хорошим знаком.

Удачи в проекте, и если у вас есть конкретные вопросы по POS, напишите мне по электронной почте; -)

3 голосов
/ 15 декабря 2009

Я давний разработчик Python, который уже некоторое время занимается разработкой приложений для iPhone (и только использую свои знания Python для упаковки файлов сборки для приложений в скриптах запуска), а затем начал создавать некоторые приложения PyObjC.

Я бы сказал, что PyObjC все еще ДОЛЖЕН изучать цель C (которую я уже знаю через iPhone dev), однако вы получите несколько довольно крутых преимуществ, если будете использовать ее вместо

  • Простое использование известных вам библиотек python (быстрее для вас)
  • Возможность удалить его и перейти к wxPython, если какао стилизовано
  • Несколько быстрее время разработки (вы пишете меньше кода, и к переводу между двумя языками чертовски легко привыкнуть).

Кроме того, построитель интерфейса немного сложнее привыкнуть к сравнительной речи, но если вы являетесь разработчиком на Python, это не значит, что вы точно привыкли к функциональному сборщику графического интерфейса: oP

3 голосов
/ 01 сентября 2009

Я собираюсь согласиться с Куинном здесь. Даже если вы уже хорошо владеете Python, изучение интерфейса Python и Cocoa не будет легче, чем изучение Cocoa с Objective-C.

Objective-C - это простой, чистый язык, который довольно легко понять. Построить GUI и подключить его к бэкэнду будет сложнее, чем научиться Objective-C писать бэкэнд, а построить GUI и подключить его не так уж сложно.

Следуйте учебному пособию по приложению Какао (вы сможете справиться с ним за день или, может быть, в выходные дни, если вы медлительны), и вы будете в пути.

3 голосов
/ 01 сентября 2009

Я сам почти не использую PyObjC, но я считаю, что вам нужно запустить установщик Xcode на DVD-диске Snow Leopard, чтобы использовать PyObjC.

Кроме того, как сказал Куинн, вам понадобится понять хотя бы какой-нибудь Objective-C, чтобы использовать мост Какао, такой как PyObjC, не разрывая волосы. Это просто не изолирует вас полностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...