Плюсы и минусы использования Android в качестве встроенной ОС

Алан Леви вместе с Plextek Consulting опубликовал интересный технический документ, в котором рассматриваются различные проблемы, связанные с встраиванием Android в приложения, отличные от обычных смартфонов, планшетов и смарт-телевизоров.

В девятистраничном техническом документе «Использование Android во встроенном продукте» Леви дает краткий обзор Android и его происхождения, а затем приступает к оценке его плюсов и минусов по сравнению с приложениями на общем рынке встраиваемых систем.

«Честно говоря, для массового рынка портативных устройств, таких как телефоны и планшеты, использование Android довольно просто, если вы не Microsoft, Apple, Nokia или RIM», - пишет Леви.
«Для других устройств (например, In-Car Entertainment, телевизоров, телевизионных приставок и т. Д.) Решение не столь однозначно», однако.

Затем он перечисляет длинный список проблем - как положительных, так и отрицательных, о которых следует подумать, прежде чем принимать решение о развертывании Android во встроенном приложении.
Среди тем, обсуждаемых Леви, есть…

Некоторые потенциальные преимущества:

  • Упрощает процесс разработки, производит более профессиональный конечный продукт и ускоряет выход на рынок.
  • Это сложная, высокоэффективная встроенная ОС с простым в использовании, знакомым графическим интерфейсом пользователя.
  • Позволяет легко поддерживать широкий спектр устройств, датчиков и программных возможностей в вашем продукте.
  • Клиенты слышали об этом и, возможно, уже используют его.
  • Простой Интернет-доступ к сотням тысяч бесплатных и недорогих приложений.
  • Любой, имеющий необходимые навыки, может разрабатывать и развертывать свои собственные приложения.
  • Он легко настраивается, позволяя разработчикам изменять его поведение и внешний вид.
  • Написан на общих языках программирования, что облегчает поиск разработчиков, которые могут с ним работать.
  • Доступен в Google, без лицензий и лицензионных платежей (однако, см. Первый пункт ниже).

Некоторые потенциальные недостатки:

  • Некоторые компоненты типичных реализаций потребительских устройств Android включают лицензирование, авансовые платежи, роялти за единицу (например, Google Services, кодеки и т. Д.).
  • Он построен из смеси языков программирования: слоев Java и C ++ поверх настраиваемого ядра Linux, написанного в основном на C.
  • В зависимости от результатов продолжающихся правовых баталий, использование Android может потребовать выплаты роялти третьим сторонам.
  • Поскольку Android изначально предназначался для процессоров ARM, поддержка x86 невелика (но улучшается).
  • Функциональность Android «распределена по широкому кругу подсистем», что приводит к увеличению внутренних коммуникаций задач и накладных расходов на планирование.
  • Добавление нового класса оборудования может быть сложным процессом, когда его невозможно обработать в существующем Java API.
  • Android требует умеренно мощных ресурсов процессора, оперативной памяти и флэш-памяти.
  • Архитектура управления питанием Android делает предположения, которые не всегда соответствуют требованиям и возможностям приложений (например, время загрузки, приостановка в ОЗУ, постоянное хранилище и т. Д.).
  • Взлом Android может быть проблематичным из-за его большого размера, отсутствия адекватной документации в источниках, трудностей регрессионного тестирования и т. Д.

Полный девятистраничный документ Леви можно загрузить с веб-сайта PlexTek, здесь (файл PDF).