Pull to refresh

Запах WebOS на S60 или Nokia WRT Widgets

Reading time3 min
Views1.1K
STEWЯ очень долго игнорировал раздел «Web Technologies» на форуме нокиа, думая что там описываются приемы создания вебстраниц для мобильников. Как оказалось — зря. За ним скрывалось описание платформы WRT (Web RunTime), весьма удобного для веб-разработчика средства написания простых мобильных программ, называемых виджетами.

Виджет по сути представляет собой обычную веб-страницу, но для пользователя выглядит как отдельная самостоятельная программа, не отличимая от традиционных приложений. Для использования и написания виджетов не требуется 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, дав доступ к следующим функциям:

AccuWeather
WRT 1.0+

  • Хранение данных виджета (аналог cookies, которые недоступны, чаще всего применяется для настроек)
  • Изменение и назначение функций на кнопки в меню приложения (софт-клавиши)
  • Информации о системе и состоянии телефона
  • Подсветка клавиш и функция вибрации

WRT 1.1+

  • Доступ к информации об установленных приложениях, их запуск
  • Доступ к информации календаря
  • Доступ к адресной книге
  • Доступ к навигации
  • Доступ к информации о совершенных звонках (Log)
  • Доступ к информации о файлах в галерее (но отсутствует доступ к самим файлам)
  • Прием и отправка сообщений
  • Доступ к акселерометру

Виджеты не имеют доступа к камере, Bluetooth, управлению WiFi и файловой системе — в целях безопасности и из-за своей направленности. Впрочем, есть методика использования приложения-вебсервера (который кстати написан на питоне) для доступа к необходимой информации через него, по HTTP.
Как уже было упомянуто, виджет — зип архив(c расширением WGZ), содержимое которого от обычной веб-странички отличается только наличием XML файла-описания. Для ознакомления можно расковырять любой готовый виджет, например STEW (сам виджет, описание).

twitwianДля разработки сложных виджетов имеет смысл ставить SDK, в нем есть поддержка отчетов о JavaScript ошибках, лог, да и рабоать с эмулятором во время разработки удобнее. Для отладки виджетов можно использовать любой дебаггер JS, тот же FireBug (хотя логичнее использовать дебаггеры с поддержкой webkit), но нужно адаптировать скрипт если в нем есть специфичный для телефона код. Например, предварительно заменить такой код совместимым с классическими браузерами, или создать объекты которые будут эмулировать специфичные для телефона функции.

Пока что не все так радужно как кажется с первого взгляда. Ощущается некоторая «сырость» платформы, и несколько обидных мелочей, например невозможность работы в фоне (исключая пока еще неясные виджеты для главного экрана), ощутимая задержка между нажатием на элемент и реакцией виджета, глюки с отработкой некоторых JS-событий (onkeyup, onkeydown, onchange), проблемы с виртуальными клавиатурами. В то же время радует что платформа развивается и дорабатывается, появляются новые разделы в документации.

Ссылки на маны и примеры (английский)
Библиотека веб-разработчика nokia
Widgets на forum.nokia.com (Landing Pad)
Информация о виджетах на nokia wiki + примеры
Tags:
Hubs:
+35
Comments21

Articles

Change theme settings