Найти - Пользователи
Полная версия: Python for S60 2.0.0 вышел
Начало » Mobile Python » Python for S60 2.0.0 вышел
1 2 3 4
gabin
11.02.2010 вышел Python for S60 2.0.0 и эту новость на форуме оставили без внимания :|…

После года разработки представлен релиз проекта PyS60 2.0, представляющего собой версию интерпретатора Python и сопутствующих модулей для мобильной платформы S60. Из наиболее интересных новшеств PyS60 2.0 можно отметить добавление дополнительной поддержки сенсорных экранов, расширение числа доступных для разработчиков графических примитивов и поддержку создания для скриптов цифровых подписей, позволяющих распространять программы на Python через сервис Nokia Ovi.

RELEASE NOTES - что нового
Скачать
igor.kaist
gabin
добавление дополнительной поддержки сенсорных экранов
Это было, начиная с версии 1.9.3
Одно из замечательных нововведений, это возможность установки python runtime и программ на разные диски. Раньше все нужно было ставить на один и тот же диск.
И еще: Теперь, при установке программ, написанных на python, при отсутствующем runtime, будет предложено скачать и установить его. Это делается через стандартное меню “Обновление ПО”.
Кстати, “Обновление ПО”, само будет предлагать скачать и установить python (на новых моделях). Это значит, что nokia наконец то признала, что на python можно писать хорошие приложения для symbian.
P.S. хм… 90% заметно популярных приложений для symbian 9.4 (работающие именно на новой ветке питона) оказывается написал один человек, который я :)
nJLyTo
gabin
расширение числа доступных для разработчиков графических примитивов
я смотрел API, но такого не нашел… Здесь речь идет о сенсорных телефонах?

igor.kaist, начиная с версии 1.9.0 Питон и работать стал чуть шустрее, что тоже не может не радовать
igor.kaist
nJLyTo
я смотрел API, но такого не нашел…
Аналогично. gabin, что то я не нашел такого ни в whats new ни в доках, откуда такая инфа? Или просто некорректный перевод?
nJLyTo
начиная с версии 1.9.0 Питон и работать стал чуть шустрее
Вот здесь я наверное не соглашусь :) по крайней мере запуск приложения стал гораздо медленнее, о чем в принципе писали.

Еще один существенный плюс в том, что с новой веткой наконец то мы избавились от зоопарка модуль паков. Объясню, для тех, кто не в теме:
В ветке 1.4.х, на symbian 9 есть проблема с подключением pyd библиотек. Единственно приемлемым вариантом было, это создание “модуль паков”, которые включали в себя pyd библиотеки (а иногда и py модули). Этих разных паков развелось великое множество, с разными версиями. И получалось так, что одна программа требовала один модуль пак, вторая другой, и т.д. Проблема усугубилась тем, что туда кроме pyd стали вкладывать и pure python модули, которые иногда представляли из себя велосипеды, которые можно было и включить в поставку с программой. Вот пользователи и мучились, а программисты школьники настаивали на необходимости установки именно конкретного модуль пака, не смотря на то, что программа использует только стандартные модули. Отсюда и пошли стереотипы, что питон очень сложный в установке, и люди переспрашивают, какой именно модуль пак нужен для установки твоей программы.
С веткой 1.9.х (теперь уже 2.х) все проще. Модуль паки, бессмысленны! Теперь, приложение может работать только с теми pyd, которые были включены в sis пакет. Минус в том, что в sys/bin может оказаться много одинаковых файлов, в названии которых лишь изменен uid (ну и в хедерах либы тоже), но например, используя модуль miso, я буду точно уверен в том, что пользователю ничего не нужно делать для того, чтоб это работало!
gabin
igor.kaist
Аналогично. gabin, что то я не нашел такого ни в whats new ни в доках, откуда такая инфа? Или просто некорректный перевод?
igor.kaist, скорее недостоверная инфа с сайта, с которого я копипастил ).
igor.kaist
P.S. хм… 90% заметно популярных приложений для symbian 9.4 (работающие именно на новой ветке питона) оказывается написал один человек, который я
Так держать , успехов в новых идеях
igor.kaist
Кстати, “Обновление ПО”, само будет предлагать скачать и установить python (на новых моделях). Это значит, что nokia наконец то признала, что на python можно писать хорошие приложения для symbian.
Говорится, что будет автоматически python ставиться .
Кстати модели: 6220 classic, N86 8 MP, N85, 6720 classic, 6730 classic, N96, 5730 XpressMusic, N78, 5630 XpressMusic,
E52, E55, 6710 Navigator, E75, N79, 5800 XpressMusic, 5530 XpressMusic, 5230, X6 ,N97 mini .

