проблемы переносимости КРИС КАСПЕРСКИ АКА МЫЩЪХ Спецвыпуск: Хакер, номер #064, стр. 064-046-2 brew Двоичная среда исполнения для беспроводных устройств (Binary Runtime Environment for Wireless, сокращенно BREW) — альтернативная программная платформа, разработанная Qualcomm. В наших мозгах эта компания упорно ассоциируется с аббревиатурой CDMA, где, собственно, и зародился BREW, а на GSM-телефоны он был перенесен значительно позднее. Как понятно по названию, это двоичная среда! В состав бесплатно распространяемого SDK входит полноценный С/С++-компилятор ARM Builder, который генерирует высокопроизводительный код (несомненный плюс). Какое-то время назад все были убеждены, что Qualcomm завоюет мир. Темпы, которыми развертывалось BREW, вселяли оптимизм. Смущало лишь то, что данная технология поддерживает лишь семь моделей телефонов, в то же время Qualcomm требует обязательной сертификации всех приложений. С одной стороны, так гарантировалось высокое качество кода, с другой — разработчики высаживались на геморрой, поэтому позднее развитие BREW зашло в тупик. execution engine Execution Engine — разработка компании In-Fusio, еще один конкурент на голову Sun, которая попыталась обойти ограничения, накладываемые J2ME. Здесь представлен не двоичный код (как в BREW), а виртуальная машина (как в Java), только более производительная. В среднем быстродействие выше в 10-15 раз, а на некоторых операциях — в 30 раз! Кроме того, Execution Engine поддерживает ряд жизненно важных графических функций (масштабирование, панорамная прокрутка, трассировка лучей, вращения), которые J2ME-программисты вынуждены реализовывать самостоятельно на медленном байт-коде. Execution Engine делает это непосредственно из машинно-зависимых библиотек, специальным образом оптимизированных под каждую поддерживаемую модель телефона. Вот только поддерживается совсем немного моделей: Philips Fisio 530/825, Alcatel OT 735/535/531, Panasonic X70/G60, Sagem myX-5/myG-5/myX-6... Добавлю и то, что SDK далеко не бесплатен, что отталкивает многих разработчиков. wge Wireless Graphics Engine (сокращенно WGE) от компании TTPCom содержит удобный API, ориентированный на создание двух- и трехмерных игр. Программировать на нем — одно удовольствие, к тому же SDK распространяется на бесплатной основе. Единственным недостатком остается ограниченный круг поддерживаемых телефонов. mophun Весьма перспективная платформа. Разработана компанией Synergenix и позиционируется как «карманная консоль на базе ПО». Производительность — выше всяких похвал. Там, где J2ME показывает 400 KIPS, Mophun выдает 60 MIPS, что в 150 раз быстрее. Хорошо, конечно, но ассортимент поддерживаемых устройств, как легко догадаться, невелик. Плюс Synergenix требует обязательной сертификации всех приложений. Вывод: J2ME — единственная платформа, которая обеспечивает хоть какую-то переносимость. Для разработчиков неторопливых логических игр — оптимальный вариант, но динамическая графика по производительности уже не тянет. Альтернативные платформы решают проблему производительности нанося ущерб совместимости и налагая на разработчиков множество различных ограничений (типа лицензирования), что только отталкивает. |