Не обязательно нокия нужна…
Советую посмотреть этот список платформ, на которые портировали python, возможно вы пользуетесь, сами того не зная, девайсом, на котором можно программировать на питоне :)
Вот наконец-то выдался удобный момент применить любимый язык для написания софта для любимого смарта (:
Скажите, а как на S60 с быстродействием? Сильна разница от написанных с помощью SDK от Nokia?
Надеюсь интерпретатор питона не тяжелый (сколько кушает оперативы и т.д.) под этой платформой?
Производительность конечно меньше чем если бы писалось на Си. Но для многих задач хватает.
Тем более, часто используются сишные обертки над нативным API, и получается, что в скорости мы практически не проигрываем. Посмотрите на мои приложения, описанные в предыдущем топике. Они работают быстрее, чем аналоги на Си :)
Что касается оперативной памяти, тут немного посложнее. Приложение, которое рассмотрено в этом топике, пожирает 5 mb ОЗУ.
Очень интересная статья.
Но есть несколько вопросов. При попытке установить рантайм на телефон (nokia N78) пишет вот такую вот ошибочку:
«невозможно установить. компонент встроен»
Не подскажите пути решения этой проблемы?
Вы точно устанавливаете python 1.9.7? В ранних версия ветки 1.9.х была такая проблема, связанная с тем, что python runtime устанавливает так же PIPS (P.I.P.S. Is POSIXon Symbian) библиотеки, и если они уже были установлены, вылезает такая ошибка… Давненько о ней мне не писали :)
Решение можно попробовать удалить следующее из диспетчера приложений:
-pips installer
-pips upgrate
-signal server
-pipes upgrate
а затем установить python runtime
Время загрузки приложения в примере — 8 секунд. Это довольно много, т.к. функционал минимален.
Я понимаю большую часть из этого времени происходить запуск интерпретатора. Так?
Можно ли это как-нибудь оптимизировать?
И еще эта пустая командная строка при запуске…
Нет в этом случае запуск долгий из за упакованных в zip дополнительных библиотек. То есть с таким же временем запуска можно сделать полноценный twitter клиаент, например :) Кроме этого время запуска можно уменьшить, не запаковывая доп библиотеки в zip, и закомпилировать их в pyc (pyo)
Время запуска интерпретатора замерить просто, создав проект с простым print 'hello world', или запустив python script shell.
С «командной строкой» немного сложнее. Дело в том, что пока мы не зададим app.body=Canvas, это строка будет перед глазами. Я обычно первым делом выводу на экран splash картинку, а потом делаю все остальное, например подгружаю ресурсы, импортирую большие библиотеки. Посмотрите на мои другие программы, там эту строку почти не видно.
Подскажите, пожалуйста, а нет ли способа дебажить скрипты прямо на компьютере, в каком-нибудь эмуляторе. Ведь тот способ что вы описали не совсем удобен.
Пишем наше первое приложение на python for s60