Иван Трещев – Программирование для мобильных платформ. Android и WP. Учебный курс (страница 3)
Новый браузер на основе Webkit открытого движка (как и конкуренты Safari, Google Chrome и др.) поддерживает увеличение отдельных участков страниц при помощи жестов и одновременную работу нескольких сессий (при помощи закладок), а также обладает высокой эффективностью, то есть для его работы требуется меньший объем загружаемых данных.
При создании операционной системы BlackBerry были сохранены все преимущества платформы BlackBerry и в дополнение к функционалу для работы в Интернет, включили в состав новой операционной системы множество новых мультимедийных приложений, простых и удобных в использовании и интегрированных с другими функциями смартфона. Кроме того, в новой версии операционной системы появились такие функции, как Ленты новостей социальных сетей (Social Feeds) и Универсальный поиск (Universal Search), которые дополнительно расширяют и без того богатый спектр возможностей для общения.
1.6 iPhone OS
Apple iOS (ранее называвшаяся iPhone OS) – операционная система, разработанная компанией Apple на основе стационарной Mac OS X для мобильных устройств: iPhone, iPod Touch, iPad.
Сегодня это лидер рынка во многих странах, но в Азии и Европе, как и в России все еще сильны позиции устаревающей Symbian, а США в спину дышит молодая поросль Android и офисная Blackberry.
Рисунок 1.6 Дизайн iPhone OS
iOS – это полностью закрытая платформа, которая заставляет пользователя приобретать ее продукцию как софт так и хард, включая многочисленные аксессуары, а также контент и предоставляющая взамен простоту пользования, дружелюбный интерфейс, работоспособность и прочие добродетели.
Достоинства:
– Удобство пользования;
– Качественная служба поддержки;
– Регулярные обновления, устраняющие многие проблемы в работе;
– Возможность купить в App Store множество различных программ
Недостатки:
– Необходимость джайлбрейка для установки неофициальных приложений;
– Заблокированный характер ОС;
– Отсутствие многозадачности;
– Нет встроенного редактора документов.
1.7 Bada
Bada – собственная система компании Samsung. Она была представлена в феврале 2010 года, а первое устройство на этой ОС – Samsung 8500 Wave было очень успешным рынке. Легко различить у Самсунга устройства на BADA (морская тематика) называются Wave (Волна), на Android (космическая тематика) – Galaxy (Галактика)
Рисунок 1.7 Дизайн Bada
BADA – это скорее мобильная платформа, но при этом не полноценная операционная система.
В смысле развития собственной экосистиемы Samsung идет по стопам Apple, копируя их решения которые даже внешне похожи на яблочные :
– Книжный магазин содержит 60 000 книг и продолжает развиваться, клон Apple Bookstore;
– Сервис Dive позволяет найти телефон с помощью определения местоположения и закрыть к нему доступ или стереть информацию;
– Socilal Hub позволяет систематизировать работу с социальными сетями, обьединяя контакты, календарь и информацию поступающую от их в единый поток данных, который пользователь получает непрерывно с помощью push-технологий на свое мобильное устройство.
1.8 TouchWiz от Samsung
Рисунок 1.8 Дизайн Samsung
Пользовательский интерфейс TouchWiz (модели Samsung SGH-F480 TouchWiz, Samsung s8000 Jet, Samsung WiTu, Samsung M8800 Pixon) появился в результате эволюции интерфейса Croix (на фото – Samsung s8000 Jet).
Последняя версия – 2.0 – более «объемна» по дизайну и унифицирует то, как выглядят на экране различные платформы (Windows Mobile, Symbian, Android), а также организует рабочий стол в так называемый мультимедийный куб (кубический шестисторонний рабочий стол). В последней версии есть три панели для виджетов, которые можно перетягивать по экрану простым перемещением и вытягивать из боковой панели простым движением пальца. Одним движением можно настроить и сам экран (например, выбрать обои, раскрыв Home Screen Customizer), проскроллить основные пункты меню, создать сообщение и т. д.
В TouchWiz 2.0 также поддерживается акселерометр и приложение разблокировки, которое дает быстрый доступ к некоторым апплетам в заблокированном режиме.
1.9 Обзор инструментов разработчика приложений для мобильных устройств
Есть два принципиально различных типа программ для мобильных устройств: самостоятельные приложения и исполняемые файлы, которые запускаются только при наличии установленной в устройстве специальной среды – интерпретатора.
В первом случае для «перевода» текста программы на язык, понятный какой-либо платформе (операционной системе), необходим компилятор – специальное приложение, которое, как правило, входит в состав средств разработчика. Пропускаем написанный код через компилятор и на выходе получаем самостоятельное приложение для совместимой платформы. Достаточно скопировать его на соответствующий аппарат и элементарно запустить. Поясним: в случае с обычной Windows XP компилятор выдает EXE-файл. Все, что требуется от пользователя для запуска, – это двойной клик. Компилируемые языки программирования в освоении сложны, зато творческих возможностей предоставляют больше. C++, например, – стандарт де-факто при разработке ПО, в том числе и для многих мобильных платформ.
Первый метод создания программ отличается инструментами (для каждой операционной системы – свои) и файлы, созданные в этих инструментах, запускаются только на тех платформах, для которых они созданы.
Во втором случае – интерпретатор занимается тем, что объясняет данному устройству, как следует выполнять код программы. Пожалуй, самый известный пример интерпретатора – виртуальная машина Java, которая, кстати, по умолчанию наличествует не только в смартфонах, но и практически в любых современных телефонах. Интерпретатор Java – универсален. Одна и та же Java-программа, как правило, выполняется и на Windows Mobile коммуникаторе, и на каком-нибудь музыкальном телефоне Sony Ericsson.
Cсуществуют интерпретаторы для мобильных приложений, написанных на языках Python, mShell (создан фирмой infowing AG (www.mshell.net)) и Basic, хотя эти интерпретаторы скорее экзотика, чем норма.
Минусы интерпретаторов – в относительно медленной скорости работы, а кроме того, они обладают изрядным аппетитом в плане потребления ресурсов. Зато такие языки просты для изучения и инструменты для их создания носят универсальный характер и созданные программы работают на всех платформах одинаково.
Таким образом, в зависимости от типа (исполнения) программного обеспечения для мобильных устройств можно выделить следующие классы инструментария программиста:
1. Инструменты для разработки «мидлетов» – программ, выполняемых на виртуальных Java машинах мобильных устройств (или программ для других интерпритаторов);
2. Инструменты для создания специализированного программного обеспечения под одну из мобильных операционных систем.
На данный момент почти все выпускаемые мобильные устройства имеют предустановленную возможность для запуска Java-программ (мидлетов). Большая распространенность этой технологии привлекает внимание разработчиков коммерческих продуктов (особенно игр), но и обычный пользователь может сделать что-нибудь свое.
Базовый язык для разработки программ под Java интерпретатор («мидлетов») Java ME. Чтобы вести программирование по этой технологии необходимо создать у себя на компьютере специальную среду разработки. Основу этой среды составляет Java ME SDK – специальный комплект средств разработки. В настоящее время существует несколько различных версий SDK от разных производителей, их использование позволяет создавать мобильные приложения, заточенные под определенные телефоны и мобильные платформы. Соответственно доступные программисту JSR расширения и функциональные возможности среды разработки будут сильно зависеть от выбранного SDK. Наиболее распространенные Java ME SDK программиста следующие:
– Sun Java ME SDK 3.0
– NetBeans 6.5 IDE
– MOTODEV Studio for Java ME
– Nokia S60 SDK
– Nokia S40 SDK
– Nokia NFC SDK
– BlackBerry JDE 4.7
– Sony Ericsson SDK 2.5 for Java ME
– LG SDK 1.2 for Java ME
Кроме того, для разработки «мидлетов» применяются специальные интегрированные среды, например – MIDletPascal.
Sun Java ME SDK 3.0
Sun Java ME SDK 3.0 стала де-факто стандартом на рынке мобильных программ. Java ME SDK – кульминация проекта Java Wireless Toolkit. J2ME SDK поддерживает следующие JVM платформы:
– CLDC/MIDP: Общая JVM конфигурация для мобильных телефонов.
– CDC/FP/PBP/AGUI: JVM конфигурация для high-end смартфонов
– CDC/FP/PBP/BD-J: JVM конфигурация для Blu-ray Disc плееров.
Java ME SDK – одна из нескольких доступных SDK ориентированных на некое гипотетические устройство, что дает возможность разрабатывать и отлаживать мобильные приложения перед «заточкой» их под конкретную мобильную платформу. SDK содержит Platform Manager, который позволяет эмулировать конкретную платформу. На рисунке 1.9 показан Java ME SDK 3.0 с запущенным эмулятором JavaFX телефона.
Рисунок 1.9 Вид среды разработки Sun Java ME SDK 3.0
В отличие от Java Wireless Toolkit, Java ME SDK содержит IDE и Вы можете разрабатывать и тестировать свои приложения в этой среде. Нужно отметить, что Java ME SDK не поддерживает разработку JavaFX приложений, однако он содержит несколько эмуляторов JavaFX 1.1 телефонов (один с тачскрином и один – без), которые позволяет запускать и тестировать JavaFX Mobile приложения. Для создания JavaFX Mobile приложений можно использовать NetBeans IDE. Основным отличием Java ME SDK 3.0 от предыдущих версий является процесс конфигурирования SDK для Blu-ray разработки. Последняя сборка содержит BD-J библиотеки. Таким образом, устранены преграды, стоявшие перед разработчиками BD-J приложений.