2009-08-31 2 views
12

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

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

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

Заранее благодарим за помощь!

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

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

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

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

+0

Have вы пытались использовать macports для установки PyObjC? –

+1

Установили ли вы последнюю версию инструментов для разработчиков? Я никогда не использовал PyObjc, но я не думаю, что это будет проще, чем использование Objective-C. Это простой язык для изучения, и поскольку API Mac OS X были разработаны с учетом этого, они отлично работают с ним. Вы даже можете использовать сборку мусора, если не хотите беспокоиться об управлении памятью, но встроенный подсчет ссылок достаточно прост, и мне никогда не хотелось использовать сборку мусора. Также вы должны знать, хотите ли вы продолжить разработку Mac. – Amok

+0

Спасибо за ответ, я попробую использовать macports для установки PyObjc, и у меня есть новейшие инструменты Xcode 3.2, dev и SDK. Я пробовал Objective-C, и у меня есть книга об этом, но в прошлом я занимался базовым программированием как хобби и как курс средней школы, я боролся с этим. Мне кажется сложнее, что C# .NET, что я сделал. Кроме того, если я не заработал программное обеспечение, на карту поставлено много, и я не знаю никого, кто мог бы помочь мне, если все пойдет не так. По крайней мере, у меня есть друг, который является немного гуру Python, если я предпочитаю использовать PyObjc. – danpalmer

ответ

18

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

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

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

+0

Хорошо, я не буду публиковать комментарии по всем вопросам, но позвольте мне сказать, спасибо за поддержку от всех. Я очень ценю это! Я уже установил материал разработчика из диска, но материал PyObjc отсутствует в Xcode. Причина, по которой я неохотно пользуюсь Objc, состоит в том, что если я застрял, возможно, будет место Uni на кону, и, учитывая, что я хочу изучать CS, я не могу позволить себе не получить A в этой работе. Также, благодаря Koen! Это приложение POS, которое я собираюсь написать, и Checkout вдохновил меня на использование PyObjc. Спасибо всем, что вы убедили меня использовать чистый Objc, я думаю. – danpalmer

+0

О, и у меня уже есть книга Аарона Хиллегасса, но факт, что он включает в себя код для управления памятью, немного испугал меня. – danpalmer

+0

FYI, самая большая причина для нас, чтобы написать Checkout в Python, была SQLAlchemy, отличная ORM. Я думаю, что если бы это было не так, я бы тоже использовал Obj-C. –

7

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

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

Я рекомендую вам прочитать и рассмотреть вопрос SO "Why is the PyObjC documentation so bad?" и "PyObjc vs RubyCocoa for Mac development: Which is more mature?", прежде чем полностью убедите себя, что «просто PyObjC» упростит ситуацию. Я отказываюсь пренебрегать PyObjC, потому что он достаточно мощный и невероятно полезный, но понимаю, что ничто не является серебряной пулей, и ни один язык или технология не подходят для всех проблем.

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

3

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

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

3

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

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

Следуйте за the Cocoa app tutorial (вы сможете пройти через это через день или, возможно, на выходные, если вы пойдете медленнее), и вам будет хорошо на вашем пути.

4

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

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

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

3

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

я должен был бы сказать, PyObjC довольно много еще того, чтобы узнать Objective C (который я уже знаю, с помощью iPhone Dev), однако вы получите несколько довольно прохладно преимущества, если вы используете его вместо

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

Кроме того, интерфейс строитель немного сложно привыкнуть к сравнительно говоря, но если вы питона Дев, это не так, как вы точно привыкли к функциональным GUI Builder абы: Op