Привет!
Недавно компания Google устраивала двухдневный тренинг по новой версии системы Android (под литерой N) для разработчиков приложений. И я хочу вам рассказать, какими секретными и не очень знаниями с нами поделились.
Официальное название тренинга было “Android N Labs”, я попал на него как Android GDE, но помимо других GDE там были и представители некоторых крупных софтверных компаний, прославившихся своими мобильными приложениями. Всего собралось около 100 человек – аудитория съехалась со всей Европы. Локация проведения – Campus London, это коворкинг в самом центре London City, мероприятие шло в большом конференц-зале, где всем удалось удобно разместиться, благо мест было чуть больше, чем пришедших людей.
По формату N Labs напоминали любую IT-конференцию: сессии-лекции с кратковременными перерывами. Однако так было только в первый день. На второй день команда выступающих устроила масштабный Q&A, когда можно было спросить буквально все, что хочешь, и тебе на это либо отвечали сразу, либо записывали вопрос и обещали ответить, когда разберутся.
Самое интересное, что было на мероприятии, это, конечно, спикеры и их доклады. Выступали сотрудники Google как из лондонского офиса, так и приехавшие из самого Mountain View. Поэтому информацию можно было получить буквально из первых рук. После каждой сессии было небольшое (а для некоторых тем – растянувшееся на час с лишним) время на Q&A. У собравшейся публики накопилось огромное множество вопросов о новых фичах и еще большее – о старых. При этом команда спикеров, видимо, ожидала обратного баланса, поэтому в какой-то момент Q&A перерастали в выдачу фидбека от разработчиков приложений разработчикам платформы.
Во время перерывов в теории можно было найти спикера по конкретной теме и расспросить его более подробно. На практике же очередь к спикерам собиралась как в мавзолей и успеть что-то спросить до начала следующего доклада можно было только добежав до докладчика третьим-четвертым. Эту сложность компенсировали несколько “office hours” во второй день, когда вся команда только и делала, что отвечала на вопросы, так что любой желающий мог подойти, рассказать или показать свою проблему и получить советы по ее решению.
По ходу мероприятия затрагивались практически все изменения, которые произойдут в грядущем релизе платформы. БольшАя часть информации уже доступна широкой публике. Также можно взять preview-версию системы и попробовать новые технологии уже сегодня. Однако не рекомендую ставить preview на ваш основной девайс, потому что до релиза возможны баги и нестабильная работа как системы, так и приложений на ней.
По темам выступлений и содержательной части, к сожалению, много рассказать нельзя, потому что мероприятие носило закрытый характер. Однако кое-какие детали все же хочется раскрыть.
Из нововведений самым горячим по энтузиазму у публики был, несомненно, режим Multi-window. Это новшество позволяет запускать одновременно два приложения на одном экране. У разработчиков было много вопросов об изменении жизненного цикла UI-компонент и дизайна для поддержки нового режима. В целом оказалось, что изменений для разработчика не так уж много, главное – разработать дизайн для маленьких разрешений, которые раньше считались практически неиспользуемыми.
Также ажиотаж вызвали доклады об изменениях в Doze Mode, и общем подходе к background-процессам. Если вкратце – нас ждет еще больше ограничений в том, как мы можем использовать систему в то время, пока наше приложение неактивно. Крайне рекомендуется использовать JobScheduler для выполнения background-операций и не надеяться на Alarm’ы и Broadcast Intent’ы.
Третьим по популярности был доклад по новому рантайму, комбинирующем в себе подходы “Ahead of time” и “Just in time”. В новой версии системы приложения не будут компилироваться заранее полностью (забудьте о долгом ожидании при каждом обновлении системы, это время обещают снизить больше, чем в десять раз). Вместо этого каждый запуск приложения будет профилироваться, а информация о самых “горячих” участках кода – использоваться для последующей перекомпиляции, целью которой ставится оптимизация приложения. В итоге процесс должен сойтись и пользователь получит быстрое приложение без чрезмерно долгого ожидания при установке.
Кроме того, был крайне интересный доклад о новом Java-компиляторе – Jack. Это новая технология, которая позволит компилировать сразу DEX файлы, минуя промежуточные .class артефакты, генерируемые текущим компилятором. Для разработчиков это также дает поддержку Java 8, однако часть фич будет реализована не совсем так, как на других JVM. Например, лямбда-функции будут представлены анонимными классами, со всеми вытекающими последствиями.
Мероприятие получилось интересное и лично для меня весьма необычное. Не каждый день представляется возможность лицом к лицу пообщаться с людьми, которые делают те технологии, с помощью которых ты создаешь приложения. Большое спасибо программе GDE за такую возможность!
Ваш покорный слуга
И его компаньон
Автор: REDMADROBOT