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

Нужно ли мне учиться Objective-C для профессионального Mac Development?

Нужно ли мне изучать Objective-C для разработки надежных приложений для Mac?

Поскольку пользователи Mac склонны использовать только приложения с хорошим (родным) графическим интерфейсом, я не думаю, что Mono и GTK + или любой Java GUI (Swing) будут соответствовать их потребностям.

Есть проекты вроде Cocoa #, PyObjC и RubyCocoa, но готовы ли они к прайм-тайму?

Так мне действительно нужно учиться Objective-C? Я бы предпочел динамический язык.

4b9b3361

Ответ 1

Objective-C - динамический язык, поскольку разделы Objective-C идут. Вот небольшая сводная статья: http://www.macdevcenter.com/pub/a/mac/2003/04/28/objective-c.html

Синтаксис сначала пугает, но он растет на вас. Я предлагаю укусить пулю и прорваться через нее.

Если вы хотите работать на "реальной работе", занимаясь программированием Mac с другими людьми, вам понадобится знать Objective-C (по-моему, во всяком случае).

Ответ 2

Я думаю, что короткий ответ - да, вам нужно узнать Objective-C.

"Мосты Python и Ruby" работают, но это не то, что Apple толкает или использует сам. Несколько лет назад существовал Java-мост до Cocoa, но теперь он устарел. Кто знает, что произойдет с языками, не относящимися к ObjC?

В любом случае Objective C довольно динамичен. Не так, как Ruby/Python, возможно, но это, конечно, не похоже на С++.

Ответ 3

Короткий ответ: ДА:)

Ответ 4

Наше первое приложение было построено на Python, используя мост PyObjC. Из опыта я могу сказать вам, что для создания приложения с мостом вам нужно изучить:

  • Идиосинкразии моста
  • Чтобы читать и писать код на языке моста (Python в моем случае)
  • Чтобы прочитать код в Objective-C (весь полезный пример кода находится в Obj-C)
  • Чтобы написать псевдокод в Objective-C (если вы когда-либо захотите задать вопросы в списке рассылки или аналогичным образом)
  • Cocoa

Из всех этих вещей, чтобы узнать, Cocoa является крупным. Это где действительно интересный материал приходит и то, что вам действительно нужно, чтобы обернуть вокруг себя мозг. После работы над этим проектом PyObjC мне стало довольно легко закодировать в Obj-C, хотя у меня не было предшествующего кодирования кода на C.

Итак, мой совет: сосредоточьтесь на изучении Cocoa и используйте язык, наиболее подходящий как инструмент для этого (Obj-C). Если вы когда-нибудь найдете конкретную причину использования моста, например, наличие ORM, который может иметь дело с сетевым SQL и т.д., Вы можете применить около 90% того, что вы узнали, написав первое приложение Obj-C/Cocoa в мостовом проекте.

Наконец: я действительно не понимаю сопротивления, которое многие люди, которые новичок в платформе, должны изучать Objective-C. Разве это не интересно и не приятно изучать новые вещи и строить лучшие вещи, вооруженные этими новыми знаниями?

Ответ 5

Вам определенно нужно узнать Objective-C, даже если вы решите использовать один из мостов. Apple уже продемонстрировала свое отношение к Java, что они не очень заинтересованы в предоставлении огромной поддержки или обратной совместимости с использованием Cocoa через что-либо, кроме Objective-C.

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

Ответ 6

Нужно ли мне изучать Objective-C для разработки надежных приложений для Mac?

В настоящее время да.

Поскольку пользователи Mac склонны использовать только приложения с хорошим (родным) графическим интерфейсом, я не думаю, что Mono и GTK + или любой Java GUI (Swing) будут соответствовать их потребностям.

Правильно.

Есть проекты вроде Cocoa #, PyObjC и RubyCocoa, но готовы ли они к прайм-тайму?

Cocoa #: Я не знаю, поскольку я не использую С#.

PyObjC: Сорт, но Cocoa в Python - это немного взломать, поскольку Python недостаточно Smalltalky.

RubyCocoa: Может быть. Я жду MacRuby, чтобы созреть. См. Также:

Ответ 7

Есть небольшое количество успешных приложений Cocoa, написанных на мостах, поэтому вам не обязательно использовать его так много, но вам нужно его изучить. Люди, которые пытаются научиться писать программы Mac OS на мостовых языках, сами по себе являются огромной проблемой. Мостовые языки - отличные инструменты, но они - такие вещи, которые позволяют кому-то со знанием мостового языка и Objective C стать дополнительными продуктивными, а не пропускать обучение Objective C.

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

Ответ 8

