Крупные объявления разработчиков на Google I/O 2017

Опубликовано: 5 Марта, 2023
Крупные объявления разработчиков на Google I/O 2017

Раздача солнцезащитного крема была первым делом на конференции Google I/O 2017 в этом году. Это крупнейшая конференция Google, посвященная разработчикам, проводится на открытом воздухе Shoreline Ampitheatre в Маунтин-Вью, Калифорния. В этой статье я расскажу о важных объявлениях, которые должен знать любой существующий или будущий разработчик Google. Давайте начнем!

Анонс TensorFlow 1.2

Продукт Google TensorFlow — это решение для машинного интеллекта с открытым исходным кодом, предназначенное для демократизации машинного обучения и искусственного интеллекта. Я вытащил список новых функций из решения GitHub и перечислил их ниже. Нажмите сюда, для получения дополнительной информации. У меня такое чувство, что этот список действительно заинтересует некоторых людей, но он выходит за рамки моего понимания. Размышляя об этом дальше, я думаю, что мне пора найти книгу, чтобы узнать больше о шаблонах машинного обучения.

  • Добавлен слой tf.layers.conv3d_transpose для пространственно-временной деконволюции.
  • Добавлен tf.Session.make_callable(), который обеспечивает более низкие накладные расходы при выполнении одного и того же шага несколько раз.
  • В contrib добавлена поддержка RDMA на основе ibverbs (любезно предоставлено @junshi15 из Yahoo).
  • Объекты RNNCell теперь являются подклассами tf.layers._Layer. Строгость, описанная в выпуске TensorFlow 1.1, исчезла: при первом использовании RNNCell кэширует свою область действия. Все будущие использования RNNCell будут повторно использовать переменные из той же области. Это критическое изменение поведения RNNCells в версиях TensorFlow <= 1.0.1. В TensorFlow 1.1 были проверки, чтобы убедиться, что старый код правильно работает с новой семантикой; эта версия позволяет более гибко использовать RNNCell, но может привести к незначительным ошибкам при использовании кода, предназначенного для TensorFlow <= 1.0.1. Например, запись: MultiRNNCell([lstm] * 5) теперь создаст 5-уровневый стек LSTM, в котором каждый уровень имеет одни и те же параметры. Чтобы получить 5 слоев, каждый со своими параметрами, напишите: MultiRNNCell([LSTMCell(...) for _ in range(5)]). Если вы совсем не уверены, сначала протестируйте свой код с помощью TF 1.1; убедитесь, что он не вызывает ошибок, а затем обновитесь до TF 1.2.
  • TensorForest Estimator теперь поддерживает экспорт SavedModel для обслуживания.
  • Поддерживайте предоставленные клиентом ClusterSpec и распространяйте их на всех рабочих процессов, чтобы обеспечить создание динамических кластеров TensorFlow.
  • Библиотека TensorFlow C теперь доступна для Windows.
  • Мы выпустили новую версию TensorBoard с открытым исходным кодом.

Также объявлены новые блоки обработки Tensor (или TPU) и анонс TensorFlow Research Cloud, в котором бесплатно размещено 1000 TPU для тех, кто зарегистрируется и получит доступ от Google.

Google сделал много объявлений о Tensor( ), искусственном интеллекте и машинном обучении, так что заходите и читайте мою статью, чтобы узнать больше.

Монетизация Google Assistant с помощью Google Actions

Google Assistant — это продукт, который помогает вам больше узнать о людях, местах и вещах вокруг вас или просто взаимодействовать с речью или текстом для выполнения определенных действий. Например, вы можете устанавливать напоминания, добавлять вещи в списки, воспроизводить музыку, смотреть видео и многое другое. Помощник становится еще более распространенным с новым продуктом Google , как вы увидите в следующем видео.

[tg_youtube video_id="VZ9MBYfu_0A"]