В новой версии также устранили утечку памяти в коде интерпретатора, возможно это ускорит скорость выполнения приложений ….
igor.kaist
не, автоматически ставиться не будет, а только будет предлагаться установиться. У 5800, кто то мне говорил, вообще хотели с прошивкой поставлять :)
gabin
возможно это ускорит скорость выполнения
Нет, тут память и скорость к сожалению не связаны.
На скорость работы я лично вообщем то не жалуюсь. , если приноровиться получается иногда писать приложения, которые работают быстрее, чем аналоги на Си.
Единственное что, хотелось бы побольше контролов в UI, а то их ой как не хватает, и приходится что то рисовать ручками, теряя при этом совместимость между 9.4 и 9.1-9.3. Да и баги с Listbox'ами до сих пор не исправлены на тач платформе :(
nJLyTo
igor.kaist
На скорость работы я лично вообщем то не жалуюсь
хм, а мне кажется, что пора уже создать отдельную тему по оптимизации кода, т.к. накопилось массу нерешенных вопросов. Неплохо бы собрать все удачные решения под одной темой, где каждый бы делился своими наработками, а так же мог помочь другим :-)
sypper-pit
еще было б прикольно получать из питонячего кода джаву(вдруг телефон другой протформы и не воспринимает питон), а так рас и отправил готовую прогу хоть и слегка с кривым кодом :)
Ferroman
Jython?
igor.kaist
Ferroman
Jython?
где то уже писали об этом. Говорили о том, что сложнее калькулятора написать что то проблематично.
Да и код портировать под jython очень трудновато. Программе нужно gui, и если с PyS60 это решается модулем appuifw, который реализует интерфейс к симбиановскому API, то с jython придется переписать UI, используя классы j2me.
nJLyTo
хм, а мне кажется, что пора уже создать отдельную тему по оптимизации кода, т.к. накопилось массу нерешенных вопросов.
Оптимизировать можно так же, как и обычный питоновский код, тут больше выжать очень сложно.
Чуть чуть пошаманить можно с вызовами API симбиана. Например:
Когда я начал писать под symbian 9.4, где большое разрешение экрана, очень не хватало производительности в графике. С релизом 1.9.7 (или 1.9.6, уже не помню), в api появились две замечательные команды begin_redraw() и end_redraw(), которые включали и отключали автоматическую прорисовку UI сервера (как то так) для canvas.
Обычно все прорисовки canvas.blit, собираю в функции redraw (которая так же указывается в конструкторе Canvas(redraw_callback=redraw). Далее, когда мне нужно было перерисовать экран принудительно, вызывал redraw вручную. Это всегда работало, но если нужна какая то анимация, или изображение постоянно меняется (кинетическая прокрутка, рисовалка и пр.), ui сервер периодически тормозил все, самостоятельно вызывая redraw. Теперь же, когда на экране нужно что то нужно перерисовать, я вызов redraw оборачиваю в
canvas.begin_redraw()
redraw()
canvas.end_redraw()
Это увеличило производительность графики в несколько раз. Без этих API, не было бы программы XpressSketch (самая быстрая рисовалка на сегодняшний день), а в программах XpressEXIF, XpressLib не было бы кинетической прокрутки, которая так нравится пользователям :)
P.S. Вообще, самое ресурсоемкое делают Си расширения, коих иногда не хватает на симбиане, в отличии от PC. Недавно у меня товарищ долго смеялся, когда я ему рассказал что у нас в офисе система видеонаблюдения написана на питоне. Но после того, как я ему показал вывод htop с сервера, он задумался: запись с 4 IP камер делалась скриптом в 1,5 кб, который был написан за 20 минут.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB