Введение
Рынок мобильных телефонов – это, пожалуй, самый быстроразвивающийся сегмент рынка. Несколько лет назад мобильный телефон был чем-то дорогим и недосягаемым. Оплата за связь была астрономической. Но времена меняются, связь подешевела, мобильные телефоны продаются на каждом углу и наличие телефона у человека можно уже сравнить с наличием обычных наручных часов.
Обилие разнообразных моделей телефонов создает на этом рынке большую конкуренцию. Множество производителей стараются включить в телефоны как можно больше различных функций. Присутствием в телефоне адресной книги, органайзера, будильника и даже счетчика калорий уже никого не удивишь, и в какой-то момент времени возник вопрос, а чем же еще можно оборудовать телефон? Самым идеальным решением этого вопроса могла стать возможность загрузки в телефон программ сторонних производителей. Не секрет, что основная масса телефонов работает на основе прошивки, поэтому загрузка программ в телефон не возможна. Чтобы такая возможность появилась, производителям надо было бы решить ряд сложных вопросов.
Во-первых – это язык программирования, на котором будут писаться программы для телефонов и, соответственно,, поддержка этого языка самим телефоном. Второе – это аппаратная архитектура мобильных телефонов, которая сильно ограничена в своих системных ресурсах, а это процессор, память, графический интерфейс. Улучшение архитектуры неизменно ведет к увеличению стоимости телефона, поэтому идеальной в этом случае стала платформа Java 2 Micro Edition, созданная компанией Sun Microsystems.
Платформа Java 2 ME состоит из виртуальной Java машины, языка программирования Java и огромного количества библиотек, облегчающих работу программиста. Язык программирования Java работает на основе интерпретации, поэтому для работы программ написанных на этом языке необходима виртуальная J ava машина, встроенная в устройство, на котором планируется запускать Java программы. Наличие виртуальной Java машины в мобильном телефоне означает, что производитель поддерживает технологию Java. В данный момент практически все производители имеют поддержку Java технологии, что позволяет писать любые программы на этом языке и загружать их в телефон.
Но и в этой сфере не обошлось без накладок. Появление большого количества производителей мобильных устройств в какой-то мере сопутствовало хаосу в стандартах, используемых при программировании телефонов. Каждая компания видела, да и, пожалуй, видит, свои пути развития в стандартизации своего программного обеспечения. Поэтому на рынке сейчас имеется масса инструментальных средств чуть ли не для каждой из моделей мобильных телефонов. В этом направлении, как мне кажется, сильно преуспела финская компания Nokia, являющаяся законодателем мод, а может и лидером в производстве телефонов. Платформа Java 2 ME призвана обеспечить определенный стандарт в этой области. Каждый из телефонов, имеющий поддержку Java, в теории может иметь совместимость с любым программным обеспечением, созданным на Java 2 ME. Вы спросите, почему в теории?
Дело в том, что каждый из производителей телефонов имеет свои устоявшиеся характеристики по аппаратной части мобильного устройства. В большей степени это относится к дисплею телефона, модели графического интерфейса и отсутствию либо наличию различных комбинаций клавиш телефона. То есть любой программный код, написанный на Java 2 ME, обязан работать на любом телефоне с поддержкой Java. Но в виду всевозможных различий между марками, а иногда даже моделями телефонов от одного производителя, результаты могут быть несколько иными, рассмотрим пример с дисплеем. Телефоны Siemens с цветными дисплеями в своей массе имеют разрешение 101x80, тогда как у телефонов Nokia в большинстве доступно разрешение 128x128 пикселей и при этом каждая из марок телефонов имеет свои различия в графическом отображении некоторых элементов пользовательского интерфейса. Поэтому при программировании приложений, этот фактор придется иметь в виду. Как программист вы должны отвечать за совместимость написанной программы с различными моделями телефонов, что, безусловно, увеличит ваши трудности в создании хорошего приложения.
Поговорив о капле дегтя в большой цистерне меда, перейдем к меду. Несомненно, Java 2 ME – это стандарт, обеспечивающий совместимость программного обеспечения с любой маркой телефона. Стремительное развитие технологий мобильных устройств обязано подразумевать определенный эталон в данном направлении. Немалое количество сторонних разработчиков при строгой стандартизации заинтересовано в развитии рынка программного обеспечения телефонов. В наше время телефон имеет почти каждый человек, в отличие, скажем от портативных компьютеров на основе операционных систем Palm и Pocket PC. Поэтому рынок мобильных устройств по своим масштабам считается наиболее перспективным, а платформа Java 2 ME, является стандартом в создании программ для телефонов.
Язык программирования Java 2 ME сам по себе не сложен^ а обилие готовых библиотек позволяет писать Java приложения за короткий промежуток времени. И что самое главное, наборы инструментальных средств программирования поставляемые компанией Sun Microsystems и производителями телефонов абсолютно бесплатны! Множество энтузиастов со всего мира в кратчайшие сроки создают как платные, так и бесплатные программы и игры на Java 2 ME. Задача этой книги – дать исчерпывающую информацию по программированию мобильных телефонов, поддерживающих платформу Java 2 ME.