Исходя из backgroup Microsoft development Я немного смущен относительно того, какие языки/среды разработки доступны на Mac. Существуют ли какие-либо языки на языке C# для разработки на Mac, отличном от Java, которые я также должен учитывать? Что предпочитают конвертеры MS-OSX и почему? Я после стратегии программирования бизнес-уровня, а не игр или графики, поэтому производительность приложения не является общим драйвером для моего выбора платформы.Разработка на Apple (новая платформа)
ответ
Посмотрите на проект Mono
Цитата из wikipedia
Mono является проект под руководством Novell (ранее по Ximian) для создания стандарта Ecma совместимый, .NET-совместимый набор инструментов , включая, среди прочего, C# компилятор и Common Language Runtime. Моно может работать в ОС Linux, BSD, UNIX, Mac OS X, Solaris и Windows.
Но я действительно рекомендую идти по пути какао и получить Аарон Hillegass книгу «Какао Программирование для Mac OS X»
Objective-C с API Cocoa является путь. После того, как у вас есть это, есть также мосты между Ruby и Python API Cocoa. Тем не менее, я настоятельно рекомендую сначала изучить API Cocoa с Objective-C.
На соответствующую записку,
Silverlight является веб-«флэш-как» технология поддерживается на Windows, и Mac, и вы можете закодировать в большинстве языков .NET.
Objective-C, C, C++, Java, Ruby, Python, Php, ... Существует множество вариантов использования языков/среды разработки, в том числе C# через Mono, как говорит @epatel. Я бы сказал, что выбор языка зависит в большей степени от того, что вы разрабатываете, чем от того, на какой платформе вы идете.
C# доступен для OS X, если вы хотите использовать Mono. Для не-UI и веб-материалов это должно работать нормально.
Для разработки настольных приложений я использую REALbasic. Синтаксис и объектная модель очень похожи на Visual Basic.
Для программирования на бизнес-уровне я не уверен, что Cocoa/Objective-C станет самой продуктивной для начала; это совсем не так, как .NET и/или Java.
Я также только что купил Mac и пришел из фона разработки .NET. Я попробовал кучу разных языков и сред. Если вы собираетесь писать настольное программное обеспечение OS X, вам понадобится использовать Cocoa и Interface Builder. У IB нет аналога Windows, потому что он так сильно связан с Cocoa. Это означает, что вам нужно будет одновременно изучить Cocoa, и это нелегко сделать, если посмотреть на код.
Objective-C - это родной язык Mac, и он не так утончен, как C#. Требуется некоторое время, прежде чем вы сможете свободно читать его, потому что функции вызова выглядят иначе. Использование Python или Ruby вместо Objective-C добавляет уровень сложности до тех пор, пока вы не изучите Cocoa, но после этого кажется вполне жизнеспособным. C# через Mono отлично работает, но я не думаю, что весь мост Cocoa # реализован. Инструменты C# намного ниже, чем Visual Studio, а MonoDevelop чрезвычайно уродлива на Mac. Я решил, что, если я хочу пойти по этому маршруту, мне нужно изучить Objective-C, но пошла иначе.
Если вы пишете веб-сайт, тогда у вас есть гораздо больше гибкости.Доступны все культуры Python и Ruby, хотя есть некоторые икоты с установкой некоторых библиотек Python. Это маршрут, который я взял, потому что у меня был базовый опыт Python, и навыки почти на 100% совместимы с Linux. iTerm - лучший клиент, чем терминал. Мне не нравились большинство редакторов кода, которые я пробовал, и начал с Smultron, который не намного больше, чем очень грамотный текстовый редактор с подсветкой синтаксиса. Есть определенно множество вариантов.
Независимо от того, как вы к нему подходите, вы потратите много времени на обучение. Я постоянно натыкался на синтаксис Python, но я, наконец, хорошо разбираюсь в этом. Документы SQLAlchemy (Python ORM) почти всегда имеют открытое окно браузера. Я также укусил пулю и начал использовать Vim (MacVim специально), что на самом деле интересно изучать, потому что всегда есть другая команда, которая делает именно то, что вы хотите. (Например, я устал идти в линию, нажимая $, чтобы идти до конца, ударяя, чтобы добавить, а затем нажмите Enter, чтобы начать новую линию, чтобы я попал в Google и обнаружил, что могу просто нажать o.)
Цель-C и какао - это путь к уверенности. Довольно часто разработчики делают неправильное представление о том, что Objective-c не «детализирован», а «точно настроен». Но я могу заверить вас, что это главный дом за некоторыми из лучших приложений в бизнесе. Существует заметная кривая обучения.
Я бы забыл моно, он работает не очень хорошо. Медленные, багги и system.drawing/forms не работают должным образом при распространении.
С C# Я бы пошел с мономакой. Вы получаете доступ ко всем mac apis, но в C#. Это похоже на половину дома. Вместо форм вы используете NSWindow, а вместо элементов управления вы используете NSView. Вместо рисования вы используете графический контекст. Недостатком является то, что документация немного тонкая, и она стоит.