В последние несколько лет мобильные телефоны совершенствуются с невероятной быстротой. Всего пять лет тому назад телефон позволял пользователю среднего достатка лишь быть доступным для связи в любое время и в любом месте. Теперь в обиходе находятся смартфоны, наделенные морем дополнительных функций. Потребность в них растет, и, соответственно, производители аппаратных и программных средств находятся в постоянном процессе совершенствования. Здесь мне хотелось бы поговорить о Java-технологиях компании Sun Microsystems.

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

Платформу Java используют для написания софта для мобильных телефонов. Последняя платформа Java 2.0 была предусмотрительно разделена на три версии, каждая из которых содержит различный набор команд для различных конфигураций. Таким образом, появились на свет Java 2 Enterprise Edition (J2EE), Java 2 Standard Edition (J2SE) и Java 2 Micro Edition (J2ME). Первая служит для решения сложных серверных задач, J2EE используют для создания приложений для отдельных компьютеров, а J2ME – для программирования софта для мобильных платформ. По сути дела, J2ME является производной от J2SE, вроде упрощенного варианта для устройств с меньшим энергопотреблением и меньшими программными и графическими требованиями. Сама по себе, J2ME не является новой, впервые о ней услышали 10 лет назад, но, со временем, она нашла все большие применение, в частности, в разработке софта для смартфонов.

Основными конфигурациями Java Micro Edition являются Connected Device Configuration (CDC) и Connected Limited Device Configuration (CLDC). Конфигурация определяет набор технических требований устройства, возможности JVM и центральные библиотеки технологии Java. Конфигурация ограниченной коммуникации CLDC подразумевает обычные недорогие мобильные устройства. К устройствам СDC мы можем отнести коммуникаторы и смартфоны, и в целом, любые устройства, не являющиеся полноценным компьютером, но отличающиеся от обычных телефонов расширенной функциональностью и большим экраном. Технические требования обеих конфигураций выглядят так: 512 kb (минимум) памяти для использования программ Java, 256 kb (минимум) для распределения временной памяти, высокая пропускная способность для работы в сети у CDC, против 128 kb памяти для использования программ Java, 32 kb для распределения временной памяти и низкой пропускной способностью у CLDC.

Если конфигурация в большей степени характеризует физические данные, то профиль, который является продолжением конфигурации, определяет аппликационные возможности, то есть программный интерфейс приложения (API). До появления на широком рынке смартфонов, основной реализацией J2ME были устройства CLDC с профилем MIDP. Любой мог проследить эволюцию этой «парочки» на экранах мобильников, от черно-белого пиксельного отображения до цветной анимации. Популярность программирования J2ME-мидлетов (приложений CLDC-MIDP) начала угасать в 2007 году, уступая место программированию софта для смартфонов.

Разнообразие платформ и операционных систем на современных смартфонах не является помехой для приложений Java. А для программистов Java Micro Edition широкая функциональность служит хорошей почвой для новых идей. К тому же, недавно Nokia и Google открыли онлайн-магазины, подобно Apple, где потребители «умных телефонов» смогут комплектовать свои устройства наиболее подходящими J2ME аппликациями. Независимые программисты могут попробовать свои силы в создании аппликаций на Java ME, и, расположив их в одном из вышеперечисленных магазинов, получить долю прибыли. Если вы заинтересованы в более подробной информации загляните на главный сайт J2ME.