Беспроводная Java — первые препятствия

Автор: content Четверг, Апрель 10th, 2008 Нет комментариев

Рубрика: Software

Разработанная Sun Microsystems среда программирования Java обладает важным преимуществом: независимостью от программного и аппаратного обеспечения конечного устройства. Единственное условие — способность устройства работать с виртуальной Java-машиной (JVM — Java Virtual Machine), которая и будет выполнять Java программы. Из этого следует фундаментальный принцип Java: код, написанный однажды, будет работать на любом устройстве с JVM.

После распространения Java на настольных ПК, весьма привлекательной оказалась и перспектива внедрения Java на мобильных устройствах. Для этого Sun Microsystems была разработана специальная версия Java — Java 2 Micro Edition, которая учитывает ограничения по памяти и вычислительной мощности мобильных телефонов, смартфонов, коммуникаторов и КПК. Казалось, что препятствий, затрудняющих переносимость кода с одного устройства на другое не будет — ведь везде используется стандартная версия JVM. Тем не менее, в реальности все оказалось совсем по-другому.

Разработчики ПО для мобильных устройств сходятся на том, что мобильная Java не обеспечивает в полной мере выполнение основного принципа Java: код написанный для одного устройства, не всегда может быть перенесен на другое устройство. Причина этого — огромное разнообразие в Java-телефонах, поступивших на рынок в последнее время. В то время, как программная часть, а именно J2ME, четко стандартизирована Sun Microsystems, аппаратная часть варьируется от производителя к производителю и у Sun просто нет рычагов влияния, при помощи которых она могла бы заставить производителей придерживаться единых стандартов при изготовлении мобильных терминалов.

Это особенно обидно в свете того, что разработчики ПО уже признали, что Java — очень мощный инструмент для создания разнообразных приложений, прежде всего игр, для мобильных телефонов. Единственное существенное препятствие для разработчиков — отсутствие единых стандартов на аппаратную часть терминалов.

По словам Брайана Родвея, управляющего директора Affinity Studios, среди клиентов которой Nokia и Crawfish Interactive, на сайте Sun имеется 56 устройств, поддерживающих J2ME. Вместе с тем имеется 24 различных разрешения дисплея. «С такими различиями в разрешении дисплеев», — говорит Брайан Родвей, — принцип переносимости кода просто перестает работать». Для того, чтобы одна и та же программа работала на всех устройствах, программистам придется написать 24 различных версии, по одной для каждого разрешения. Ситуация еще более осложняется, если принимать во внимание глубину цвета дисплея, возможности по воспроизведению звука и другие особенности конкретного устройства. «Без единых стандартов», — продолжает Брайан Родвей, — «разработка подобных приложений будет просто экономически нецелесообразна».

Проблема настолько серьезна, что это признают и производители терминалов. Тем не менее, представитель Motorola, которая на данный момент возглавляет Mobile Games Interoperability Forum, Пол Гуди утверждает, что проблема разработчиков кроется совсем в другом. «Программисты привыкли к единой программной среде, стандартным инструментам программирования, но на рынке мобильных устройств эту однородность приходится нарушать, разнося отдельные задачи между серверами, сетями, биллингом и терминалами. Нам удалось заставить это работать. Все, что мы просим от программистов — это написать игры», — говорит Гуди.

Вместе с тем, производители готовы сотрудничать с Sun в деле оптимизации и стандартизации как программной, так и аппаратной части терминалов. На регулярно проводящихся встречах ведущие производители терминалов обмениваются информацией о планах по выпуску продуктов и надеются привлечь на такие встречи и софтверных гигантов, подобных Sun.

А пока, текущее неудовлетворительное положение на рынке устройств, поддерживающих J2ME, возможно, приведет к тому, что «выживут» лишь самые популярные терминалы, которые и получат наилучшие игры и другие приложения. По оценкам разработчиков, портирование игры на каждую дополнительную модель телефона будет стоит до 20% стоимости от разработки приложения для конкретной модели. В связи с этим, даже терминалы с лучшими дисплеями и звуком, могут проиграть более дешевым и популярным трубкам, получая лишь те приложения, которые проще и дешевле всего разработать.

Яркий пример: управляющий директор Morpheme, Мэтт Сполл говорит, что компания тщательно выбирает мобильные платформы, для которых разрабатываются игры. Особый упор делается на терминалы с небольшими дисплеями, так как по мнению компании, такие трубки наиболее популярны на рынке. «Если нам удастся сделать 80% кода переносимым между 5-6 трубками — это уже будет неплохо», — говорит Мэтт Сполл, — «но разрабатывать Java игры для 24 различных разрешений дисплеев просто невозможно».

То же самое говорит и Крис Райт из Digital Bridges, распространителя мобильных игр. «Разрозненный рынок устройств приводит к тому, что нам приходится тратить много усилий на выбор терминалов, для которых предназначены игры. Стоимость разработки игр очень быстро возрастает с ростом количества поддерживаемых платформ. Мы не сможем выпускать игры для 24 различных устройств», — отмечает Крис Райт, — «А если бы мы и сделали это, то игры были бы весьма низкого качества».

Но есть и другая точка зрения. Основатель Digital Bridges, Кевин Брэдшоу, ныне руководитель инвестиционной группы Machines That Go Ping утверждает , что стандарты — не главное. «Особенность стандартов заключается в том, что они на два-три года отстают от инноваций», — говорит Кевин Брэдшоу, — «Разумеется, было бы отлично получить четкие стандарты, но у разработчиков достаточно ума, чтобы обойти проблемы самостоятельно». В этой связи Брэдшоу отмечает, что число пользователей мобильных телефонов исчисляется десятками миллионов, и в таких условиях разработка игр для многих популярных телефонов все же может оказаться экономически выгодной.

Что касается альтернативных вариантов, то недостатка пока нет. Если все же мобильная Java не оправдает возложенные на нее ожидания, то ее место может занять технология Brew. Разработанная Qualcomm, эта технология уже приобретает популярность и встраивается в различные сотовые телефоны и обеспечивает поддержку Macromedia Flash. Преимуществом Macromedia Flash является автоматическая подстройка изображения под разрешение дисплея. Приложения получаются компактными, к тому же тысячи игр уже доступны на рынке.

Кто выйдет победителем из этого соревнования — пока неясно. Обе технологии имеют свои преимущества. Если процесс стандартизации аппаратного обеспечения телефонов пройдет успешно, то не исключено, что Java победит. Стоит также учитывать и тот факт, что популярность приобретают смартфоны и коммуникаторы, которые в силу аппаратных и программных особенностей имеют стандартные разрешения дисплеев. Они могут в полной мере воспользоваться всеми преимуществами мобильной Java уже сейчас.

Автор: Sergey Chernov

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты