Я очень долго игнорировал раздел «Web Technologies» на форуме нокиа, думая что там описываются приемы создания вебстраниц для мобильников. Как оказалось — зря. За ним скрывалось описание платформы WRT (Web RunTime), весьма удобного для веб-разработчика средства написания простых мобильных программ, называемых виджетами.
Виджет по сути представляет собой обычную веб-страницу, но для пользователя выглядит как отдельная самостоятельная программа, не отличимая от традиционных приложений. Для использования и написания виджетов не требуется symbian-сертификация, они представляют собой zip-архивы, но при этом устанавливаются автоматически, как и другие S60-приложения
На данный момент виджеты поддерживаются телефонами на платформах S60 3rd FP 2 и S60 5th (пополняемый список телефонов c поддержкой виджетов можно посмотреть здесь), также виджеты поддерживаются некоторыми S60-устройствами других производителй.
Т.к. в последних моделях телефонов S60 встроен браузер на основе WebKit, можно расчитывать на все возможности этого движка.
Nokia заявила поддержку следующих технологий:
Также в виджетах используют Flash Lite 3, но он почему-то пока не заявлен на Nokia Library как официально поддерживаемый.
Функциональность виджетов не ограничивается возможностями встроенного браузера. Nokia расширила классический JavaScript, дав доступ к следующим функциям:
Виджеты не имеют доступа к камере, Bluetooth, управлению WiFi и файловой системе — в целях безопасности и из-за своей направленности. Впрочем, есть методика использования приложения-вебсервера (который кстати написан на питоне) для доступа к необходимой информации через него, по HTTP.
Как уже было упомянуто, виджет — зип архив(c расширением WGZ), содержимое которого от обычной веб-странички отличается только наличием XML файла-описания. Для ознакомления можно расковырять любой готовый виджет, например STEW (сам виджет, описание).
Для разработки сложных виджетов имеет смысл ставить SDK, в нем есть поддержка отчетов о JavaScript ошибках, лог, да и рабоать с эмулятором во время разработки удобнее. Для отладки виджетов можно использовать любой дебаггер JS, тот же FireBug (хотя логичнее использовать дебаггеры с поддержкой webkit), но нужно адаптировать скрипт если в нем есть специфичный для телефона код. Например, предварительно заменить такой код совместимым с классическими браузерами, или создать объекты которые будут эмулировать специфичные для телефона функции.
Пока что не все так радужно как кажется с первого взгляда. Ощущается некоторая «сырость» платформы, и несколько обидных мелочей, например невозможность работы в фоне (исключая пока еще неясные виджеты для главного экрана), ощутимая задержка между нажатием на элемент и реакцией виджета, глюки с отработкой некоторых JS-событий (onkeyup, onkeydown, onchange), проблемы с виртуальными клавиатурами. В то же время радует что платформа развивается и дорабатывается, появляются новые разделы в документации.
Ссылки на маны и примеры (английский)
Библиотека веб-разработчика nokia
Widgets на forum.nokia.com (Landing Pad)
Информация о виджетах на nokia wiki + примеры
Виджет по сути представляет собой обычную веб-страницу, но для пользователя выглядит как отдельная самостоятельная программа, не отличимая от традиционных приложений. Для использования и написания виджетов не требуется symbian-сертификация, они представляют собой zip-архивы, но при этом устанавливаются автоматически, как и другие S60-приложения
На данный момент виджеты поддерживаются телефонами на платформах S60 3rd FP 2 и S60 5th (пополняемый список телефонов c поддержкой виджетов можно посмотреть здесь), также виджеты поддерживаются некоторыми S60-устройствами других производителй.
Т.к. в последних моделях телефонов S60 встроен браузер на основе WebKit, можно расчитывать на все возможности этого движка.
Nokia заявила поддержку следующих технологий:
- HTML 4.01
- XHTML Mobile Profiles
- CSS Level 2 revision 1 (CSS 2.1), WAP CSS
- JavaScript 1.5 (ECMA-262 3rd Edition)
- DOM
- Ajax
Также в виджетах используют Flash Lite 3, но он почему-то пока не заявлен на Nokia Library как официально поддерживаемый.
Функциональность виджетов не ограничивается возможностями встроенного браузера. Nokia расширила классический JavaScript, дав доступ к следующим функциям:
WRT 1.0+
- Хранение данных виджета (аналог cookies, которые недоступны, чаще всего применяется для настроек)
- Изменение и назначение функций на кнопки в меню приложения (софт-клавиши)
- Информации о системе и состоянии телефона
- Подсветка клавиш и функция вибрации
WRT 1.1+
- Доступ к информации об установленных приложениях, их запуск
- Доступ к информации календаря
- Доступ к адресной книге
- Доступ к навигации
- Доступ к информации о совершенных звонках (Log)
- Доступ к информации о файлах в галерее (но отсутствует доступ к самим файлам)
- Прием и отправка сообщений
- Доступ к акселерометру
Виджеты не имеют доступа к камере, Bluetooth, управлению WiFi и файловой системе — в целях безопасности и из-за своей направленности. Впрочем, есть методика использования приложения-вебсервера (который кстати написан на питоне) для доступа к необходимой информации через него, по HTTP.
Как уже было упомянуто, виджет — зип архив(c расширением WGZ), содержимое которого от обычной веб-странички отличается только наличием XML файла-описания. Для ознакомления можно расковырять любой готовый виджет, например STEW (сам виджет, описание).
Для разработки сложных виджетов имеет смысл ставить SDK, в нем есть поддержка отчетов о JavaScript ошибках, лог, да и рабоать с эмулятором во время разработки удобнее. Для отладки виджетов можно использовать любой дебаггер JS, тот же FireBug (хотя логичнее использовать дебаггеры с поддержкой webkit), но нужно адаптировать скрипт если в нем есть специфичный для телефона код. Например, предварительно заменить такой код совместимым с классическими браузерами, или создать объекты которые будут эмулировать специфичные для телефона функции.
Пока что не все так радужно как кажется с первого взгляда. Ощущается некоторая «сырость» платформы, и несколько обидных мелочей, например невозможность работы в фоне (исключая пока еще неясные виджеты для главного экрана), ощутимая задержка между нажатием на элемент и реакцией виджета, глюки с отработкой некоторых JS-событий (onkeyup, onkeydown, onchange), проблемы с виртуальными клавиатурами. В то же время радует что платформа развивается и дорабатывается, появляются новые разделы в документации.
Ссылки на маны и примеры (английский)
Библиотека веб-разработчика nokia
Widgets на forum.nokia.com (Landing Pad)
Информация о виджетах на nokia wiki + примеры