PyObjc и Cocoa на Snow Leopard
Я собираюсь начать проект A-Level Computing (High School Level), который, мы надеемся, станет приложением для продажи в Mac OS. К сожалению, Objective-C немного из моей лиги на данный момент, и я должен застрять в этом проекте, у меня нет никого, кто мог бы помочь, поэтому я не смог бы пройти курс курса и не попасть в университет. Так что это очень важно для меня.
Я хочу использовать Python для разработки приложения Cocoa. Я знаю, что мне нужен PyObjc, однако все детали в сети, похоже, предполагают, что они предварительно установлены. По-видимому, это относится к Leopard и Snow Leopard, но, похоже, я не видел его на Snow Leopard и никогда не замечал его на Leopard. Кроме того, я попытался установить последнюю версию PyObjc, следуя инструкциям на странице Sourceforge, но не повезло.
Я был бы очень признателен, если бы кто-нибудь мог пролить свет на то, что нужно установить, как и ссылки на любые ресурсы или учебные пособия, которые могли бы мне помочь.
Заранее благодарим за помощь!
Обновление: Я вижу, что это популярный вопрос, я просто получил значок "Известный вопрос", поэтому я подумал, что обновляю любого, кто придет на эту страницу, что я сделал после получения ответы.
К сожалению, я не смог использовать Python для создания приложения Mac. В то время это было довольно разочаровывающе, но, наверное, хорошо. Я сделал приложение Windows на С# для своего проекта, это был инструмент для создания и запуска приложений Assembly в моделируемой среде. Мой преподаватель курсов теперь начал использовать мой инструмент, чтобы преподавать курс вместо его собственного! Я получил очень высокий балл по вычислительному проекту (более 90%), и это способствовало тому, что я получил A * на своем вычислительном уровне A (высокий уровень доступности), и поэтому я попал в Саутгемптонский университет для изучения компьютерных наук.
Этим летом я решил сделать iPad-приложение (скоро его выйдет), и я рад сказать, что знаю, что я могу сделать приложение для Mac OS в Objective-C, поскольку, насколько мне кажется, я достаточно научился. Я рад, что я нашел время, чтобы изучить его, это отличный язык и очень полезен, когда iOS становится настолько популярным.
Извините за все хвастовство, но я действительно рад этому. Я действительно хочу сказать, что если вы придете на эту страницу, надеясь использовать PyObjc для легкого создания приложений для Mac, не беспокойтесь. Требуется некоторое время и некоторые усилия, но как только вы узнали Objective-C, действительно приятно создавать приложения с ним. Удачи!
Ответы
Ответ 1
Позвольте мне повторить то, что уже было сказано. Я тоже студент, который только что начал проект разработки Cocoa, и вначале я подумал: "Ну, я уже знаю Python, я просто буду использовать PyObjC и избавлюсь от необходимости изучать Objective-C, который выходит за рамки моего понять". Я быстро понял, что это невозможно. Вы можете разрабатывать для OS X без обучения Objective-C, но не изучая библиотеки Cocoa, составляющие 99% того, что вам нужно, чтобы научиться писать приложение Cocoa в Objective-C. Objective-C сам не так уж тяжело; это библиотеки Cocoa, которые вам нужно инвестировать в обучение.
PyObjC использует в основном библиотеки Cocoa и синтаксис Python. Я быстро сдался и решил, что если мне придется учиться Cocoa, я могу использовать Objective-C.
Если вы хотите учиться, книга Аарона Хиллегасса - хорошее место для начала. Удачи!
Ответ 2
Вы имеете в виду Checkout?:-) Я только упоминаю об этом, потому что Checkout великолепна и написана с PyObjC...
Ваши проблемы действительны, хотя, возможно, не так много потенциального showstopper, как вы думаете. Использование PyObjC по-прежнему требует изучения некоторых Objective-C, и определенно требует, чтобы вы поняли хотя бы некоторые из фреймворков Cocoa, так как вам нужно вызывать в инфраструктуре Cocoa всякий раз, когда вам нужно сделать какой-то Cocoa -специальная задача.
Я рекомендую вам прочитать и рассмотреть вопрос SO "Почему документация PyObjC настолько плоха?" и "PyObjc vs Разработка RubyCocoa для Mac: которая более зрелая?" , прежде чем полностью убедить себя, что "просто PyObjC" упростит ситуацию. Я отказываюсь пренебрегать PyObjC, потому что он достаточно мощный и невероятно полезный, но понимаю, что ничто не является серебряной пулей, и ни один язык или технология не подходят для всех проблем.
Язык Objective-C прост и довольно прост. Рамки Cocoa обычно доминируют в кривой обучения для новых программистов Cocoa. Кроме того, у вас есть StackOverflow и множество других ресурсов, которые помогут ответить на ваши вопросы. (Судя по активности "pyobjc" тега, у вас также есть больше шансов получить хороший Objective-C help на SO.)
Ответ 3
И как один из разработчиков Checkout я тоже буду взвешивать (привет Куинн!). Из того, что мы видели, PyObjC неплохо работает на Snow Leopard. Мы построили одну из последних версий 2.2b SVN с некоторыми настройками на Leopard и просто переместились через папку сайтов.
Теоретически вы должны иметь возможность использовать встроенный Python/PyObjC (просто импортировать objc, Foundation, AppKit), но по мере того как мы отправляем/работаем с пользовательскими версиями как Python, так и PyObjC, я не уверен, что именно статус, В списке рассылки не упоминается много людей, имеющих проблемы (всего несколько), поэтому это может быть хорошим знаком.
Удачи вам в проекте, и если у вас есть конкретные вопросы по POS, отправьте мне электронное письмо; -)
Ответ 4
Я почти не использую PyObjC, но считаю, что вам нужно запустить установщик Xcode на DVD-диске Snow Leopard, чтобы использовать PyObjC.
Кроме того, как сказал Куинн, вам нужно будет понять хотя бы несколько Objective-C, чтобы использовать мост Cocoa, например PyObjC, без разрыва ваших волос. Это просто не полностью изолирует вас.
Ответ 5
Я соглашусь с Куинном здесь. Даже если вы уже владеете Python, научиться взаимодействовать с Python и Cocoa не будет легче, чем изучать Cocoa с помощью Objective-C.
Objective-C - это простой, чистый язык, который довольно легко заразить. Построение графического интерфейса и подключение его к серверному интерфейсу будет сложнее, чем изучение Objective-C для написания исходного кода, а создание графического интерфейса и его подключение не так уж сложно.
Следуйте учебник по приложению Cocoa (вы сможете пройти через это через день или, может быть, на выходных, если вы пойдете медленно), и вам будет хорошо на вашем пути.
Ответ 6
Я долгое время работал разработчиком python, который некоторое время занимался iPhone-приложениями (и использовал только свои знания python для сборки файлов сборки для приложений в сценариях запуска), а затем начал создавать приложения PyObjC.
Я бы сказал, что PyObjC в значительной степени STILL должен изучить объективный C (который я уже знаю через iPhone dev), однако вы получаете несколько довольно крутых преимуществ, если используете его вместо
- Простое использование библиотек python, которые вы знаете (быстрее для вас)
- Возможность отбросить его и перейти к wxPython, если он создан с помощью Cocoa
- Несколько быстрее время разработки (вы пишете меньше кода, а перевод между двумя языками довольно прост, чтобы привыкнуть).
Кроме того, построитель интерфейсов немного сложнее привыкнуть к относительному варианту, но если вы разработчик python, это не похоже на то, что вы в точности используете функциональный GUI-конструктор: oP