Введение

Access Linux Platform (ALP) — это прекращенная операционная система с открытым исходным кодом, ранее известная как «операционная система Palm OS следующего поколения», для мобильных устройств, разработанная и продаваемая компанией Access Co. из Токио, Япония. Платформа включала среды выполнения для Java, классической Palm OS и нативных приложений Linux на основе GTK+. ALP был продемонстрирован на различных конференциях, включая 3GSM, LinuxWorld, GUADEC и Open Source in Mobile. Платформа была впервые анонсирована в феврале 2006 года. Первые версии платформы и комплекты разработки программного обеспечения были официально выпущены в феврале 2007 года. Компании Access, Esteemo, NEC, NTT DoCoMo и Panasonic предприняли скоординированные усилия по использованию платформы в качестве основы для единой платформы, реализующей пересмотренную версию интерфейсов программирования приложений (API) i.mode Mobile Oriented Applications Platform (MOAP) (L), соответствующих спецификациям LiMo Foundation. Первым смартфоном на базе ALP должен был стать Edelweiss от Emblaze Mobile, выход которого планировался на середину 2009 года. Однако, разработка была приостановлена до выпуска. Смартфон First Else (переименованный из Monolith), разрабатываемый компанией Sharp Corporation в сотрудничестве с Emblaze Mobile и семью другими партнерами, планировался к выпуску в 2009 году, но так и не был выпущен и был официально отменен в июне 2010 года. Платформа больше не упоминается на веб-сайте Access, но компании Panasonic и NEC выпустили несколько телефонов ALP для японского рынка в период с 2010 по 2013 год.

Посмотри и почувствуй

Пользовательский интерфейс был разработан с аналогичными общими целями, как и в предыдущих версиях Palm OS, с намерением сохранить «Дзен Палма» — философию дизайна, сосредоточенную на максимальной простоте приложений. Другой особенностью интерфейса была ориентация на задачи, а не на файлы и документы, что более характерно для настольных систем. Внешний вид платформы задумывался как высоко настраиваемый, чтобы обеспечить индивидуализацию для различных устройств и сценариев использования. В последних версиях разработчики перешли к гораздо более современному виду с поддержкой жестов, и он существенно отошел от Palm OS.

Базовые рамки

Как и Maemo, платформа для интернет-планшетов Nokia, ALP была построена на компонентах, взятых из проекта GNOME, включая фреймворки GTK+ и GStreamer. Различные другие основные компоненты были заимствованы из популярных проектов с открытым исходным кодом, таких как BlueZ, matchbox, cramfs и другие. Эти компоненты распространялись под лицензиями GNU General Public License (GPL), GNU Lesser General Public License (LGPL) и другими лицензиями открытого исходного кода, что делало ALP свободной и открытой средой на программном уровне. Некоторые компоненты ALP были выпущены под лицензией Mozilla Public License в рамках проекта The Hiker Project. Эти компоненты решали задачи жизненного цикла приложений, межпроцессного взаимодействия, обмена и использования структурированных данных, безопасности, уведомлений, основанных на времени и событиях, и других аспектов, важных при разработке приложений для мобильных устройств.

Разработка приложений

В ALP были представлены стандартные API для большинства распространенных операций, определенных стандартами Portable Operating System Interface (POSIX) и Linux Standard Base (LSB). Однако ни один из этих стандартов не охватывает такие области, как телефония, настройка устройств, обмена сообщениями и ряд других, поэтому Access разработал для них дополнительные фреймворки и API. Приложения для ALP могли разрабатываться как нативный код Linux на C или C++, как устаревшие приложения Palm OS (которые запускаются в среде эмуляции Garnet VM), так и на Java. Поддержка дополнительных сред выполнения осуществлялась посредством разработки лаунчера, используемого менеджером приложений (компонент фреймворка Hiker). ALP SDK использовала интегрированную среду разработки (IDE) на базе Eclipse с дополнительными плагинами, как и предшествующая среда разработки Palm OS. В качестве компиляторов использовались версии ARM стандартного набора инструментов GNU Compiler Collection (GCC) с поддержкой встроенного бинарного интерфейса приложений (EABI).

Безопасность

ALP использовал сочетание системы безопасности, основанной на политиках в пользовательском пространстве, и модуля безопасности Linux в пространстве ядра для реализации детального контроля доступа. Компоненты, используемые для реализации безопасности ALP, были опубликованы как часть фреймворка Hiker. Контроль доступа осуществлялся на основе сигнатур и сертификатов; неподписанным приложениям может быть разрешен доступ к заранее определенному набору безопасных API.