Android M и инструменты для разработчиков +39


Привет, Хабрахабр! В прошлом году мы впервые предоставили разработчикам тестовую версию Android L и получили множество полезных отзывов, которые касались Material Design, а также новых платформ Android Auto, TV и Wear. Вчера на конференции Google I/O мы объявили о повторении нашего удачного опыта: встречайте тестовую версию Android M.



Разработчики остались довольны ранним доступом к новой версии Android в прошлом году: он позволил обновить и оптимизировать приложения для новой версии операционной системы, в которой было введено много нового (в том числе и полностью переосмыслен дизайн и гайдлайны по проектированию интерфейса). Мы хотим и дальше предоставлять разработчикам возможность качественно подготовиться к релизу новой версии ОС: как вы и просили, мы обеспечим более четкий график обновлений SDK и тестовой версии Android M.


Главное в Android M: совершенствование основ


Android L принёс с собой абсолютно новый пользовательский интерфейс, новую среду исполнения программ ART, увеличил скорость работы и отзывчивость интерфейса. В Android M мы сосредоточились на улучшении базового пользовательского опыта: устранили различные ошибки и внесли крупные изменения в основные элементы платформы.

Разрешения для приложений
Мы решили дать пользователям больше возможностей контролировать доступ приложений к ресурсам смартфона. Теперь запросы будут появляться прямо во время работы приложения, в соответствующем контексте, и пользователи смогут выбрать, давать разрешение или нет. Кроме того, пользователи смогут легко управлять правами установленных приложений через системное меню настроек. Это изменение упрощает процесс установки и способствует ускорению обновлений, так как вмешательства пользователей при изменении списка разрешений больше не потребуется.

image


Количество устройств на Android M будет увеличиваться, и данное изменение потребует от разработчиков создавать приложения таким образом, чтобы запросы на доступ появлялись, когда это требуется, и учитывать, что некоторые разрешения на доступ не будут получены.

Наводим мосты
App Links — это новый способ “наводить мосты” между различными Android-приложениями. У разработчиков и раньше была возможность обрабатывать URL внутри приложений. В новом Android M можно добавить атрибут autoVerify в манифест приложения, чтобы пользователи могли без дополнительных запросов переходить по определённым ссылкам прямо в оригинальное приложение, минуя этап открытия браузера и окно выбора с продолжением в нативном приложении. App links, а также индексирование приложений для Google Поиска упрощает переход и возвращение между используемыми приложениями.

Энергосбережение
Android становится умнее, и это касается в том числе и систем управления питанием. Новая система “глубокого сна” («Doze») позволит вашим устройствам работать ещё дольше. Для оптимизации энергопотребления Android M будет обращаться к датчикам движения, определять, когда устройство не используется и переходить в режим максимального энергосбережения. При этом оповещения и важные сообщения по-прежнему будут приходить. Разработчикам же следует подготовиться к нововведениям и режиму “глубокого сна”: например, при разработке мессенджера можно использовать сообщения с высоким приоритетом, чтобы получить ответ от вашего приложения даже в режиме “глубокого сна”.

Мы также рады сообщить о некоторых более крупных нововведениях.

Google Now в одно касание (Now on tap)
Новая система взаимодействия с помощником Google Now позволит ещё проще получать подсказки. Предположим, вам пришло сообщение от приятеля, в котором он приглашает вас посетить новый ресторан. Вы сможете обратиться к Google Now, не переключаясь между приложениями. Проанализировав текст сообщения, сервис найдёт меню ресторана и отзывы о нём, поможет забронировать столик, проложит маршрут и предоставит ссылки на подходящие приложения.

image


С Now в одно касание находить нужную информацию и выполнять различные действия можно очень быстро. Чтобы предоставить пользователям возможность работать с приложением через Google Now, от разработчика потребуется внедрить индексацию приложений для Google поиска.