Хотя разработчики могут писать решения для Google Assistant, им не хватает одного ключевого элемента, который помогает этим разработчикам монетизировать свои продукты. В качестве примера Google использовал поиск обеда. Вы можете попросить Google Assistant найти ближайший ресторан и получить ответ, но вы не сможете найти нужные блюда в меню и совершить покупку.

Создав то, что Google называет , теперь вы можете провести клиента через полный процесс оформления заказа. Следуя примеру поиска обеда, Google Ассистент может подсказать, что рядом, скажем, Panera Bread. Затем вы можете говорить или печатать то, что хотите заказать. Когда вы закончите формирование своего заказа, просто скажите Google Assistant, чтобы он совершил покупку. Как только вы подтвердите покупку, заказ будет размещен, и ваша еда будет в пути.

Новые регионы Google Assistant

Позже в этом году Google Home и Google Assistant добавят охват в следующие регионы:

  • Великобритания
  • Канада
  • Австралия
  • Париж
  • Германия
  • Япония

Андроид «О»

Предстоящая версия Android O полна функций, которые понравятся разработчикам. Вот самые большие объявления.

Google Play Защитить

Google утверждает, что сканирует более 50 миллиардов приложений в день, чтобы убедиться, что они работают правильно. Они также хотят, чтобы пользователи телефонов Android знали, что их приложение не чрезмерно использует системные ресурсы и не выполняет вредоносных действий. Google Play Protect также предоставляет услуги, помогающие найти потерянное устройство и блокирующие потенциально опасные веб-сайты.

В то время как Google Play Protect больше ориентирован на пользователя, разработчики, которые могут быть на грани поддержки Android, будут рады узнать, что Google использует более активный подход к защите своих клиентов.

Конечно, со всеми данными, которые собирает Google Play Protect, они, в свою очередь, могут помочь разработчикам создавать более производительные приложения.

Представляем профилировщики Android Studio

Android Studio — это IDE (интегрированная среда разработки), которую Google рекомендует использовать для создания приложений для Android. Разработчики не всегда знают, где их код может быть более эффективным. Как вы можете видеть на следующем изображении, профилировщики Android Studio могут отслеживать производительность вашего приложения, чтобы выявить потенциальные проблемы в вашем коде.

Заменяя старый , профилировщики предлагают возможность отслеживать производительность вашего приложения на выбранных устройствах. Существуют профилировщики, которые позволяют выявлять проблемы с процессором, памятью и сетевой активностью.

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

Котлин как гражданин первого класса

Если вы используете Android Studio для создания своего приложения, вы можете выбрать C++ и Java. При этом многие разработчики предпочитают использовать язык программирования Kotlin. Теперь разработчики могут писать свои приложения для Android Studio с помощью Kotlin.

Посмотрите на следующее изображение, на котором показаны некоторые из лучших функций, которые Kotlin предоставит разработчикам Android. Моя любимая функция должна быть . Да здравствует король?

Возможно, вы знаете, что Kotlin — это продукт, принадлежащий и поддерживаемый JetBrains. Google и JetBrains знают, что могут возникнуть опасения по поводу будущей поддержки, поэтому они сотрудничают, чтобы передать Kotlin некоммерческой организации.

Представляем Android Go

Google объявила о своей инициативе , которая нацелена на привлечение следующего миллиарда пользователей Android. Для этого они знают, что будут устройства Android начального уровня с 1 ГБ ОЗУ и минимальной пропускной способностью. Имея это в виду, Google, по сути, разветвляет (мои слова) Android и создает более тонкую, урезанную версию, которая компилируется менее чем до 512 МБ.

Однако Android Go — это гораздо больше, чем облегченная версия Android. Разработчикам придется создавать пакеты APK размером менее 10 МБ и тщательно настраивать свои приложения для работы сети и памяти.

Разработчикам придется не только оптимизировать свои приложения, но и запрашивать у пользователей информацию перед показом контента. Как вы можете видеть на следующем изображении, приложение YouTube для Android Go позволяет пользователю выбирать качество видео перед воспроизведением. У пользователя даже есть возможность загрузить видео, если он находится в сети Wi-Fi, чтобы он мог воспроизводить его в автономном режиме, находясь в роуминге по своему тарифному плану сотовой связи.

