Для каких программ Objective C и Ruby идеально подходят для Mac? - PullRequest
1 голос
/ 24 марта 2010

как аутсайдер Mac, кажется, что двумя популярными языками программирования на Mac являются Objective C и Ruby.

Насколько я понимаю, основной API-интерфейс Cocoa, по-видимому, написан и оптимизирован для Objective C, но для этого также можно использовать Ruby.

Существуют ли различные области, в которых каждый язык идеален, например, я мог бы представить, что Objective C может быть идеальным для слоя с графическим интерфейсом пользователя или автономным настольным приложением, а Ruby может быть полезен для веб-сервисов и т. Д. или слои доступа к данным?

Какой язык будет хорошим выбором, например, для библиотеки служб? Можем ли мы написать библиотеку на одном языке и связать ее с основной программой, написанной на другом языке?

Если бы я хотел написать многоуровневое корпоративное приложение, использующее проектирование на основе доменов и внедрение зависимостей, какие языки могли бы удовлетворить каждую проблему? Такие вещи, как DDD и DI, распространены среди разработчиков Mac?

Просто любопытный аутсайдер.

1 Ответ

1 голос
/ 24 марта 2010

Если бы я написал большое приложение, я бы придерживался только Objective-C. Это не сложно, это наиболее поддерживаемый вариант, и, по-видимому, он останется таким. Что касается Ruby, раньше в Какао была поддержка Java, которая больше не существует. Я не хотел бы иметь большое унаследованное приложение, написанное на смеси Java и Objective-C, и иметь возможность переписывать части Java или придерживаться более старых ОС.

(Предыдущий абзац относится к написанию чисто настольных приложений. Если бы вы хотели и могли написать часть приложения, скажем, как локальный веб-сервис, это было бы совсем по-другому, поскольку поддержка Ruby была бы гораздо более надежной. люди, опыт, цели и другие переменные.)

Dependency Injection и DDD - это абстрактные идеи, так что да, вы, безусловно, можете сделать это в Какао. Я понятия не имею, сколько разработчиков Mac делают это. Что касается DI, существует сильная поддержка слабой связи в Какао и всем технологическом стеке (см. Interface Builder, KVO / KVC или привязки).

Надеюсь, это поможет.

...