PyObjC / Рубиновый мост. Стоит ли это? - PullRequest
4 голосов
/ 24 ноября 2010

Несколько лет назад, желая написать программное обеспечение для Mac и иметь большой опыт работы с Java WebObjects, я попробовал java bridge, но решил прикусить пулю и изучить Objective-C (к счастью, так как я бы не хотел, чтобы мое программное обеспечение было устаревшим с этим мостом). Позже я дурачился с RubyCocoa. Я выучил Ruby (он мне действительно показался интересным), но обнаружил, что мост был далек от зрелости или стабильности, и в конце я закончил перенос кода обратно в Objective-C.

С тех пор, как прошли годы, мне интересно, стоит ли тратить некоторое время на MacRuby или даже изучать Python для использования PyObjC. Как бы мне ни нравился Objective-C, я вспоминаю, как был более продуктивен с мостом Ruby, когда он не падал. Я просто не хотел бы тратить время на то, чтобы снова получить аварийное программное обеспечение.

Ответы [ 4 ]

3 голосов
/ 24 ноября 2010

Я бы сказал, что MacRuby - это путь, если вы хотите попробовать один из мостов. Он разрабатывается Лораном Сансонетти, старшим инженером-программистом в Apple, работающим над Ruby.

Это довольно функционально и прекрасно интегрируется с собственными фреймворками. Стоит посмотреть, особенно если у вас уже есть опыт работы с Ruby.

1 голос
/ 24 ноября 2010

Если вы хотите изучить программирование на Какао, игнорируйте мосты.Они только усложнят написание приложений Какао, и вы потратите кучу времени на ускорение.

В частности, вам нужно будет изучить Objective-C, чтобы понимать и API, и шаблоны проектированиясистемные рамки.Кроме того, вся документация и инструменты написаны специально для поддержки Objective-C.

Большая часть вашего времени на изучение программирования Какао будет потрачена на указанные API и шаблоны проектирования;для сравнения, реальная языковая часть относительно мала.

Обратите также внимание, что мосты обязательно сталкиваются с несовпадением импедансов при попытке сопоставления не совсем одинаковых функциональных возможностей от одного языка к другому.1008 * Честно говоря, если вы знаете Ruby, тогда Objective-C должен быть тривиально прост;объектные модели очень похожи.

0 голосов
/ 05 апреля 2013

Вот почему это НЕ пустая трата времени. В некоторых случаях Ruby и Python имеют потрясающие и хорошо разработанные библиотеки, которые недоступны в Objective-C и вряд ли будут доступны. Это один из лучших вариантов использования.

Пример: вы не хотели бы переопределять Rails в Objective-C (некоторые могут это сделать), но вы могли бы легко использовать его, частично, для приложения Cocoa с MacRuby.

Ну, МакРуби мертв. Есть коммерческий RubyMotion.

Есть еще PyObjc, RubyCocoa и mruby.

Один из других интригующих сценариев использования - предоставить возможность сценария, которая не воняет, как AppleScript и OSA.

Есть веские причины.

0 голосов
/ 24 ноября 2010

Мое личное мнение - использовать нативные приложения ObjC для Mac.

Используйте Ruby / Python, где они должны нормально работать без ненадежных интерфейсов с сомнительной поддержкой.

...