В марте этого года была представлена первая предварительная версия Android N. Пока она существует в бета-версии и дата окончательного релиза еще не определена (предположительно ОС выйдет во второй половине 2016 года).
Мы рассказали об основных нововведениях и тенденциях, которые можно увидеть в обновлении уже сейчас, на стадии бета-тестирования, с первым Android в России.
Эксперт по разработчикам Google Денис Неклюдов .
А для тех, кто хочет встретиться лично, Денис выступит на конференции.
Мебиус 2016 4 июня в Санкт-Петербурге.
- Привет! Расскажите, пожалуйста, в нескольких словах о себе и своей работе.
- Добрый день! Меня зовут Денис Неклюдов.
Я работаю в небольшой компании, которая занимается разработкой мобильных приложений для финансовых учреждений и стартапов.
В компании я занимаю должность тимлида, специализирующегося именно на Android-разработке.
Помимо основной работы, я участвую в записи Подкаст для разработчиков Android , где мы с коллегами подробно рассказываем о технологиях Google и развитии в целом на профессиональном уровне.
— Что означает ваш эксперт по разработчикам Google? Что это дает вам в профессиональном плане? — Год назад я получил статус Google Developer Expert. По замыслу Google, основная задача эксперта GDE — соединить создателей технологий компании и простых разработчиков, которые эти технологии используют. Соответственно, эксперт может иметь ранний доступ к новым разработкам компании, имеет определенные привилегии при выступлении на конференциях и т. д. Лично мне статус GDE позволяет оперативно получать информацию о технологиях, влияющих на мою профессиональную деятельность.
Я использую это как на работе, так и при записи выпусков Android Dev. А еще занимаюсь любимым хобби: делюсь знаниями с людьми на конференциях, подкастах и статьях.
— Наверняка вам уже приходилось работать с превью-версиями Android N. Что вы думаете о представленном обновлении как разработчик? — Пока рано давать полное впечатление, потому что… На данный момент выпущена только вторая техническая предварительная версия, которая далека от финального релиза.
Но основные возможности и идеи, заложенные в обновлении, уже видны.
Я не могу сказать, что Android N — это обновление, которое глобально меняет, ломает или привносит что-то в платформу.
Это еще одно полное ежегодное обновление, добавляющее недостающие части и улучшающее существующие элементы, как, например, прошлогодний Marshmallow. — Новая версия Android N содержит немало нововведений.
Насколько они актуальны для текущего уровня развития аппаратного обеспечения мобильных устройств? — В новом Android нет нововведений, создающих большие нагрузки на оборудование (в частности, процессор и видеокарту).
Да, появился многооконный режим, но Android-устройства уже давно работают в многопоточной среде, когда в фоновом режиме могут одновременно запускаться несколько приложений и сервисов.
Так что у современных устройств не возникнет проблем с отображением двух приложений в многооконном режиме.
Для тех, кто плотно работает с железом, самое интересное там — Vulkan API, но, насколько я знаю, он тоже не так требователен к ресурсам.
Скорее наоборот — он оптимизирован за счет работы на более низком уровне и позволяет получать больше fps при той же производительности оборудования.
— Есть мнение, что интерфейс предыдущих версий Android не очень подходит для устройств с большими экранами.
Можно ли сказать (на основании заявленных нововведений и их реализации в превью-версиях), что в Android N эта проблема будет решена, в частности за счет многооконного режима? — На мой взгляд, утверждение о том, что Android плохо адаптирован для больших экранов, является умозрительным.
Действительно, бытует мнение, что приложения для iPad (написанные для iOS) выглядят красивее и более адаптированы для планшетов, чем «планшетные» версии приложений для Android. Но это нюансы самих приложений.
Это связано не с размером экрана, а с UX при работе с планшетом.
Раньше, возможно, были подобные трудности.
Но еще в 2011 году, когда был представлен Android 4.0 и одна ОС стала работать как на планшетах, так и на других устройствах, у разработчиков появилась возможность делать приложения для планшетов и телефонов в одном установочном файле (едином apk-файле).
Те.
проблема была решена.
Не думаю, что анонсированные нововведения как-то радикально изменят пользовательский опыт работы с Android-планшетом.
— Какие нововведения системы, на ваш взгляд, были наиболее ожидаемы разработчиками? — Честно говоря, я не заметил в списке нововведений Android N каких-то вау-фич, о которых все мечтали (о которых можно было бы сказать: «Ух ты, мы этого ждали, и они наконец это сделали»).
По большому счету существующих инструментов в Android достаточно, но принципиальные недостатки, которые хотелось бы исправить, найти сложно.
Но могу отметить наиболее значимые нововведения.
Первый пункт — это даже не вау-фича, а скорее, наоборот, очередной шаг в «закручивании гаек», который Google осуществляет на протяжении нескольких последних релизов ОС.
Речь идет о проектах внутри ОС, которые приводят к нехватке ресурсов при работе в фоновом режиме.
В принципе, это очень логичный шаг, поскольку изначально Android позволял приложению работать так, как ему хочется, и потреблять столько ресурсов, сколько ему хочется (независимо от того, как давно оно было открыто у пользователя).
Но на рынке много недобросовестных разработчиков, которые активно используют системные ресурсы, даже когда их приложение находится в фоновом режиме.
И с каждым релизом (и в Android Marshmallow, и теперь в Android N) Google демонстрирует тенденцию к ограничению системных ресурсов, а также доступа к сети, доступной приложениям, которые давно не используются, но работают в фоновом режиме.
.
Это вполне логично и позволяет продлить срок службы батареи, избавив пользователя от головной боли, связанной с работой в фоновом режиме кучи сервисов, о которых он понятия не имел.
Второй момент — долгожданная официальная поддержка черного списка входящих звонков.
Наиболее актуально для разработчиков приложений-менеджеров контактов или менеджеров входящих звонков.
Всем известно, что раньше, чтобы реализовать блокировку нежелательных входящих вызовов в Android, приходилось творить магию с отражением, а это не самое приятное решение.
Теперь наконец-то появился официальный API. Важные нововведения, о которых говорят не все журналисты, но разработчики заметили сразу, — это изменения в безопасности.
В Android N улучшена запись сертификатов, что позволит создавать более безопасные приложения, менее подверженные атакам злоумышленников.
Еще одним хорошим дополнением является поддержка icu4j, которая позволяет делать разные вещи с локализацией приложений (в частности, работать с форматированием чисел и другими локаль-зависимыми вещами).
— Как вы можете прокомментировать переход на новую версию Java? - Это двойная точка.
С одной стороны, переход на новую версию действительно необходим.
Это естественный процесс, мы рады, что появилась поддержка.
Но переход не столь ожидаем.
Многие разработчики, давно мечтавшие о возможностях Java 8, уже перешли на Kotlin с JetBrains, и Google не возражает против такого подхода.
Таким образом, они получили возможность самореализоваться в красивом коде.
Кроме того, существует проект Retrolambda, который позволяет использовать лямбды при написании кода на Java 7. Он не сильно замедляет процесс компиляции, но в то же время ускоряет разработку для любителей вставлять лямбды.
В любом случае разговор о версиях Java — это разговор о красоте кода.
Если человек думает о разработке продукта, а не о самореализации в чистом коде, всё это вторично.
Поэтому наличие новых функций Java 8, безусловно, является положительным моментом; Спасибо Google, что они к этому идут. Но многие возможности Java 8 будут поддерживаться только в Android N, и установить ее в основную или минимальную версию мы сможем не скоро — к тому времени выйдет Java 9, а может быть и Java 10. И опять же это будут какие-то бэкпорты, альтернативные способы использования фич.
— Есть ли какие-то нововведения, которые, наоборот, усложнят работу, за исключением уже упомянутого «закручивания гаек» с ресурсами для приложений в фоне? — Отключение ресурсов — это на самом деле самое главное.
Режим Doze, предназначенный для того, чтобы приложения получали все меньше и меньше ресурсов, является ключевой проблемой, особенно для парней, которые длительное время держат какие-то открытые сокеты в фоновом режиме, пытаются получить изменения местоположения пользователя, изменения состояния сети, и т. д. Теперь все они должны иметь в виду, что ситуация меняется и им необходимо перейти на встроенную службу сообщений Google и push-уведомления.
Еще одна вещь, о которой следует беспокоиться разработчикам, начинающим писать для Android N, — это динамическое изменение DPI. Теперь пользователь может на лету менять множитель DPI в своем устройстве, и весь макет внезапно изменит свою форму.
Поэтому разработчик должен при проектировании сделать интерфейс максимально гибким и учесть, что пользователь может не только сменить устройство на другое, но и изменить множитель DPI на существующем устройстве.
— Динамическое изменение DPI — это «хвост» многооконного режима? — Постулат о том, что разработчики должны создавать гибкий интерфейс, связан с плавной версткой и многооконным режимом, но динамическое изменение DPI сделано больше для людей с плохим зрением.
Это позволит им не только увеличить размер шрифта, как и раньше, но и улучшить весь интерфейс, сделав его крупнее, чтобы было удобнее просматривать отдельные элементы на экране.
Например, я был бы рад, покупая дедушке новый смартфон, уменьшить значение DPI, чтобы он мог видеть все на экране.
— Вышла только вторая версия Preview для разработчиков.
Не рано ли начинать перенос приложений, тем более, что окончательная дата релиза системы еще не назначена? — Здесь важно говорить о категориях застройщиков.
Если вы конвейерный разработчик, который делает приложение за приложением для заказчика, то я не вижу особого смысла сейчас смотреть в сторону Android N и пытаться объяснить заказчику, что ему уже нужно его собрать.
Особенно если речь идет о приложениях-однодневках для 0,1 пользователей.
Если вы серьезная продуктовая компания, и у вашего продукта уже миллионы пользователей, то, конечно, зачем беспокоиться? В любом случае вам придется поддерживать Android N. Так что делайте это заранее, хотя бы на бета-версиях ваших будущих релизов.
Установите поддержку и посмотрите, как работают ваши приложения с учетом фоновых ограничений, изменений макета и т. д. Более того, если у вас миллионы пользователей, то хотя бы небольшой процент из них будет иметь Android N, как только выйдет релиз (или возможно, они уже используют бета-версию).
Почему бы не порадовать их поддержкой новых функций и адаптацией своего приложения под эту систему? — Замечены ли какие-либо проблемы в SDK для Android N? — Насколько мы с коллегами старались, особых проблем нет. Вы можете взять новые фишки и попробовать их использовать.
Однако, насколько мне известно (возможно, что-то уже изменилось), полной поддержки всех функций Java 8, обещанных в Android N, пока нет. — На ваш взгляд, сейчас лучше разработчикам сразу ориентировать новые приложения на Android N или посмотреть на более распространенные версии системы? — Если исходить из самой распространенной версии ОС на рынке, то нам нужно разрабатывать под Android 5.1 lollipop и даже не думать о поддержке Marshmallow, ведь у нее не так много пользователей.
Но такой подход изначально не правильный, т.к.
каждый день обновляется все больше пользователей.
Например, многие флагманы Samsung обновились до Marshmallow, а это означает огромное количество пользователей.
Поэтому нужно, конечно, разрабатывать под последние версии Android и тестировать как на предыдущих, так и на самых популярных — это всегда будет выигрышный подход.
Приглашаем хабровчан на конференцию по мобильной разработке Мебиус 2016 (Санкт-Петербург, 4 июня), на котором Денис выступит с двумя докладами: Подробная информация о конференции - на ее сайте .
Теги: #Android #Разработка Android #Разработка мобильных приложений #разработка мобильных приложений #android n #где
-
Электронное Обучение И Его Преимущества
19 Oct, 24 -
Хайдеггер, Мартин
19 Oct, 24 -
Мобильный Gmail Вышел На Русском Языке
19 Oct, 24 -
Моя Система Домашней Автоматизации
19 Oct, 24 -
Gnome Nautilus: Настройка Главной Панели
19 Oct, 24