Настройка разработчика для начала работы с программированием на какао / Mac

Я хотел бы начать экспериментировать с Какао и программированием для Mac OSX. На данный момент меня не очень беспокоит синтаксис / конструкции / особенности Objective C, но мне больше интересно узнать об эффективной настройке с точки зрения редактора и / или IDE, которая поможет мне быстро начать работу. Есть ли какая-либо IDE даже отдаленно похожая на Visual Studio (поскольку именно там я проводил большую часть своего времени за последние 7 лет) с точки зрения концепции решения / проекта? Есть ли другие инструменты, советы, предложения и / или ресурсы, чтобы быстро встать и поэкспериментировать?

Я бы хотел избежать многих вводных вещей и остановиться на таких вещах, как «Если вы хотите создать настольное приложение Mac, вы можете использовать Acme IDE и настроить свой проект таким образом».


Я боялся, что Xcode станет ответом! : P Я попробовал поиграться с этим - буквально просто снял это с DVD и просто погрузился в дело, не зная, чего ожидать (еще до того, как я узнал, что вы использовали Objective C в качестве языка). Я подумал, умный парень, которым я являюсь, что могу просто порыться и заставить простое приложение работать ... неправильно.

@Andrew - Спасибо за понимание этих настроек конфигурации. Основываясь на моем первом впечатлении от Xcode, я думаю, что это может помочь.


person Peter Meyer    schedule 19.08.2008    source источник
comment
Да, я знаю это чувство :) Если это какое-то утешение, похоже, что у нас очень похожий опыт (7+ лет C / C ++ в VS), и мой первый опыт работы с XCode / Cocoa был точно таким же. Я обнаружил, что мне потребовалось около двух недель (может быть, 10 часов), чтобы прочитать Программирование какао для OSX и проработать некоторые образцы, прежде чем я действительно получил это и начал чувствовать себя продуктивным. Хороший опыт работы с C / C ++ определенно поможет в долгосрочной перспективе, но в первые дни это кажется почти помехой, поскольку все кажется знакомым, но неправильным :)   -  person Andrew Grant    schedule 19.08.2008


Ответы (11)


Я бы посоветовал вам выбрать забавный маленький продукт и погрузиться в него. Если вы ищете книгу, я бы посоветовал Программирование какао для Max OSX, которое является очень хорошим введением как в Objective-C, так и в Какао.

XCode в значительной степени де-факто IDE и бесплатен с OSX. Он должен быть на вашем исходном установочном DVD. Это хорошо, но не так хорошо, как Visual Studio (извините, это действительно не так).

Как давний пользователь VS, я нашел конфигурацию XCode по умолчанию немного странной и сложной для настройки, особенно способ открытия нового плавающего окна для каждого исходного файла. Некоторые настройки, которые я нашел особенно полезными;

  • Настройки / Общие -> Все-в-одном (объединяет окно редактора / отладчика)
  • Настройки / Общие -> Открыть копии в том же редакторе (редактирование в одном окне)
  • Настройки / Отладка - «Элементы управления отладчиком в редакторе»
  • Настройки / Отладка - «Автоматическая очистка консоли отладки»
  • Настройки / Привязка клавиш - множество привязок для соответствия VS (Ctrl + F5 / Shift + F5, Shift + Home, Shift + End и т. Д.)

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

Я бы порекомендовал вам использовать новый синтаксис свойств, представленный для Objective-C 2.0. Они позволяют намного меньше печатать во многих местах. Однако они ограничены только OSX 10.5 (да, языковые функции привязаны к версиям ОС, что немного странно).

Также не обманывайтесь, преуменьшая различия между C / C ++ и Objective-C. Они очень связаны, но ЯВЛЯЮТСЯ разными языками. Попробуйте запустить Objective-C, не думая о том, как сделать X, Y, Z в C / C ++. Так будет намного проще.

person Andrew Grant    schedule 19.08.2008

Первым документом, который нужно прочитать и усвоить, является руководство по управлению памятью. , поймите это, прежде чем двигаться дальше. Это также отличное руководство по objective-c . На самом деле сайт разработчиков в Apple очень хорош, но вы, вероятно, сначала захотите прочитать книгу Хиллегаса.

Что касается Xcode и Visual Studio - они разные. Я бы не сказал, что один лучше другого - разработчики Windows пришли из VS и ожидают, что он будет таким же. Это просто высокомерное отношение, пожалуйста, не попадитесь в эту толпу. Используя VS со времен AppStudio и Xcode в течение года или около того, у обоих есть свои сильные и слабые стороны. Xcode - это то, что из коробки (и особенно при переходе из VS) не кажется таким уж хорошим, но как только вы начнете его использовать и понять, он станет очень мощным.

Кроме того, в Xcode и др. Входит гораздо больше инструментов, таких как Instruments и Shark, которые вы просто не можете получить с VS, если вы не откроете свой кошелек, и даже тогда IMHO не так хороши.

В любом случае, удачи. Мне все еще нравится C #, но Objective-C / Cocoa как-то снова делает программирование увлекательным, когда вы в него входите ...

person JamesSugrue    schedule 19.08.2008

Не пытайтесь копать свой OSX DVD, так как с тех пор они выпустили новую версию (3.1) XCode.

