Google показала Android 4.0 Ice Cream Sandwich вместе со смартфоном Galaxy Nexus. Главное в релизе – не голографический интерфейс и не разблокировка по лицу, а слияние двух веток системы. До сих пор смартфоны жили на ветке 2.x (Gingerbread), а планшеты – на отдельной 3.x (Honeycomb). Теперь это одна платформа с единым API. Для бизнеса, который планирует мобильные проекты, это меняет экономику разработки.
Одна кодовая база вместо двух
Раньше корпоративное приложение под Android приходилось вести фактически как два продукта. Телефонная версия использовала старый набор компонентов, планшетная – Fragments и Action Bar из Honeycomb, доступные только на 3.x. Команда дублировала логику, тестировала на двух несовместимых наборах устройств и платила за это сроками.
Android 4.0 переносит планшетные API на телефоны. Fragments, Action Bar, новая система уведомлений и сетка макетов теперь работают на обоих классах устройств. Один проект, один набор экранов, адаптирующихся под диагональ. Для заказной разработки это прямое сокращение трудозатрат: меньше веток кода – меньше регрессий и дешевле сопровождение.
Сдерживающий фактор честно назвать стоит. Парк устройств остаётся пёстрым: подавляющая доля смартфонов на руках всё ещё работает на 2.3, и обновления до 4.0 пойдут медленно – производители не торопятся. Поэтому ближайший год реальные проекты будут собирать на библиотеке совместимости (Support Library), которая переносит Fragments на старые версии. Но целевая архитектура наконец одна, и закладывать её в новые системы можно уже сейчас.
Что это даёт корпоративным и государственным заказчикам
Единая платформа упрощает сценарии, где сотрудник работает и с телефона, и с планшета. Выездной инспектор заполняет форму на планшете в поле и сверяет статус заявки с телефона – одно приложение, одинаковое поведение, общий код синхронизации. Полевой сбор данных, мобильные рабочие места, корпоративные порталы – для всего этого больше не нужно делить бюджет на две разработки.
Для госсектора важна и сторона интеграции. Мобильный клиент редко существует сам по себе – он точка входа в ведомственные системы. Подключение к инфраструктуре межведомственного взаимодействия и внутренним сервисам остаётся на стороне сервера, и единая клиентская платформа упрощает эту связку: один контракт API обслуживает все форм-факторы.
Открытость Android – отдельный аргумент для организаций с требованиями к контролю над устройством. В отличие от закрытых экосистем, где помощник вроде Siri отправляет команды на внешние серверы, здесь распределение приложений, политики безопасности и хранение данных можно держать внутри периметра.
Веб или нативное приложение
Слияние веток не отменяет вопроса, который заказчик задаёт первым: писать нативно или обойтись веб-интерфейсом. Ответ зависит от задачи. Если нужен доступ к камере, геолокации, офлайн-режиму и плотной интеграции с устройством – нативный Android 4.0 даёт это с одной кодовой базой. Если приложение в основном показывает данные и формы, разумнее посмотреть в сторону HTML5 как кроссплатформенной базы, которая закроет и iOS, и Android без двух команд. Выбор между нативным и веб-подходом стоит делать в начале проектирования мобильного приложения, отталкиваясь от задачи, а не от платформы.
Вывод
Ice Cream Sandwich – это не косметическое обновление, а сведение двух платформ в одну. Практический эффект проявится через год-полтора, по мере обновления парка устройств, но проектировать новые корпоративные системы под единый Android стоит уже сейчас. Это снижает стоимость владения и убирает дублирование, которое до сих пор закладывали в любую серьёзную мобильную разработку.