Если оглянуться на пройденный Samsung путь, то на его верстовых столбах, отмечающих использование той или иной программной платформы, будут названия почти всех известных ОС — Palm OS, Microsoft Pocket PC, Symbian, Windows Mobile, Android. Наконец компания созрела и до создания своей собственной платформы, и уже совсем скоро — в мае-июне — на рынок выйдет первый аппарат, работающий под ее управлением. Samsung S8500 Wave будет флагманом модельного ряда компании минимум до осени. Самое время разобраться, на чем будет работать один из самых интересных смартфонов 2010 года.
В списках бестселлеров Samsung в 2009 году числятся модели и на Windows Mobile (Samsung I8000 Omnia II), и на Android (Samsung I5700 Galaxy Spica), и даже на базе той самой “собственной операционной системы” (Samsung S8000 Jet), и Samsung Star.
На последнем устройстве стоит остановиться отдельно, поскольку именно платформа Samsung Jet стала основой для разработки программной инфраструктуры, получившей название bada.
Платформа bada (от корейского «океан») была официально анонсирована в ноябре 2009-го. Основные идеи, звучавшие во время презентации, стары как мир: формирование программной инфраструктуры, в основе которой находится способная работать на разнообразных мобильных устройствах платформа с удобным интерфейсом. Вокруг нее, благодаря доступному SDK и простой среде разработки, быстро растет большой каталог программ, распространяемых через Application Store.
На самом деле мнения о том, что же находится внутри bada, расходятся.
Большинство предположений об основе bada звучат как «скорее всего — это Linux». В действительности же дела обстоят следующим образом: конкретно это не оговаривается, но в bada задействована Nucleus RTOS или операционная система реального времени Nucleus, разработанная компанией Accelerated Technology. Это многозадачная ОС, занимающая всего 13 килобайт памяти, но способная эффективно управлять «железом» мобильных телефонов, навигаторов, медиаплееров и подобных им гаджетов. Поддерживая большинство процессорных платформ, интерфейсов периферийных устройств, а также предоставляя среду разработки на базе языка C++, эта система обеспечивает эффективное управление программами в реальном масштабе времени.
Именно Nucleus, скорее всего, является сердцем скоростного коммуникатора Samsung Jet. bada — многоуровневая платформа, и управляющее аппаратными средствами коммуникатора ядро операционной системы находится на самом нижнем уровне. А это значит, что — в зависимости от этих самых аппаратных средств — на этом уровне может находиться любая мобильная операционная система. Например, в устройствах начального уровня с бюджетным «железом» это может быть непритязательный Nucleus, а в более продвинутых аппаратно коммуникаторах может трудиться ядро Linux или даже Windows Mobile (правда, с анонсом Windows Phone 7 подобная перспектива уже выглядит призрачной).
Итак, архитектура bada многоуровневая, и уровень операционной системы является фундаментом всей платформы, скрывающем от программ разработчиков особенности аппаратуры bada. Для чего же нужны другие слои?
Платформа bada имеет многоуровневую архитектуру. Слой операционной системы является нижним, а вышележащие уровни используют его функции для доступа к аппаратуре.
Над уровнем ядра операционной системы (Kernel) располагается слой устройства (Device). Службы, работающие на этом уровне, базируются на возможностях уровня ядра и обеспечивают вышележащие слои доступом к таким функциям устройства, как работа с графикой, мультимедии и коммуникациям. Именно благодаря этому уровню программы, написанные для bada, получают 3D-графику и возможность выхода в Сеть с помощью всех известных коммуникационных интерфейсов. Кстати, обеспечением поддержки социальных сервисов вплотную занимается вышележащий уровень Service.
Платформа bada, как и большинство ее конкурентов, модно обзывается сервис-ориентированной. На практике это означает, что она помогает пользователю постоянно находиться на связи, оповещая его о различных событиях, происходящих в мире социальных сетей, IM-сервисов, почты и прочих сетевых служб. При этом bada работает с ними на основе сервероориентированной модели. Что это означает? А то, что общаться с внешним миром bada-коммуникатору помогает специальный bada-сервер — «облачная» среда, обеспечивающая хранение и синхронизацию данных о контактах сетевых служб, а также проталкивающая уведомления (Push Notification) об изменениях их статуса и их сообщения на коммуникатор с использованием почты, SMS или даже MMS.
Поддержку социальных и прочих сетевых сервисов bada осуществляет через специальный «облачный» bada-сервер, реализующий функцию Push Notification.
Чем-то эта схема напоминает push-службу, которая работает на iPhone. Что-то в ней есть от Synergy Sync из Palm WebOS. У кого-то хранение информации о контактах и истории переписки у третьих лиц вызывает озабоченность, кто-то, наоборот, рад доступности к ней в любое время и в любом месте. Является ли такая жесткая ориентированность на «облачные» сервисы благом или нет, покажет время.
Над уровнем сервисов располагается последний слой bada-Framework. По сути, это набор открытых для программ интерфейсов доступа ко всем нижележащим функциям. Уровень Framework является тем окружением, в котором выполняется любая bada-программа. И он существенно отличается от подобного уровня, например, в Android.
Все дело в том, что среда выполнения bada-программ не имеет промежуточной «песочницы», такой как Java-машина Dalvik в Android. Программисту в bada доступны API-функции обращения напрямую ко всем слоям платформы. Вследствие этого bada-программы, разрабатываемые на языке C++, выполняются значительной быстрее и способны более гибко и эффективно использовать возможности графических, мультимедийных и коммуникационных библиотек.
При этом Java-машина в bada есть, что позволяет запускать и поддерживать работу множества программ. Однако в силу того, что эта Java-машина работает как отдельное приложение, при ее запуске параллельно может работать всего одна bada-программа.
Программы в среде bada выполняются без использования промежуточного программного обеспечения типа Java-машины. bada обеспечивает поддержку многозадачности и доступ программ ко всем функциям платформы
Правда, за этот плюс придется платить невозможностью легкого портирования наработок, сделанных для iPhone OS, Android и других платформ. Но разве это отпугнет опытного программиста?
Какими бы замечательными ни были внутренние слои bada, все может испортить неудобный пользовательский интерфейс. Ведь именно с ним и взаимодействует конечный пользователь, и в интересах разработчика не дать ему понять, что он покупает смартфон или просто сложное в обращении устройство, требующее изучение инструкций.
Но все обошлось: лицо bada — любимый всеми фирменный интерфейс TouchWiz UI. Апробированный и доведенный до ума на множестве тачфонов Samsung.
В bada используется его последняя версия TouchWiz 3.0, отличающаяся поддержкой десяти рабочих столов, красивыми 3D-эффектами в панели виджетов и управляющих элементов.
Узнаваемость интерфейса вкупе с лёгкостью его освоения привлечет как людей, знакомых с аппаратами Samsung, так и новичков, находящихся на перепутье выбора платформы.
Коммуникатор Samsung S8500 Wave совершено справедливо называть флагманом. Аппаратные характеристики и платформа bada дают ему весомые преимущества в битве с конкурентами.
Обладая 3,3’’ экраном с разрешением 800x480 точек, основанном на революционной технологии Super AMOLED mDNle, поддержкой Bluetooth 3.0 и Wi-Fi стандарта n, этот аппарат способен составить достойную конкуренцию таким бестселлерам, как iPhone 3GS и HTC HD2. И не просто составить: Samsung Wave фактически является первым коммуникатором, который может осуществлять запись, воспроизведение и даже редактирование видеоконтента в HD-разрешении 720p. Этой функцией он обязан быстрому 1 ГГц процессору Qualcomm Snapdragon и платформе bada, обеспечивающей эффективное управление видеофункциями.
Но любая платформа будет мертворожденной без должной поддержки программами и играми. Samsung позаботилась как о программистах, снабдив их средствами разработки bada-программ, так и о пользователях, открыв во второй декаде марта магазин приложений Samsung Apps.
Средства разработчика bada включают в себя: инструментальный набор (SDK), интегрированную среду разработки (IDE — Integrated Development Environment), основанную на известной Java-разработчикам IDE Eclipse и bada Simulator — программный эмулятор коммуникатора Wave. Средства разработки bada устанавливаются и функционируют в среде Windows XP и выше.
bada-программисту предоставляется целый набор средств разработки, а также помощь bada-сообщества, которое формируется быстрыми темпами.
Разработка bada-программы начинается с регистрации на сайте разработчиков и завершается регистрацией программы в магазине Samsung Apps.
Свои программы для bada разработчики могут распространять через магазин Samsung Apps. Доступ к нему пользователь бадафона может получить с помощью соответствующего приложения в своем коммуникаторе, через браузер или с помощью специальной программы Kies — некоторого подобия Apple iTunes, которое обеспечивает синхронизацию скачанных на компьютер программ с бадафоном.
Владельцы смартфонов на bada могут скачивать программы из активно развивающегося магазина Samsung Apps. Принцип его работы ничем не отличается аналогов: App Store или Android Market.
В настоящее время в Samsung Apps доступно более 200 программ, что, конечно, не идет ни в какое сравнение с лидерами рынка — App Store и Android Market. Но эта ситуация вскоре исправится — о поддержке платформы bada заявили крупнейшие производители игр. В настоящее время на нее портированы такие бестселлеры, как Guitar Hero, Need for Speed, Spiderman.
Samsung CIS 2010: итоги круглого стола, посвящённого bada
- Ставки на новую платформу делаются немаленькие: под конец 2010 года в планах у Samsung покрытие 50% своей доли своих смартфонов в России бадафонами. В сумме, за текущий год компания планирует реализовать 10 миллионов аппаратов на bada по всему миру.
- В теории, ничто не мешает брать bada на вооружение другим вендорам. На практике, в этом совершенно не заинтересована сама Samsung.
- За 2010 год будет выпущено еще несколько устройств, но до осени Wave будет флагманским решением в модельном ряду компании. В дальнейшем планирутся расширение еще несколькими моделями, которые будут анонсированы в середине года.
- В лучшем случае Samsung Wave поступит в продажу в мае. В худшем — в конце июня. По цене, приблизительно, в 21000 рублей.
- В bada присутствует многозадачность, но пока не в полноценном виде: одновременно можно запустить одно Java- и одно bada-приложение
- По мнению Samsung, bada — не операционная система, а мобильная платформа. В ней используется стороннее ядро — Linux (как в Android) или ядро операционной системы реального времени. bada поддерживает несколько ядер: Linux, Nucleus и QNX, и в конечном счете выступает лишь надстройкой. Платформа будет задействована как для бюджетных тачфонов, так и для флагманов. Выбор ядра будет зависеть от ценовом сегмента, в котором будет представлено устройство. Например, для Cortex A8 будет задействованы более продвинутые ядра вроде Linux, а для ARM 9 — ядра ОС реального времени. Приложения масштабируются автоматически под любое разрешение экрана и не потребуют адаптации от бюджетного телефона к продвинутому.
- Samsung не рассматривает Adnroid или другие платформы конкурентами bada.
- В Touch Wiz 3.0 появилась фиксация виджетов на рабочем столе со стандартным размером и возможность совмещать несколько виджетов в одном. Например, часы и погоду. По мнению Samsung, виджеты в bada вплотную приблизились к веб-приложениям.
- Поддержка социальных сетей напрямую интегрирована в телефонную книгу, из которой можно будет посмотреть статус пользователя, обновления, его присутствие в сети и сразу же отправить сообщение.
- Поддерживается запись HD-видео, компас, датчик положения и приближения. Есть средства лля распознавания лиц, поиск как внутри телефона, так и по сети. Сетевой стримминг. Средства для работы с LBS-сервисами. Любое приложение может использовать карты, поддерживается геотегинг, определение местоположения.
- В каждом телефоне будет интегрирован магазин приложений, которым можно будет воспользоваться и с компьютера. Будете поддерживаться оплата как кредитной картой, так и с мобильного телефона. Многие ошибки, которые допустила Apple с ужесточением политики доступа приложений в Samsung App Store компания постарается не повторить.
- Взаимодействие с социальными сетями bada осуществляет через транзитный сервер, и через него проходит много конфиденциальной информации. Но Samsung уверяет, что все данные ширфуются и прочитать их невозможно
- Изначально Samsung делает упор на расширение числа приложений для социальных сетей, словарей, игр. К выходу на рынок Wave для bada уже будет написан ICQ-клиент, и, возможно, он будет предустановлен в аппарат.