Программирование с iPhone на Mac - PullRequest
10 голосов
/ 14 января 2010

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

Я занимаюсь разработкой для iPhone уже около года, и я доволен Objective-C, Xcode и Cocoa (по крайней мере, тем, что используется на iPhone), но программирование для OS X кажется гораздо более сложным.

Какие хорошие бесплатные ресурсы для таких, как я? Большинство из того, что я видел, касалось изучения Objective-C и Cocoa, и я действительно хочу познакомиться с теми частями IB, с которыми я не знаком, и со всем, что важно в OS X, кроме iPhone.

Ответы [ 3 ]

6 голосов
/ 14 января 2010

Хотя среда разработки iPhone не является строго подмножеством Mac, поскольку есть некоторые улучшенные и специфичные для iPhone биты, это почти так (и в основном это хорошие биты). Таким образом, Mac, пожалуй, самая простая платформа для перехода с iPhone.

На Mac вам особенно захочется узнать о привязках Cocoa, которые лежат в основе многих современных интерфейсов, но еще не установлены на телефоне.

В ответ на ваш конкретный вопрос некоторые уважаемые бесплатные ресурсы по кодированию Mac включают в себя:

  • канонический список рассылки cocoa-dev , управляемый Apple (который, к сожалению, имеет только крайне неудачный веб-доступ, реализованный Apple и спорадически дополняемый ненадежными сторонними усилиями) что делает его в основном полезным благодаря подписке на него с одной из ваших учетных записей электронной почты)
  • CocoaDev wiki
  • Майк Эш из Rogue Amoeba опубликовал необычно полезную серию вопросов и ответов по пятницам в своем блоге
  • книга по продвинутому программированию на Mac от Аарона Хиллегаса, Расширенное программирование для Mac OS X
  • , хотя документы Apple довольно хороши сейчас, в старые дурные времена "описания", многие из нас узнали, как Mac OS X использовала тикеры из открытого исходного кода, опубликованного авторитетными разработчиками программного обеспечения, например, Omni's рамки , которые вы можете встраивать как есть в свои приложения, или код cherrypick от

(Хм, я обычно не пишу здесь, поэтому мне было запрещено делать гиперссылки на вышеупомянутые ссылки ... могу ли я поместить их в виде текста? Нет, нет! Ну, я думаю, всегда есть Google.)

3 голосов
/ 14 января 2010

Я начал с разработки для Mac OS и перешел к разработке для iPhone. Вы, наверное, уже знаете основные понятия о том, как работают API. Самая большая проблема, которую я вижу у разработчиков, которые переходят с iPhone на Mac, заключается в том, чтобы привыкнуть ко всем тонким способам, которыми пользователи Mac ожидают, что их приложения будут работать. Такие вещи, как работа с клавишами Page Up и Page Down для прокрутки вашего вида (позор Tweetie за то, что он не поддерживает это). Или обработка нескольких окон. Или несколько размеров дисплея (и убедитесь, что окна не расположены за экраном).

Что касается технических вопросов программирования, лучше всего начать с собственной документации Apple. Что касается нюансов проектирования для Mac OS и правильного ведения дел, то, насколько я знаю, не существует книги или веб-сайта, на котором есть все ответы. Главным образом это происходит из-за использования приложений, которые являются победителями Apple Design Award, и имитации того, что они делают.

3 голосов
/ 14 января 2010

К счастью, Cocoa на рабочем столе и Cocoa Touch очень похожи. Я бы порекомендовал просто загрузить пример кода для начинающих с сайта Apple. Поскольку вы уже знаете Objective-C / Cocoa, вы должны быть в состоянии довольно легко следовать за ним. Если некоторые детали сбивают с толку, вы можете просмотреть руководства Apple.

То же самое:

  • Шаблоны проектирования (цель / действие, делегат, источник данных, первый респондент и т. Д.)
  • Objective-C
  • Интерфейсный Разработчик

Вещи, которые отличаются:

  • Элемент управления может иметь только одну цель и действие. На iPhone вы можете иметь одну цель / действие для подкраски внутри, подкраски снаружи и т. Д. На Mac есть только одна.
  • NSWindowController для загрузки xibs (хотя концептуально похож на UIViewController)

Редактировать: В целом, главное отличие iPhone состоит в том, что у него есть больше «встроенных» классов пользовательского интерфейса (UINavigationController, UITabBarController и т. Д.), Которые вы можете использовать в своем приложении, чтобы оно выглядело красиво и красиво (и, что самое важное, соответствовало Apple приложения).

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