Disclaimer: Данная публикация находится в стадии сбора фактологического материала. Будем признательны за получение любой информации касающейся данной темы.

1997г. - в телефонах Nokia впервые появилось встроенная игра – Snake ( змейка ). После ошеломляющего успеха другие производители телефонов тоже стали встраивать различные игры и приложения.
Но с развитием технологий, начиная с 2001 года все больше и больше стало телефонов с поддержкой скачиваемых приложений. В Америке и Азии большую популярность получили скачиваемые приложения для платформы Brew (в основном в сетях CDMA ).
В Европе более распространены приложения для платформы J2ME (Java 2 Platform Micro Edition).

BREW техническая платформа - CDMA
Платформа Brew, принадлежащая фирме Qualcomm, была запущена в январе 2001г.
QUALCOMM в настоящее время занимает лидирующее положение в мире по развитию CDMA2000 (1X и 1x EV-DO) и WCDMA (UMTS) - двух наиболее широко распространенных, принятых МСЭ, стандартов 3G. Сейчас платформа Brew работает на 41 операторе в 24 странах мира.

Symbian операционная система - CDMA / GSM
В 1998 году была основана компания Symbian, учредителями которой были компании Ericsson, Nokia, Motorola и Psion. Первый телефон с этой операционной системой был выпущен в 2000 году - Ericsson R380. После этого последовали массовые покупки лицензий сторонними производителями телефонов ( Symbian, Sendo, BenQ , Samsung и многие другие ).

J2ME техническая платформа - CDMA / GSM
Платформа J2ME (Java 2 Mobile Edition ) – специальная редакция языка java, предназначенная специально для использования в устройствах с ограниченными ресурсами (мобильные телефоны, PDA). В 1998 году корпорация Sun (автор языка java) выпустила в свет PersonalJava, но, как показала практика, эта версия языка все-таки была довольно тяжелой для мобильных устройств. После небольших переделок в 1999 году был принят стандарт J2ME. Уже с 2000г стали появляться сотовые телефоны с поддержкой java.
На картинке - один из первых телефонов с поддержкой java – Motorola i85s

Более того присутствуют еще менее значимые платформы: In-Fusio (ExEn), MOPHUN.

