Программное обеспечение имеет тенденцию постепенно переходить к открытым лицензиям, так как это не только активизирует развитие ПО, но и одобряется государственными структурами многих стран. В мобильных устройствах законы развития программного обеспечения те же: ГНУ/Линуксцентр недавно привез в Россию полностью открытый смартфон OpenMoko Neo Free Runner на базе Linux (причем открыта и программная, и аппаратная платформа). Прежде всего им заинтересовались разработчики. К примеру, один из наших клиентов, незамедлительно получивший заказанный заранее OpenMoko, сделал для него необходимое приложение.
Говорить о концепции устройства на базе ОС Android пока преждевременно. Главное - что есть открытая альтернатива Symbian и Windows Mobile. Увы, эксперименты с Linux в мобильных устройствах провалились. Таким образом, Google собирается занять ту самую нишу, которую безуспешно пытался занять Linux [до Google - прим. ред]. Честно скажу, что не знаю, как этот процесс будет происходить. Что же касается возможных преимуществ, связанных с открытым кодом Google Android, то позволю себе предположить, что сопротивление OpenSource-софту на рынке коммуникаторов будет гораздо более упорным, чем на рынке настольных ПК и ноутбуков, поскольку уровень пиратства там заметно выше.
Сейчас на рынке мобильных устройств практически нет конкуренции - есть Windows Mobile, Symbian. Android же, благодаря открытости, имеет все шансы на бурное развитие. Правда, большого влияния на идеологию мобильных устройств я не ожидаю, несомненно, что Google Android, соперничая с коммерческими продуктами, будет способствовать улучшению их пользовательских характеристик и, возможно, снижению цены.
В 1997 году компания Apple закрыла проект Newton и отказалась от попыток пробиться на рынок карманных компьютеров.
Лишь десять лет спустя она нащупала обходной путь: теперь карманные компьютеры Apple подаются под видом медиаплееров и мобильных телефонов. Однако в "компьютерности" iPod Touch и iPhone сомневаться не приходится. В Apple не без гордости утверждают, что эти устройства используют в качестве операционной системы полноценную OS X, почти такую же, как в Маках.
Понимать это утверждение буквально, увы, не стоит. Мобильный вариант OS X хоть и построен на том же ядре и базовых библиотеках, но не способен исполнять приложения, написанные для настольной версии. Мало того, целый год iPhone просуществовал и вовсе без официальной поддержки сторонних программ. Даже после выпуска SDK и недавней отмены подписки о неразглашении закрытость мобильной платформы Apple остается притчей во языцех. Для разработки необходимо купить у Apple специальный ключ, который, впрочем, не гарантирует, что готовую программу когда-нибудь увидят ользователи. Устанавливать на iPhone можно лишь те приложения, которые имеются в магазине App Store, полностью контролируемом Apple. Компания оставляет за собой право отказаться от добавления новой программы в App Store.
Но пока у Apple есть возможность пользоваться всеобщей эйфорией и диктовать программистам свои условия. Поток желающих не иссякает, хотя для разработки под iPhone нужен компьютер с Mac OS X, дозволение Apple и знание редкого языка Objective С. Google находится в другой ситуации, поэтому компания пытается устранить трудности, способные отпугнуть сторонних разработчиков.
"Разработка под мобильные платформы всегда имела кучу особенностей. Инженеры Google в своей системе Android постарались максимально приблизить разработку к разработке обычных настольных приложений", - объясняет Сергей Грицюк (Beetaun). Java, в отличие от Objective C, используется повсеместно, и многим программистам остается освоить лишь новые API, среди которых встреча ются весьма любопытные. Например, в Android есть механизм, позволяющий перехватывать запросы других приложений, которые обычно обрабатывают встроенные компоненты системы.
В качестве основного средства разработки создатели приложений для Android, как правило, используют всем известный Eclipse. "Основное средство одно - эмулятор и хороший плагин под Eclipse, позволяющий эффективно интегрировать среду разработки с этим эмулятором.
Разработчику, в принципе, ничего больше и не надо", - говорит Андрей Тапеха.
Впрочем, свои ограничения есть и в Android. "Существуют раздражающие запреты, с помощью которых Google и другие члены Open Handset Alliance ограничивают доступ разработчиков к функциям системы, - рассказывает Алексей Иванов. - Ограничения API и явно недостаточная документированность мне кажутся более жесткими, чем, скажем, в MS Windows".