Android Pay и отпечатки пальцев
Для внедрения платёжной системы Android Pay требовалось два компонента, работающих на уровне системы: NFC, внедренный версии Android 2.3, и эмуляция банковских карт, которая появилась в версии Android 4.4. Вчера мы представили Fingerprints API — еще один компонент безопасной и простой системы, который позволяет работать с биометрическими данными на уровне ОС.



Вместе Android M и Android Pay позволяют пользователям подтверждать покупки (как в розничных сетях, так и в Google Play) одним прикосновением к сканеру отпечатков пальцев. С добавлением поддержки отпечатков на системном уровне в Android M пользователи смогут обезопасить себя от несанкционированных покупок, разблокировать телефон и отдельные приложения; а разработчики — использовать универсальные системные API для работы с биометрической авторизацией в своих приложениях, причём работать это будет на всех поддерживаемых системой устройствах и сканерах.

image


На этом список нововведений Android M не заканчивается. Узнать подробнее обо всех изменениях и улучшениях новой версии Android можно по этой ссылке.

Инструменты для разработчиков Android


Было бы странно выпустить тестовую версию Android M с новыми функциями, но не предоставить соответствующие инструменты для разработки, поддерживающие новые возможности. Поэтому мы рады представить Android Studio 1.3. Теперь разработчики смогут адаптировать свои приложения к новейшим API, которые поддерживает Android M.


Ранний доступ к Android Studio 1.3
В новую версию Android Studio мы добавили функцию, о которой давно просили разработчики Android NDK и игр: возможность изменять и отлаживать код на языке C или C++.

image


NDK-плагин Android Studio создан на базе платформы JetBrains Clion и позволяет проводить рефакторинг и компиляцию кода C и C++ а также работать с Java-кодом вашего приложения. Поддержка этих языков программирования включена в единую среду разработки, бесплатную для разработчиков приложений Android. Установите Android Studio 1.3 через канал обновлений Canary сегодня и поделитесь с нами своим мнением.

Android Design Support Library
Разрабатывать приложения по принципам Material Design стало ещё проще! Новая библиотека Android Design Support Library содержит набор основных компонентов, обратно совместимых с API 7, например, плавающую кнопку действий, строку состояния, панель навигации, панели инструментов. Не тратьте время на изобретение велосипеда, добавьте их в свое приложение, чтобы оно соответствовало оформлению системы.

Обновление Google Play Services
Google Play Services версии 7.5 содержит в себе много новых возможностей, начиная с хранилища паролей Smart Lock, а также новых API для Google Cast и Google Cloud Messaging, и заканчивая доступом к API Карт Google на устройства Android Wear.

One more thing


Мобильность стала синонимом повседневности: проверить почту по пути на работу, поделиться фотографией прямо в парке, устроить видеоконференцию, находясь в автомобиле — сейчас этим никого не удивишь. Тем не менее, у подобных приложений осталась одна проблема, которая в большинстве случаев просто не решается разработчиками ввиду её сложности и огромных трудозатрат. Как вы поняли, речь идёт о прекращении работы из-за потери интернет-соединения или необходимости повторной загрузки большого объёма данных при повторном открытии приложения.

Сегодня мы с радостью представляем вам набор функций для SDK на Android и iOS, позволяющих вам создавать приложения, которые работают оффлайн без проблем. Встречайте Firebase Offline!

Работа с Firebase Offline
Новый SDK поддерживает сохранение ваших синхронизируемых данных на локальный диск. Таким образом, они становятся доступны вашему приложению сразу после его запуска. Включить режим синхронизации можно с помощью всего одной строчки кода:
// Android
Firebase.getDefaultConfig().setPersistenceEnabled(true);
 
// Obj-C
[Firebase defaultConfig].persistenceEnabled = YES;
 
// Swift
Firebase.defaultConfig().persistenceEnabled = true