Мгновенные приложения Android для всех разработчиков

В прошлом году Google объявил о выпуске Android Instant Apps. С Instant Apps пользователь может, скажем, посетить веб-сайт, чтобы заказать еду, а затем небольшая часть вашего приложения будет автоматически загружаться в фоновом режиме для завершения процесса оформления заказа.

К сожалению, мгновенные приложения были доступны не для всех разработчиков. Теперь любой разработчик может создавать мгновенные приложения. Поскольку будут загружены только определенные части вашего приложения, вам придется разделить приложение на наборы функций. Для этого Google добавляет в Android Studio инструменты, которые помогут вам в этом. По оценкам Google, разработчику потребуется 4-6 недель, чтобы модульизировать приложение.

Бесшовная привязка аккаунта

Возможно, ваше приложение позволяет клиентам совершать платежи и управлять своим личным счетом. Если вы хотите, чтобы ваше приложение работало с Google Assistant, вы можете потребовать от пользователя связать существующую учетную запись, чтобы помощник работал без проблем для пользователя.

На следующем изображении вы можете увидеть пример, когда покупатель совершает покупку в Panera Bread. Panera спрашивает, хочет ли пользователь подключить свою учетную запись. Если пользователь согласится сделать это, он будет связан с Google Assistant, что обеспечит беспроблемные покупки в будущем.

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

Действия Google

Со всеми этими разговорами о Google Assistant вам может быть интересно, как разрабатывать приложения для этой платформы. Для этого вам необходимо зарегистрировать действия.

Как видно на следующем изображении, Google рекомендует использовать службу api.ai для определения цели вашего приложения. Этот пример показывает, что цель приложения — помочь пользователю забронировать рейс. Затем Google Assistant может принять меры, помогая пользователю забронировать рейс с помощью серии вопросов и ответов.

Гугл Хром

Google вкладывает в эту технологию более 2 миллиардов экземпляров Chrome, чтобы помочь разработчикам сделать свои сайты быстрее и эффективнее.

AMP (ускоренные мобильные страницы)

С помощью AMP Google помогает увеличить скорость отображения страниц в браузерах. Улучшения скорости действительно значительны, поэтому неудивительно, что у них более 2 миллиардов страниц с использованием AMP в более чем 900 000 доменов (включая наш!)

PWA (прогрессивные веб-приложения)

Google хочет, чтобы веб-разработчики выводили свои сайты на главный экран Android, создавая PWA. PWA — это, по сути, веб-сайт, который точно настроен для работы на мобильных устройствах. Пользователи Android могут закрепить сайт, как если бы это было приложение на их устройстве. PWA занимает менее 1 МБ места на устройстве Android, потому что, когда пользователь нажимает на значок, он автоматически попадает на настроенный веб-сайт.

Маяк

Эта надстройка для Google Chrome позволяет запускать набор тестов на вашем веб-сайте, чтобы определить, есть ли какие-либо проблемы, и рекомендует лучшие практики. Я попытался запустить Lighthouse на своем личном веб-сайте, и на изображении ниже вы можете видеть, что он предоставляет значимые данные, которые помогут вам настроить ваш сайт для оптимальной производительности.

Firebase

Firebase — это PaaS (платформа как услуга) Google, которая позволяет разработчикам создавать масштабируемые облачные приложения.

Функции (бессерверные вычисления)

Firebase теперь поддерживает , которые сейчас очень популярны на новом рынке . Вы можете создавать небольшие фрагменты кода, которые запускают сервер и выполняют определенные действия.

StreamView

StreamView дает вам представление о том, что пользователи используют ваше приложение и что они делают, в режиме реального времени.

Было еще много анонсов, но эти самые значимые для разработчиков. Удачного кодирования!