Короткий ответ - да, более длинный ответ - "вы можете использовать Objective-C ++". В любом случае вам придется изучить хотя бы некоторые из Objective-C. После того, как вы начнете копать в Cocoa (инфраструктура для создания приложений Mac OS X), инструменты Xcode и руководство Apple Design Design, вы поймете, что Objective-C - это способ пойти.

Ответ 9

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

Ответ 10

Если вы уже знаете C, Objective-C довольно легко узнать.

Ruby и Python являются жизнеспособными для "реальных" приложений Mac. В ADC есть несколько статей на тема. MacRuby выглядит так: заменяет RubyCocoa.

Я бы по-прежнему рекомендовал учиться Objective-C. Большая часть кода примера, который вы найдете, будет находиться в Objective-C, а книги, как правило, Objective-C (хотя у прагматичных программистов есть книга RubyCocoa в работе. Большинство приложений Cocoa записаны в Objective-C.

И Objective-C является динамическим. Возьмите более близкий взгляд на него, это не так страшно, как думают люди. Он Cocoa, который имеет тенденцию к более крутой кривой обучения (или unlearning).

Ответ 11

Нет, вам не нужно учиться cocoa, но стоит посмотреть, потому что это невероятно мощный api и очень хорошо документирован, если вы уже знаете C, тогда это очень просто (честно говоря, это - я знаю, что он выглядит сложный синтаксически).

Проблема с мостовым подходом в OS X, кажется, очень незрелая и предназначена только для людей, которые готовы читать документацию, связанную с основным cocoa api.

Всем честно, если вы знаете c, вы подберете основы obj-c с книгой, а Arron Hilligas ( орфография?!?!) превосходна.

Ответ 12

Если вы достаточно стараетесь, можете заниматься производством программного обеспечения, не используя Objective-C, который может быть отличным, за исключением того, что в конце дня это будет не очень хорошо. Вы потратите больше времени, пытаясь выговорить язык, чтобы сделать что-то, что не является абсолютным. В WWDC я носил рубашку с надписью "Learn Objective-C или Retire", которая не слишком хорошо сочеталась с некоторыми людьми, которые все еще держались на последних потоках жизни Паскаля, но это совершенно верно: Objective C - это то место, где это на Mac и притворяться иначе - это сделать себе плохую услугу.

Сказав это, вы определенно не должны исключать мосты на платформе для расширения вашего приложения - Билл Бумгарнер быстро указать сколько энергии Twisted Network Framework предоставляет приложениям Cocoa через мост PyObjC.

Ответ 13

Не программирование на языке сценариев оказывается не таким уж плохим, если вы используете XCode. Интеграция GDB очень хороша; Я в первую очередь парень Perl, и я считаю, что отладчик XCode очень приятный и очень простой в использовании.

Функция "исправить" действительно удивит вас тем, насколько он полезен. Представьте, что вы обнаружили ошибку в коде ObjC, исправили ее и затем сказали отладчику продолжить. Он действительно работает во многих случаях.

Попробуйте ObjC. Вы можете обнаружить, что вам это намного лучше, чем вы думаете.

Ответ 14

"нужно", ну... технически, нет.

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

Ответ 15

Ад. Вы можете использовать несколько языков для создания приятного графического интерфейса. Это просто зависит от того, какое обычное/простое решение для платформы. В случае с Mac OS X Objective-C и AppKit довольно просты в использовании. Тем не менее, я иногда использую REALBasic, и это позволяет развивать кросс-платформу (и, конечно же, производительность).

Так что действительно это зависит от того, сколько работы вы хотите вложить в нее. Вы должны научиться Objective-C, если хотите действительно серьезно заниматься разработкой Mac. Но вы можете обойтись без него.

Ответ 16

Нет. Пока Apple сильно нажимает Cocoa, Carbon по-прежнему поддерживается. Вместо этого он использует обычную C. Что касается хороших графических интерфейсов, просто используйте Interface Builder.

Однако, я должен сказать, что Objective-C - отличный язык. Это очень просто (это был мой первый язык) и очень мощный.

Ответ 17

В общем да; но даже если вы (правильно IMHO) исключили Mono, GTK и SWING, потому что они плохо вписываются в графический интерфейс, попробуйте Qt. он ДЕЙСТВИТЕЛЬНО соблюдает стандарты Mac GUI (HIG: Руководства по человеческому интерфейсу) и может быть одинаково запрограммирован на С++, Python и Java. последняя версия поддерживает cocoa и 64-разрядную.

единственное, что отсутствует в Qt, которое вы получили от Objective-C, - это те ужасные не-HIG-совместимые современные приложения Apple (да, Aperture и Final Cut, я смотрю на вас!)