C помощью новых инструментов вы сможете сами определить, какие данные требуется загружать заранее и сохранять для работы без интернет-соединения. Для этого используется функция keepSynced:
// Android
ref.keepSynced(true);
 
//Obj-C
[query keepSynced:YES];

Разработано специально для мобильных сетей
Для обмена информацией между клиентом и сервером в базе данных Firebase вместо классической системы «запрос-ответ» используется синхронизация. Все операции по чтению и записи сначала выполняются в локальной версии базы данных, хранящейся на устройстве; затем происходит взаимный обмен информацией между серверами. Всё это позволяет Firebase компенсировать нестабильное соединение: локальные операции записи комбинируются с локальными операциями по чтению перед тем, как их подтвердит сервер.

image


Но и это ещё не всё. Приятным бонусом такого дизайна является более качественная оффлайн-работа приложения в целом. Поскольку все данные сперва проходят через локальную версию базы данных, SDK «выбирает» наиболее оптимальный источник: сеть или локальный диск. Позже, когда сеть становится доступной, SDK автоматически отправляет локальные изменения на сервер и получает от него последние обновления.

Firebase: всё уже проверено и работает
С самого начала мы создавали Firebase для поддержки работы приложений в режиме оффлайн — команде потребовалось несколько лет, чтобы завершить начатое. С 2013 года компания Citrix проводит бета-тестирование функции офлайн-поддержки для своего приложения Talkboard на базе iOS. При работе в таком режиме действия пользователя в приложении сохраняются на устройстве, а при подключении к Интернету синхронизируются с серверами. Например, вы нарисовали что-то на «холсте» в Talkboard, и даже если вы в этот момент не были подключены к Сети, рисунок не потеряется, а будет сохранен и передан на сервер как только подключение возобновится.

Ключ на старт


Android M для разработчиков включает в себя обновленный SDK с инструментами и образами системы, предназначенными для тестирования на официальном эмуляторе Android, а также на устройствах Nexus 5, Nexus 6, Nexus 9 и Nexus Player. Мы расширили программу тестирования, так что у вас будет больше времени на подготовку к окончательному запуску Android M этой осенью. Ваши отзывы помогут нам обновлять образы системы чаще. Чем раньше вы поделитесь с нами вашими впечатлениями, тем эффективнее пройдет тестирование!

Чтобы начать работу с тестовой версией Android M и подготовить свои приложения к окончательному запуску, следуйте этим инструкциям:

  1. Установите тестовую версию Android Studio 1.3+;
  2. Посетите сайт Android M для разработчиков;
  3. Ознакомьтесь с новыми API и Изменениями в разрешениях для приложений;
  4. Посетите справочную библиотеку дизайна Android и ознакомьтесь с API сервисов Google Play;
  5. Получите образы системы для тестирования через SDK Manager или скачайте образы системы для устройств Nexus;
  6. Протестируйте свои приложения на устройстве Nexus или эмуляторе;
  7. Поделитесь с нами своими впечатлениями.


Начать работу с новым оффлайн-сервисом Firebase тоже очень просто: зайдите в раздел с руководствами по режиму офлайн для iOS или Android, там всё подробно рассказано, к тому же есть отличный пример с оффлайн-рисованием на устройствах iOS и Android. Мы будем рады вашим отзывам! Напишите нам в Google Группы или упомяните @Firebase в Twitter.

Мы ждём ваших отзывов


Ранний доступ к Android L позволил нам получить бесценную информацию, исправить многие недочёты, а также подготовиться к выпуску новой версии Android тысячам разработчиков по всему миру. Устанавливайте SDK, тестируйте работу Android M и приложений, встраивайте новые функции, а главное — делитесь информацией. Полный список ресурсов для общения разработчиков можно найти здесь. Нам важно каждое мнение, каждый отчёт об ошибке, каждое замечание и предложение. Совместными усилиями мы сможем сделать Android M ещё лучше.




К сожалению, не доступен сервер mySQL