Разработка на Apple (новая платформа) - PullRequest
5 голосов
/ 01 марта 2009

Исходя из группы разработчиков Microsoft, я немного озадачен тем, какие языки / среды разработки доступны на Mac. Есть ли какие-либо языки, подобные C #, для разработки на Mac, кроме Java, которые я также должен рассмотреть? Что предпочитает конвертировать MS в OSX и почему? Я придерживаюсь стратегии программирования бизнес-уровня, а не игр или графики, поэтому производительность приложений не является основным фактором для выбора платформы.

Ответы [ 8 ]

12 голосов
/ 01 марта 2009

Objective-C с API Какао - это путь. Как только вы их отключите, между Ruby и Python появятся мосты с API-интерфейсом Cocoa. Однако я бы настоятельно рекомендовал сначала изучить API-интерфейс Cocoa с Objective-C.

5 голосов
/ 04 марта 2009

Я также только что купил Mac и пришел из среды разработки .NET. Я пробовал кучу разных языков и сред. Если вы собираетесь писать настольное программное обеспечение OS X, вам нужно будет использовать Cocoa и Interface Builder. У IB нет аналога для Windows, потому что он так сильно привязан к Какао. Это означает, что вам нужно будет одновременно изучать Какао, а это непросто сделать, посмотрев на код.

Objective-C - это родной язык Mac, и он не так совершенен, как C #. Требуется некоторое время, прежде чем вы сможете прочитать его свободно, потому что вызывающие функции выглядят иначе. Использование Python или Ruby вместо Objective-C добавляет сложность только до тех пор, пока вы не изучите Какао, но после этого оно кажется вполне жизнеспособным. C # через Mono работает нормально, но я не думаю, что весь мост Какао # реализован. Инструменты C # имеют гораздо более низкое качество, чем Visual Studio, а MonoDevelop крайне уродлив на Mac. Я решил, что если я хочу пойти по этому пути, то мне нужно изучить Objective-C, но пошел в другом направлении.

Если вы пишете веб-сайт, у вас гораздо больше гибкости. Доступны целые культуры Python и Ruby, хотя есть некоторые проблемы с установкой некоторых библиотек Python. Я выбрал этот путь, потому что у меня был некоторый базовый опыт работы с Python, и навыки почти на 100% совместимы с Linux. iTerm - лучший клиент, чем Terminal. Мне не понравились большинство редакторов кода, которые я пробовал, и начал с Smultron, который не намного больше, чем очень компетентный текстовый редактор с подсветкой синтаксиса. Есть определенно тонны вариантов.

Независимо от того, как вы к этому подходите, вы будете тратить много времени на обучение. Я постоянно спотыкался о синтаксисе Python, но, наконец, я в этом разбираюсь. Документы SQLAlchemy (Python ORM) почти всегда имеют открытое окно браузера. Я также укусил пулю и начал использовать Vim (в частности MacVim), который на самом деле очень интересен, потому что всегда есть другая команда, которая делает именно то, что вы хотите. (Например, я устал ходить по строке, нажимать $, чтобы перейти в конец, нажимать клавишу a, чтобы добавить, а затем нажимать ввод, чтобы начать новую строку, поэтому я погуглил и обнаружил, что могу просто нажать o.)

3 голосов
/ 01 марта 2009

Взгляните на Mono проект

Цитата из Википедии

Mono - это проект, возглавляемый Novell (ранее Ximian) для создания совместимого со стандартом Ecma набора инструментов, совместимого со стандартом Ecma, в том числе компилятора C # и среды исполнения Common Language. Mono может работать в операционных системах Linux, BSD, UNIX, Mac OS X, Solaris и Windows.

Но я действительно рекомендую пойти по пути Какао и получить книгу Аарона Хиллегаса «Программирование Какао для Mac OS X»

2 голосов
/ 01 марта 2009

Objective-C, C, C ++, Java, Ruby, Python, Php, ... Существует множество вариантов выбора языков / сред разработки, включая C # через Mono, как говорит @epatel. Я бы сказал, что выбор языка больше зависит от того, что вы разрабатываете, чем от того, с какой платформы вы работаете.

1 голос
/ 05 марта 2009

Objective-C и Какао - путь к успеху. Довольно часто разработчики ошибочно полагают, что Objective-c не "настолько детализирован" или "как хорошо настроен". Но я могу заверить вас, это власть за некоторыми из лучших приложений в бизнесе. Существует заметная кривая обучения.

0 голосов
/ 10 января 2013

Я бы забыл моно, это не очень хорошо работает. Медленно, с ошибками и system.drawing / формы не работают должным образом, когда вы распространяете.

С c # я бы пошел с мономаком. Вы получаете доступ ко всем Mac API, но в C #. Это как дом на полпути. Вместо форм вы используете NSWindow, а вместо элементов управления - NSView. Вместо рисования вы используете графический контекст. Недостатком является то, что документация немного тонкая и стоит.

0 голосов
/ 01 марта 2009

C # доступен для OS X, если вы готовы использовать Mono. Для не-пользовательского интерфейса и веб-контента это должно работать просто отлично.

Для разработки настольных приложений я использую REALbasic. Его синтаксис и объектная модель очень похожи на Visual Basic.

Что касается программирования на уровне бизнеса, я не уверен, будет ли Cocoa / Objective-C наиболее продуктивной для начала; это сильно отличается от .NET и / или Java.

0 голосов
/ 01 марта 2009

На связанной ноте,

Silverlight - это веб-технология, похожая на flash, поддерживаемая в Windows и Mac, и вы можете кодировать на большинстве языков .net.

...