Ruby или Python не подходят для разработки приложений для iPhone или Mac из-за скорости и какого-либо компилятора, который может помочь повысить скорость?

1

Я немного читаю на Objective-C, и поскольку он поступает из Smalltalk, как и Ruby, так интересно, правда ли, что если вы используете Ruby (если Apple изменит XCode для его поддержки), для разработки iPhone или приложение для Mac, оно не подходит действительно из-за скорости? Например, Angry Birds, вероятно, не так гладко, как сейчас, если использовать Ruby, vs if Objective-C, он скомпилирован и работает как машинный код.

Но в настоящее время существует ли какой-либо способ компиляции кода Ruby или Python в машинный код, чтобы он работал в той же зоне скорости, что и программы Objective-C?

  • 2
    вау, за такие хорошие ответы, близкая полиция говорит, что это не "ответственно"
  • 0
    Meta SO вопрос об этом закрывается: meta.stackexchange.com/questions/92719/…
Показать ещё 1 комментарий

3 ответа

4
Лучший ответ

На рабочем столе это отличные языки для использования, а для Python вы можете использовать py2app для развертывания вашего приложения. Вы не хотели бы писать графические подпрограммы уровня low- в интерпретируемом языке, но для того, для чего нужны библиотеки PyGame.

(Не то, чтобы это было особенным преимуществом, но обратите внимание, что одна из самых популярных 2D-фреймворков в iOS - это порт 2D-игровой среды для Python: http://cocos2d.org/)

До недавнего времени условия разработчика iOS специально запрещали использовать интерпретатор, поэтому никто не использовал Ruby или Python на iPhone. Приложения, запрограммированные на этих языках, вероятно, начнут появляться, но пока вы еще ничего не найдете об этом.

  • 0
    Последнее соглашение с разработчиком позволяет запускать переводчика, если вы не разрешаете загружать какой-либо код из сети или из любого другого источника. Таким образом, использование любого языка в порядке.
  • 0
    не знал, ответ отредактировал
3

Ruby/Python может быть достаточно быстрым для Mac и даже для iOS. Это зависит от требований к производительности для ваших приложений. Это должно быть приемлемым для большинства случаев использования.

Apple разрабатывает реализацию Ruby, специально предназначенную для разработки приложений Mac - MacRuby. Другим вариантом было бы использовать RhoMobile, мобильную платформу разработки с использованием Ruby. Кроме того, OS X поставляется с библиотекой Python и PyObjC по умолчанию, что позволяет разрабатывать приложения cocoa с помощью python.

Возможные способы ускорения приложений Python:

  • Используйте Cython. A python- как язык, который компилируется в c, чтобы облегчить взаимодействие с c-кодом.
  • Используйте Pyrex или Shedskin. Первый компилирует подмножество python в C, последний - в C++.
  • Используйте PyPy или Psyco. Оба компилируют код Python для машинного кода на лету.

Для Ruby вы можете посмотреть Rubinius - реализация Ruby, которая компилируется в собственный код на лету.

1

Python и Ruby сами не слишком быстр, но многие программы сегодня написаны, чтобы в основном не выполнять ни одного тяжелого подъема. Например, если вы хотите сохранить PNG файл в формате JPG, вы, конечно же, будете использовать встроенные системные вызовы для этого. В этом случае не имеет значения, требуется ли 0,00001 секунд в Obj- C, или 0,001 секунды в Python для обработки щелчка мыши, когда оптимизированный системный код для преобразования изображения является одним и тем же кодом в обеих программах и принимает, скажем, 1/2 секунды для запуска. С другой стороны, если вы делаете маневр данных низкого уровня по своему собственному дизайну, тогда вам может понадобиться C. В принципе, все языки, которые вы будете использовать на Mac, позволят вам написать что-то на C и называть его с этого языка, так что даже это не замедлит вас.

Выберите язык для задачи, основанный, как правило, на том, что все остальные делают для этой проблемы, пересекаются с вашими способностями.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню