Всё для мобильных телефонов
Audio:
1. Разница между MIDI и цифровым звуком
2. Оркестр в телефоне
3. Инструкция по созданию качественных MMF из MP3
4. Описание формата SMAF
5. Наиболее часто встречающиеся вопросы на MIDI.ru
Java:
6. Java для мобильных устройств
7. Эмуляторы J2ME
8. Создание аркадных Java-игр для мобильного телефона
9. Java в телефоне
10. Инструкция по установке Java-игр для мобильных телефонов
11. Инструкция по созданию Jad из Jar-файла
Gif-анимация:
12. Рисуем анимашку
13. Один из лучших аниматоров
Synchronization:
14. Соединяем мобильный телефон с компьютером
15. Фрикинг: Bluetooth-Хакерство только начинается
16. Технология Bluetooth
Video:
17. Современные мобильные видеоформаты (часть 1)
18. Мобильные видеоформаты (часть 2)
19. Мобильные видеоформаты (часть 3)
Soft:
20. Программы для мобильных телефонов
21. Игры для мобильных телефонов
Java в телефонеКакими возможностями должен обладать современный мобильный телефон? С одной стороны, ответ на этот вопрос давно известен, и состав встроенного ПО от модели к модели практически не меняется. Но, с другой стороны, поставить его под сомнение никогда не помешает, да и ситуация на развитых рынках, где объем продаж зависит прежде всего от интенсивности замены существующего парка аппаратов, прямо заставляет производителей предлагать покупателям что-то другое. Но что? Один из вариантов решения проблемы — по аналогии с ПК предоставить выбор самому пользователю, снабдив его возможностью по собственному усмотрению устанавливать дополнительные приложения, расширяющие функциональность телефона. Первой такой подход предложила компания Qualcomm — один из ведущих производителей телефонов стандарта CDMA, представившая платформу BREW (Binary Runtime Environment for Wireless), совместимую с сетями cdmaOne. Однако закрытость технологии и новизна средств разработки заставили искать альтернативу. И она пришла в виде Java 2 Micro Edition (J2ME). Преимущества J2ME вполне очевидны. Во-первых, это бесплатная платформа, и ее внедрение в телефонах не требует лицензионных отчислений от производителей, что ныне весьма важно. Во-вторых, Java была изначально ориентирована на программирование сетевых приложений и позволяет разработчику абстрагироваться от особенностей архитектуры конкретных моделей телефонов с помощью «изолирующего слоя» — виртуальной машины Java. В-третьих, за Java уже стоит армия программистов, владеющих технологией и инструментарием, а это значит, что в короткие сроки может быть создан большой парк приложений — фундамент успеха самой платформы. Первые телефоны с поддержкой J2ME появились в 2001 году — это терминалы Motorola, предназначенные для американского рынка. В Европе пионером Java стала Siemens, выпустившая соответствующую модификацию своего флагманского телефона SL45 — SL45i. Отметим, что в этом году одна из флагманских технологий корпорации Sun Microsystems — Java отметила свой десятилетний юбилей. За это время Java из просто еще одного языка программирования превратилась в полновесную программную платформу, универсальную, гибкую, признанную всеми и всюду — ведь Java используется даже в марсоходе Mars Rover. Sun продолжает нацеливать свою Java-технологию исключительно на наиболее массовые мобильные устройства — телефоны. Максимально использовать их небольшие, по сравнению с ПК, ноутбуками или даже КПК, возможности призвана новая спецификация MIDP 2.0, в которой реализована поддержка протоколов HTTPS, Comm, Datagram, SSL, Socket и ServerSocket, Push-функциональность, стандартная поддержка WAV-формата (и опционально — MP3), а также улучшены модель безопасности, интерфейсы пользователя, игровой (низкоуровневый и высокоуровневый) и другие API. Быстрое создание ПО при минимуме кодирования — это общая стратегия, которой руководствуется Sun в своих новых средствах разработки на базе Java. Примеры Java-приложений для телефонов Что касается приложений, то и здесь ситуация вполне благополучная. В библиотеке сайта www.getjar.com, одном из крупнейших файловых архивов J2ME, насчитывается около 200 условно-бесплатных и свободно распространяемых мидлетов, на сайте www.midlet.org — их около 400. Как и следовало ожидать, большую часть от общего числа мидлетов составляют игры. Среди рабочих программ много таких, которые выполняют функции различных распространенных приложений PDA или даже полноразмерных ПК, — электронные таблицы, базы данных, графические и текстовые редакторы, клиенты e-Mail, калькуляторы и конвертеры, электронные словари. Достаточно велико количество утилит, загружающих и систематизирующих информацию из WAP, например программа, отслеживающая изменения биржевых котировок или курсов валют с построением графика. Есть даже тестовые программы, позволяющие проверять работу тех или иных функций телефона. Предполагается, что все необходимые программы пользователь инсталлирует сам. Мы проверили оба способа через WAP и с помощью ПК. Первый способ в наших условиях Примеры Java-игр трудно назвать оптимальным — процесс очень чувствителен к качеству связи, ведь при ее обрыве приложение придется получать заново. Загрузка мидлетов через Веб представляется более приемлемой. Достаточно открыть в браузере любой сайт с библиотекой мидлетов и сохранить на жестком диске ПК два файла с одинаковым именем, соответствующих выбранному приложению. Первый из них, с расширением .jar, содержит непосредственно код мидлета, а второй типа .jad — его описание (он необходим для инсталляции программы в телефон). Далее подключаем аппарат к компьютеру с помощью дата-кабеля или беспроводного соединения. К этому времени на ПК должен быть установлен соответствующий телефону коммуникационный пакет. Далее действуем по его инструкции. Что ж, о преимуществах J2ME мы рассказали, пора упомянуть и о потенциальных проблемах, которые, если можно так выразиться, являются продолжением достоинств технологии. Да, труд тысяч независимых разработчиков обеспечит нас огромным выбором приложений на все случаи жизни. Но, как всегда в таких ситуациях, нет никакой гарантии, что каждое из них будет нормально работать на любом телефоне, формально поддерживающем J2ME. Действительно, большинство утилит, особенно бесплатных, создаются частными программистами. Хорошо если они удосужатся тщательно оттестировать свое творение на том телефоне, для которого оно было написано, не говоря уже о большом количестве совместимых моделей. Теоретически Java-машина способна с достаточно большой вероятностью обеспечить выполнение кода произвольно взятой программы, но вот операции ввода/вывода... Количество и конфигурация управляющих клавиш, цветность экрана, язык интерфейса — если любой из этих параметров будет отличаться от предусмотренных разработчиками мидлета, проблем не миновать. Остается открытым вопрос безопасности. Возможности блокировки клавиатуры, гашения экрана, включения/выключения телефона командами из мидлета доказаны на практике самим существованием утилит-тестеров. Думается, что эти функции могут быть задействованы и без ведома пользователя. Добавим к этому самопроизвольную пересылку (через WAP-доступ) — и имеем благодатную почву для размножения J2ME-вирусов и «троянских коней». Ну и наконец, главные вопросы: Зачем? и Для кого?. «Оптимистический» вариант ответа на первый из них мы уже озвучили в начале статьи. Однако и для него есть контраргументы. Во-первых, телефон, как бы ни старались инженеры, имеет проверенные временем, оптимальные для совершения звонков форму, размеры и количество клавиш, которые не всегда идеально подходят для других целей. Малый экран и недостаточное количество кнопок не позволят комфортно работать с текстом и данными; их размеры, форма и расположение, а также отсутствие функции повтора ввода при удержании клавиши делают телефон малопригодным для игр... Да и, если вдуматься, так ли уж много важных дел можно сделать на ходу, в удалении от более мощных средств обработки информации? Получается (да и практика подтверждает), что количество инструментальных средств, которые пользователь хотел бы иметь постоянно под рукой, во-первых, невелико и, во-вторых, строго индивидуально. Для выбора приложений, необходимых для решения индивидуальных задач (что, собственно, предполагает сама концепция изменяемого ПО), человек должен как минимум уметь определить и сформулировать эти задачи, а потом выбрать приложения, способные их решать должным образом. Заметим, что далеко не все категории пользователей имеют такую мотивацию. В качестве групп, у которых она определенно есть, можно назвать две: это молодые энтузиасты, изучающие и использующие сложную технику из интереса, постепенно подстраивая под нее свой стиль жизни, а также специалисты, которым необходимы строго определенные (и известные им) инструменты для решения так же четко поставленных задач. В терминах рынка сотовых терминалов эти две группы соответствуют молодежной аудитории и классу бизнес-пользователей. В итоге можно сделать вывод, что у Java-телефонов неплохие перспективы. По крайней мере — до подхода терминалов следующего поколения.
|