Во-первых, вы захотите присоединиться к Apple Developer Connection (это бесплатно, и вам нужно, чтобы получить доступ к их версии MSDN) - он использует ваш Apple ID, поэтому, если у вас когда-либо был один для магазина itunes и т. Д., Это то же имя пользователя / пароль

Как только вы это сделаете, щелкните загрузки, затем щелкните инструменты разработчика, чтобы просмотреть эта страница и перейдите на


Еще одно предложение: если у вас есть запросы на новые функции или улучшения или ошибки, с которыми вы столкнулись, обязательно отправьте их на адрес Apple Bug Reporter. Это лучший способ для разработчиков сообщить Apple о своих потребностях, потому что каждая проблема отслеживается через систему.

person Chris Hanson    schedule 19.08.2008

Вы можете попробовать демонстрацию textmate и посмотреть, как вам нравится работать с objective-c или любым другим типом текста. В самом деле. Он будет импортировать настройки проекта xcode, чтобы вы по-прежнему могли компилировать и запускать из textmate, вместо того, чтобы возвращаться к xcode.

person crackity_jones    schedule 21.08.2008

Xcode - это стандарт для редактирования исходных файлов, хотя вы можете использовать другой редактор вместе с инструментом xcodebuild командной строки, если действительно хотите. Я использовал Vim для всего моего редактирования Какао, прежде чем наконец уступить Xcode. Это не самая лучшая IDE в мире, но она выполняет свою работу, а в последних выпусках 3.x были внесены некоторые приятные улучшения.

Настоящим мощным инструментом разработки какао является Interface Builder. IB не генерирует исходный код, как многие инструменты пользовательского интерфейса. Вместо этого он манипулирует реальными представлениями, элементами управления и объектами Какао, которые затем объединяет в архив (перо), который загружается вашей программой во время выполнения. Большинство программ Какао используют по крайней мере один файл пера, а часто и многие другие.

Независимо от того, какую комбинацию IDE / редактора вы выберете для взлома исходных файлов, я рекомендую использовать IB там, где это возможно. Даже если вы не являетесь поклонником других инструментов компоновки / генерации пользовательского интерфейса, я предлагаю сохранять непредвзятость, дать шанс «способу Какао» и, по крайней мере, узнать, что Interface Builder может сделать для вашего процесса разработки.

person Community    schedule 26.08.2008

AFAIK, почти каждый разработчик OS X использует Xcode.

Это и Интерфейсный Разработчик для создания графических интерфейсов.

FWIW, попробуйте достать копию книги Хиллегаса, так как это отличное вводное руководство, а справочные документы, которые предоставляет Apple, на самом деле нет. (Однако, как правило, это очень хорошие справочные документы).

person Matthew Schinckel    schedule 19.08.2008

Какао огромно. Самая сложная часть обучения написанию приложений на Mac - это изучение Cocoa. Кстати. Вам не нужно знать ObjC (хотя это очень помогает). Вы можете писать приложения Cocoa с помощью Python или Ruby (прямо в IDE).

Я согласен, что VS - лучшая IDE, чем Xcode. Но если вы добавите Interface Builder и все другие инструменты, я не уверен. Разработка под Mac - это не одна гигантская IDE для всего. Но VS «добрее» для разработчика, чем Xcode.

Также, если вы хотите создавать кроссплатформенные приложения, посмотрите RealBasic. Прекрасный инструмент (хотя и базовый. Но он работает и в Linux). Вы удивитесь, сколько приложений для Mac написано с использованием RB.

person Stephen Cox    schedule 19.08.2008

Я слышал, что книги, которые сейчас существуют, довольно устарели. Кажется, что вся экосистема очень быстро развивается, и в каждом выпуске ОС происходят кардинальные изменения.

Он написал руководство который объединяет некоторую документацию Apple и другие руководства, которые должны вам помочь. Я думаю, он охватывает основы использования IDE, написания простых приложений, а затем переходит к более сложным вещам.

person Jay Conrod    schedule 19.08.2008

Я баловался какао последние пару лет и недавно взял в руки книгу Фрица Андерсона "Xcode 3 Unleashed. " Настоятельно рекомендуется для знакомства с Xcode, особенно с некоторыми из больших изменений 3.0 / Leopard.

Не забывайте, что по сути Библия Какао Хиллегасса «Программирование какао для Mac OS X - Третье издание».

person Community    schedule 30.08.2008

@peter Я не знаю, почему у вас возникли проблемы с тем, чтобы простое приложение работало сразу же, ничего не делая, ваше приложение получает много преимуществ от фреймворка Cocoa. Если вы имеете в виду, что вы пытались сделать что-то вроде подключения кнопки к действию и печати предупреждения на экране или что-то в этом роде, тогда да, я мог видеть, куда вы идете, когда это сложно.

Проблема для меня, начинавшего с Cocoa много лет назад, заключается в том, что он настолько отличался от всего остального, что требовал некоторой кривой обучения. В то время как многие другие системы ориентированы на время компиляции, Cocoa очень динамичен и ориентирован на время выполнения. Как только вы закончите изучение того, как действия подключаются к классам, остается лишь изучить, как работают фреймворки Какао.

person Colin Wheeler    schedule 01.09.2008