Географическое разделение следующее:
- Brew - это страны, где распространенны сети в формате CDMA (США, Корея, Южная Америка. Но США это 90% рынка в плане оборотов). Сейчас Brew есть только в CDMA сетях, но нет никаких технических препятствий сделать Brew в GSM сетях.
- J2ME – (Европа, Россия, США (самый крупный игрок - Sprint (оператор).

Brew требует поддержки как со стороны операторов (BDS = BREW Distribution System = content delivery system), так и со стороны производителей телефонов (телефон должен поддерживать приложения Brew).

Достоинства и недостатки Brew
Достоинства:
- Большое покрытие
- Полное отсутствие пиратства
- Большие деньги для операторов и разработчиков приложений
- Встренные средства в платформу для осуществления билинга (можно организовывать продажу игры на месяц или полгода, возможность предоставления demo версии).
 
Недостатки:
- Закрытость платформы
- Довольно высокая стоимость вхождения
- Проблемы с тестированием в России
- В России пока никем не поддерживается (SkyLink думает на эту тему)

Достоинства и недостатки Symbian

Достоинства:
- Возможность полного использования возможностей телефонов
- Бесплатный инструментарий
 
Недостатки:
- Технические трудности в освоении платформы
- Практически полное отсутствие возможности зарабатывать на этом рынке для разработчиков.
 
Пока единственное возможное коммерческое использование этой платформы для разработчиков это написание игр под NGage. Но надо договариваться с Nokia об издании игр на MemoryCard. Пока на NGage выходят только brend’овые проекты. Разработка серьезного проекта под Symbian – это 6-9 месяцев командой из 5-7 человек.

Достоинства и недостатки j2me

Достоинства:
- Полная открытость
- Бесплатный инструментарий
- Огромное количество телефонов с поддержкой j2me
 
 
Недостатки:
- Все телефоны имеют свои тех. особенности
- Пиратство
- Размазанность каналов для продажи контента

J2ME –
самый распространенный формат

Java - от оператора ничего не требуется кроме обеспечения доставки приложений (т.е. GPRS – в России уже есть почти у всех. Правда, существуют ограничения со стороны операторов – на нынешний момент довольно проблематично скачать приложение, если оно более 200k (в ChinaTelecom вообще больше 128k делать приложение запрещено). Но 95% приложений удовлетворяют этому требованию).
Производитель телефонов, как и в случае с Brew, должен поддерживать технологию j2me.

Любое java приложение состоит из двух файлов с расширением jar и jad:
jad (Java application description) – это обычный текстовый файл, где указывается информация о приложении: размер, версия, ссылка на сайт и другая служебная информация.
jar (Java application archives) – это обыкновенный ZIP архив, где содержатся как код приложения, так и необходимые для исполнения файлы с данными.

Каждому приложению выделяется место, куда оно может записывать информацию (например, для игры – это таблица рекордов, для органайзера – телефоны и т.д.) Называется это RMS (Record Management System). Но между аплетами меняться информацией из RMS нельзя.

Размер приложения определяется ограничениями телефона и оператора:

Размер файла, пропускаемого по WAP/GPRS оператором (до 200К)
Размер приложения ограничивается моделью телефона (Nokia S40 до 64К)
Heapsize (это количество памяти, доступное в приложении при его запуске. Минимум это старые телефоны NokiaS40 – 6610, 6100 и т.д. - 200kb. Максимум – до 3 Mb (Nokia 6600).

Больше всего на функциональность приложения влияет размер экрана. Почти все современные телефоны имеют разрешение от 128x128. Типовые модели телефона имеют разрешение вплоть до 320x240, что больше, чем разрешение старых персональных компьютеров (VGA - 320x200). Пример типовых телефонов – Sharp GX30, Sony-Ericsson S700. Цветность экранов – сейчас все цветные телефона имеют минимум 4096 цветов, большинство уже имеет экраны с цветностью 65,536 цветов.

К сожалению, информация по производительности процессора телефона, как правило, закрыта. Но при разработке приложения надо учитывать, что производительность разных телефонов может различаться во много раз (один из основных факторов, влияющих на производительность, это процессор).
Есть специальный проект, где довольно много тестов по производительности приложения на разных телефонах: www.jbenchmark.com
Например, Samsung E700 медленнее Nokia6260 в 3,5 раза.

По-разному на всех телефонах устроены функции, связанные с мультимедиа (особенно звук ). Также в телефонах очень различаются функции отвечающие за взаимодействие с сетью.

Портирование – это адаптация программы под разные модели телефонов. Все телефоны имеют следующие различия:

Разрешение
Скорость работы
Размер дистрибутива (например, в Nokia дистрибутив не может быть больше 64kb. А многие Samsung’и не позволяют делать приложения больше 100kb).
Различные ошибки производителей (по каждому из устройств есть множество мелких багов, которые надо учитывать при разработке )

Установка приложений на телефон
Wap
Hotsync
Ifrared, bluetooth

Совсем легких путей для передачи приложения от одного телефона к другому нет. Но с помощью некоторых ухищрений можно на некоторых телефонах "извлечь" файл приложения и любым способом передать другому человеку (эту операцию можно сделать, например, на старых Siemens – C60, S55 и т.д. Но нужен специальный шнур и программное обеспечение).

Коммуникация программ
с сервером и между собой

Для коммуникации с внешним миром можно использовать http (для подавляющего количества телефонов это возможно, но у всех отличается реализация – отсюда проблемы с портированием сетевых приложений). Отсылку SMS поддерживают крайне малое количество телефонов (в основном старые телефоны).

Для организации коммуникации телефонов без сервера между собой также можно использовать «bluetooth». Уже есть несколько игр и приложений, которые используют «bluetooth» для коммуникаций.