Подтвердить что ты не робот

Java Developer встречает Objective-C в Mac OS

Я разработал на С++ много лет назад, но в наши дни я в первую очередь разработчик программного обеспечения Java. Учитывая, что у меня есть iPhone, я готов к spring для MacBook в следующем месяце, и мне вообще интересно начать работу с Mac OS developmentmt (используя Objective C), я думал, что просто поставлю этот вопрос: What Next?

В частности, какие книги я должен выбрать, и есть ли какие-либо веб-ресурсы, на которые могли бы обратить внимание некоторые люди? Некоторые книги, которые я планирую приобрести:

Кто-нибудь знаком с этими названиями? Наконец, я был бы очень заинтересован в резюме того, что я должен буду ожидать, как только я приступлю к этому путешествию. Как кто-то, кто развивается на Java с помощью IntelliJ IDEA, каковы некоторые ключевые различия, которые я заметлю, когда перейду к написанию кода ObjectiveC в Xcode? Каковы различия между разработкой настольных компьютеров Mac OS и разработкой iPhone? Используется для сборки мусора Java, что мне знать о сборке мусора ObjectiveC/управлении памятью. Какие-либо другие специфические для языка вопросы, которые кто-то хотел бы указать? Как насчет создания пользовательских интерфейсов? Он ближе к Swing, создавая файлы ресурсов Visual С++, с которыми взаимодействует код, или он больше похож на некоторые из BORLAND-IDE, которые будут генерировать код для guis?

4b9b3361

Ответ 1

Купив обе книги в вашем вопросе, я рекомендую Cocoa Программирование для Mac OS X как быстрый способ изучить язык и структуру Cocoa и, вероятно, самый быстрый способ начать производство реальных приложений в Cocoa. Я очень рекомендую. Программирование в Objective-C 2.0 - отличный справочник, но если вы уже знаете C, вам нечего научить вас тому, что вы не можете забрать из другой книги. Однако, если вам когда-либо понадобится список всех зарезервированных ключевых слов в Objective-C, то книга, к которой нужно перейти.

Все пользовательские интерфейсы могут создаваться прогматически, но вам будет проще использовать интерфейс Builder, который поставляется с XCode, для выкладки пользовательского интерфейса. У вас будет намного меньше кода. С привязками вы можете даже исключить код, который напрямую не связан с выделением интерфейса. Подробности приведены в книге Cocoa Programming for Mac OS X.

Одна большая вещь, которую я пропустил из Java, - это API-интерфейс коллекции. В Cocoa вы просто получаете NSSet, NSArray и NSDictionary, и нет аналога для интерфейса Comparable. Эти классы также неизменяемы, но имеют изменяемые версии, такие как NSMutableArray.

Я действительно не играл с Garbage Collection в Objective-C 2.0. В предыдущих версиях Objective-C управление памятью осуществлялось с помощью методов сохранения, выпуска и автоопределения. Объекты были созданы с сохранением числа 1. Сохранение увеличено, количество, освобождение уменьшилось, а объекты автореализации немного сложнее. Опять же, книга программирования Cocoa объясняет это хорошо. Сбор мусора является опцией, и если он включается, методы сохранения, выпуска и автоопределения ничего не делают. Однако, если вы пишете библиотеку или фрейм, которые будут использоваться другими, вы должны запрограммировать ее так, как будто сбор мусора отключен. Таким образом, приложения могут использовать его независимо от того, включена ли сборка мусора.

Что касается веб-ресурсов, http://cocoadevcentral.com/ - отличный сайт с учебниками для начинающих. В CocoaDev Wiki на http://www.cocoadev.com/ содержится подробная информация по многим темам, и вы обычно можете найти полезную информацию и людей в cocoa -dev список рассылки http://lists.apple.com/mailman/listinfo/cocoa-dev

Разработка iPhone немного отличается, а детали ограничены NDA. Однако, если вы получите одобрение Apple, чтобы получить доступ к центру разработчиков iPhone, Apple предоставила несколько отличных обзоров видео различий, которые указывают на документацию, необходимую для перехода с Mac OS X на iPhone OS X.

Ответ 2

Получить Cocoa Программирование для Mac OS X. На большинство ваших вопросов будет дан ответ этой книгой. Вы также можете начать чтение Стать XCoder и Cocoa Dev Central.

iPhone SDK по-прежнему находится под NDA, поэтому вы не сможете найти какие-либо онлайн-ресурсы, кроме тех, которые предоставляются Apple.

Cocoa Пользовательский интерфейс основан на MVC. Вы используете Interface Builder для разработки своих представлений, а затем привязываете его к вашим моделям и контроллерам. Цель C - смесь C и Smalltalk.

Ответ 3

Другим вариантом для вас является jaiPhon, который позволяет вам писать java-приложения, которые будут переведены на iPhone-говорить во время сборки.

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

http://www.jaiphon.com/

Ответ 4

Также проверьте это:

http://www.xmlvm.org/overview/

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

Сказав это, я не пробовал. Проект кажется довольно бета-версией, и на их сайте SourceForge не так много.

Ответ 6

Я думаю, что вы будете чувствовать себя голым, когда прыгаете с IntelliJ на Xcode. Но это только с точки зрения инструмента. Принесите дополнительную одежду (TextMate + FScript)!