Под какую мобильную платформу проще писать приложения
Продолжим разговор о том, под какую мобильную операционную систему, с технической точки зрения, проще всего писать приложения . Думаю, сегодняшняя статья будет особенно интересна тем, кто думает не только о завтрашнем дне рынка, а загадывает на будущее.
По сути, все действительно значимые на сегодняшний день мобильные платформы мы уже успели рассмотреть. И пришли к выводу, напомню, что если руководствоваться исключительно соображениями простоты написания программного кода, то стоит обратить внимание на платформы вроде Windows Mobile и Android.
Но, как я уже говорил в самом начале, рынок мобильных операционных систем отличается от рынка десктопных и серверных систем поразительным разнообразием участников. Оно, это разнообразие, с одной стороны, конечно, утомительно для разработчиков, которые вынуждены портировать вручную код своих приложений на разные платформы (Почему вручную? Об этом мы говорили в прошлой статье. Потому что толковых кросс-платформенных решений, которые могли бы обеспечить хорошую совместимость приложения со всеми значимыми мобильными платформами и минимумом переделок для этого пока, увы, нет). С другой стороны, новая платформа интересна новичкам тем, что в ней нет большого количества "зубастых" игроков рынка, давно живущих в своих рыночных нишах. Но, конечно, если новая платформа не "выстрелит", разработчики, потратившие на создание приложений для неё свои силы, время и, в конце концов, финансы, рискуют остаться "в пролёте", что вряд ли выглядит как привлекательная перспектива.
В общем, так или иначе, а смотреть на новые платформы, которые пока не конкуренты основным игрокам, смысл имеет. Ну, а раз так, давайте сейчас о них и поговорим, не откладывая в долгий ящик.
Palm WebOS
Думаю, в памяти подавляющего большинства наших читателей ещё живее живого времена, когда иметь при себе устройство с надписью Palm было даже более престижно, чем сейчас - пресловутый "яблофон". Но потом дела "пальмовой" платформы и "пальмовых" устройств стали весьма печальны, и сегодня только небольшое число фанатов бренда продолжают пользоваться устройствами, выпускаемыми под этой маркой. Однако компания-производитель не теряет надежды снова стать заметным игроком рынка мобильных девайсов, и надежды эти связаны с системой WebOS.
Как и ближайшие конкуренты, которыми являются Android и iOS, WebOS от Palm предназначена для самого широкого круга пользователей и достаточно большого диапазона устройств - не только смартфонов, но и планшетных компьютеров. Правда, пока планшетов с WebOS вы не найдете - первый из них, HP PalmPad, должен стать главным конкурентом для "яблочного" планшета iPad. Он появится уже совсем скоро - в начале 2011 года. Пока же устройств с WebOS "на борту" совсем немного - это смартфоны Palm Pre, Palm Pixi, Palm Pre 2 и Palm Pixi Plus. Главная "фишка" WebOS - технология Palm Synergy, сводящая воедино календари, контакты и сообщения. Платформа может автоматически работать с Outlook, Google, Facebook и другими популярными среди пользователей приложениями и сервисами, синхронизируя данные на телефоне с ними. Например, при изменении почтового адреса контакта он также автоматически поменяется в адресных книгах Outlook и Gmail. При этом все общение с каким-либо человеком можно просматривать в окне чата, когда сообщения отображаются независимо от того, каким образом они были переданы или приняты (SMS, IM, e-mail и т.д.). Конечно, WebOS поддерживает и ставшие стандартом для современных мобильных ОС многозадачность, работу с сенсорным экраном в мультитач-режиме, собственный магазин приложений (пока еще на фоне конкурентов достаточно пустой).
Но для нас с вами это всё лирика, ведь тема больше интересна пользователям и маркетологам HP, продвигающим эту платформу. Мы посмотрим на техническую сторону этой программной платформы. Во-первых, нужно сказать, что, несмотря на то, что в названии платформы фигурирует слово Palm, ничего общего в техническом плане эта платформа со старой Palm OS не имеет - она основана на ядре Linux, и все технологии разработки приложений под неё совсем другие. Что же касается собственно технологий разработки, то тут WebOS полностью оправдывает своё название - при разработке софта под неё понадобятся те самые технологии, которые используются при создании web-сайтов, т.е. HTML, CSS и JavaScript. И типичный Hello World для WebOS будет выглядеть примерно следующим образом.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>CameraTest</title> <script src="/usr/palm/frameworks/mojo/mojo.js" type="text/javascript" x-mojo-version="1" /> <link href="stylesheets/cameratest.css" media="screen" rel="stylesheet" type="text/css" /> </head> <body> <h2>Manually Created Project</h2> </body> </html>
Наверное, то, что используются HTML и JS, скорее хорошо, чем плохо. Потому и с некоторой природной ограниченностью этих технологий решать типовые задачи с их помощью всё-таки значительно проще, чем на сверхмощном, но от этого ничуть не менее сложном C++ на Symbian. Тем более, количество документации и примеров по разработке приложений для WebOS на английском (да и на русском) языке должно вполне устроить как тех, кто впервые сталкивается с мобильной разработкой в принципе, так и тех, кто приходит на WebOS после какой-то из конкурирующих с ней платформ. Для переноса приложений есть также специальные инструменты - и необходимость "всовывывать" тот же C++-код в рамки JavaScript'а не станет для разработчика таким уж тяжким испытанием.
Что касается инструментов для разработки, то компания Palm (вернее, уже HP) предлагает дополнения для всенародно любимого Eclipse и соответствующий духу "вебовой" операционной системы инструмент, работающий прямо в браузере, под названием Ares. Найти его можно по адресу https://ares.palm.com.
В общем и целом, можно говорить о том, что WebOS - весьма дружелюбная по отношению к разработчику система, поэтому делать софт под неё сравнительно несложно. С другой стороны, вопрос о том, стоит ли, остается открытым, ведь платформа по своей популярности далека от Android'а... Впрочем, обо всем этом я уже рассуждал выше, поэтому второй раз повторяться нет смысла.
BREW
До этого мы вели речь в основном о платформах для мобильных устройств, являющихся по своей сути GSM-телефонами. Но, помимо GSM, на рынке мобильных стандартов есть и ещё одна достаточно распространенная технология - CDMA-2000. Она, конечно, популярна намного меньше, чем GSM, и стек связанных с ней решений не так хорошо известен среднестатистическому разработчику ПО с постсоветского пространства, но это вовсе не означает, что пользователи CDMA-телефонов совсем им неинтересны.
Изначально BREW (Binary Runtime Environment for Wireless) была предложена компанией Qualcomm для CDMA-устройств, сегодня её дальнейшее развитие, Brew Mobile Platform, разрабатываемая совместно с Adobe, доступна и для GSM-телефонов. Нужно сказать, что Brew стоит рассматривать не как операционную систему, а как платформу для разработки приложений, дающую своеобразную прослойку между ОС, установленной на мобильном устройстве, и собственно приложением. Зачем? Это нужно для портативности приложений между различными встроенными on-chip операционными системами (вернее будет сказать, для создания версий приложения для разных систем "малой кровью"). Реально это можно рассматривать просто как еще одну мобильную операционную систему Brew OS, которая малоизвестна, так как часто брендируется мобильными операторами и особо широко своим производителем нигде не рекламируется.
Приложения для BREW пишутся на C/C++, а для тех телефонов, где есть виртуальная Java-машина, и на Java. Но основной язык разработки - C/C++. Код, в отличие от большинства современных мобильных платформ, исполняется не какой-то промежуточной средой, а непосредственно самой платформой, поверх которой работает BREW - для этого он компилируется в готовый бинарный вид. Избежать одного из главных бичей Win32 - различных вирусов и прочих не слишком желательных для пользователя программ - удается сертификацией всех BREW-приложений перед попаданием на рынок, за что нужно выложить четыре сотни долларов. Сложно сказать, насколько хорошо это решает проблему, но наверняка не слишком привлекает разработчиков.
Среды разработки: есть плагины для Eclipse и Microsoft Visual Studio, разработку нужно все равно вести под Windows, потому что все инструменты в SDK сделаны для этой операционной системы. Документации вполне хватает на английском языке, как и примеров кода, а вот с русскоязычными примерами и статьями некоторая "напряженка".
В общем, как видите, BREW представляет просто поразительный контраст с WebOS, предлагая гораздо более сложные методы и технологии разработки. Зато гораздо проще перенести уже имеющийся код, если потребуется.
Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by