Новый набор инструментов компании Palm для ее операционной системы WebOS, получивший название Mojo, содержит полную библиотеку для создания приложений и эмулятор, работающий под управлением ПО Sun VirtualBox. Этот набор включает также плагин, позволяющий писать программы, не выходя из среды Eclipse.
Mojo, как и многие другие плагины для Eclipse, прост в установке и использовании. Если вы знакомы с особенностями написания Интернет-приложений, вы будете чувствовать себя уверенно при создании файлов HTML и сценариев JavaScript. Кроме того, среда разработки Eclipse полностью поддерживает редактирование файлов HTML, JavaScript и CSS, что значительно упрощает труд программиста.
Конечно, недостатком (самой среды Eclipse, а не плагина) является то, что вы не можете писать откомпилированные приложения непосредственно на Cи или Cи++. Более ранние версии продуктов Palm предоставляли такую возможность. Для некоторых разработчиков это может породить трудности. Набор инструментов для WebOS содержит полную библиотеку для доступа к аппаратной платформе. Это существенно больше того, что обычно нужно для интернет-приложений. Но по-прежнему сохраняется проблема скорости исполнения приложений и, что важнее, обработки графики (последнее ограничивает возможности создания игр).
В целом, однако, благодаря Eclipse-плагину вы можете с легкостью писать приложения для WebOS.
Инсталлировать плагин Eclipse с помощью имеющейся в этой среде разработки функции установки довольно просто. После инсталляции Eclipse предложит вам несколько помощников для написания приложений под WebOS.
Во время тестирования я создал новый проект WebOS, просто выбрав в меню New Project wizard -> Palm WebOS -> Mojo Application. Помощник запросил имя проекта, отдельно — заголовок проекта, имя его создателя, идентификатор и номер версии.
Идентификатор представляет собой имя класса. Хотя код пишется на языке JavaScript, при этом используются соглашения, принятые в Java. По умолчанию создается идентификатор вида com.имя_создателя.заголовок_проекта. В моем случае это выглядело как com.ziffdavisenterprise.mojoapp1.
После щелчка по кнопке Finish будут созданы все основные файлы нового проекта для WebOS.
В таком проекте используется веб-технология. Иначе говоря, приложение запускается в браузере под управлением WebOS (которая в конечном счете основана на Linux). Приложения состоят из различных файлов формата HTML, файлов JavaScript и таблиц стилей. Все они организованы в виде фиксированной древовидной структуры с каталогами для приложений (здесь находятся файлы HTML и JavaScript), изображений и таблиц стилей.
Приложения организованы в виде так называемых сцен (scenes). Сцена — это по сути файл HTML и соответствующий файл JavaScript. Файлы JavaScript именуются “ассистентами” (assistants) и состоят из сопровождающего HTML-файл программного кода на языке JavaScript в виде единого объекта и соответствующих методов.
Чтобы помочь разработчикам при создании сцен в рамках Eclipse, в плагине имеется помощник, который автоматически создает костяк файлов. Во время тестирования я просто щелкал правой кнопкой мыши на своем проекте в окне Project Explorer и выбирал в меню New -> Mojo Scene. Открывалось окошко для задания имени сцены (например, FirstScene). После этого плагин создавал основные файлы. Файл JavaScript содержит функцию конструктора, а также несколько методов, которые обрабатывают различные события на уровне сцены (такие как активация, деактивация и очистка).
Поскольку приложения используют браузер, их можно создавать так же, как обычные интернет-приложения, т. е. писать файл HTML с тегами DIV и таблицами стилей. WebOS включает стандартную таблицу стилей, которая обеспечивает единообразие внешнего вида и поведения приложений, а также целый набор средств управления, намного более широкий по сравнению с обычно используемым в интернет-приложении. Эти средства управления именуются виджетами и представляют собой кнопки, меню и диалоговые окна. Встроенные библиотеки содержат полные API-интерфейсы для доступа к виджетам и управления ими.
Официально плагин WebOS предназначается для работы с Eclipse версии 3.4.2 (кодовое название Ganymede). Однако я успешно запускал его с Eclipse версии 3.5 (кодовое название Galileo) и не сталкивался ни с какими проблемами.