Видео: Keynote (Google I/O '18) (Ноябрь 2024)
Многие люди были в восторге от ввода-вывода Google на прошлой неделе, потому что не было никаких крупных анонсов - ни новой версии Android, ни нового оборудования Nexus. Но это немного несправедливо, так как изменения в Google+ и Картах были очень значительными, и Google Glass только сейчас становится платформой для разработки с реальным потенциалом. Для меня большая история, которая не привлекла большого внимания: постоянное развитие самой сети как платформы и то, как веб-клиенты и мобильные клиенты, подключенные к облачным сервисам, меняют парадигму разработки.
В некотором смысле, изменения в Интернете часто упускаются из виду, потому что мы не видели ни одного большого объявления об одном обновлении, которое изменило бы все; вместо этого мы видим множество небольших улучшений в таких технологиях, как HTML5 и CSS и JavaScript, на стороне клиента и на языках, которые разработчики используют для создания как клиентской, так и серверной (теперь называемой облачной) сторон их веб-интерфейса. Приложения. С точки зрения разработчика, это скорее «agile», а не «водопад», накопление множества дополнительных изменений, которые продвигают платформу вперед.
На конференции я присутствовал на многих сессиях, которые касались этой темы, и, как и в прошлые годы, я был очень впечатлен тем, что люди могут сделать, чтобы сделать веб-приложения более мощными. Мы приближаемся к тому, что практически все, что вы можете сделать в традиционных клиентских операционных системах, таких как Windows или Mac, может быть выполнено в веб-браузере.
Например, в сеансе «Еще более удивительный веб» Эрик Бидельман, который руководит html5rocks.com, объяснил некоторые из более интересных вещей, которые разработчики могут делать с помощью новых функций HTML5. К ним относятся новые инструменты, связанные с дизайном страницы, такие как точки обзора, гибкие элементы страницы и множество новых переменных CSS. Вместо статического оформления страницы он демонстрировал страницы с такими функциями, как анимация или те, которые выглядят по-разному в зависимости от того, где на странице вы находитесь. (Например, страница расписания ввода-вывода Google сохраняет заголовки времени для каждого дня в верхней части страницы при прокрутке сеансов этого дня, но каждый заголовок исчезает при переходе на следующий день.)
Он также продемонстрировал мультимедийные функции, включая совместное использование экрана через web.RTC, а также веб-аудио, где он показывал сайты, записывающие и отображающие аудио в режиме реального времени, и даже подключил гитару и включил эффекты в реальном времени. Он продемонстрировал веб-речевой API, обеспечивающий непрерывную запись и диктовку речи, а также такие приложения, как перевод. Это удивительно, что вы можете сделать в веб-браузере в эти дни.
На другом занятии адвокат разработчика Идо Грин и инженер по разработке программ Дэнни Хермес продемонстрировали примеры совместной работы мобильных, веб- и облачных технологий, которые они назвали «тройной короной современных приложений». Они показали, что это приложение, которое позволяет добавлять и сохранять фотографию в отключенном мобильном приложении, но затем синхронизировать ее с несколькими устройствами после восстановления соединения.
Они шутили о том, дружат ли облако и клиент. Грин утверждал, что современные приложения являются автономными, ориентируясь в первую очередь на автономный режим, распознавая устройства, с логикой, удаляющейся с сервера, и подчеркивая важность того, чтобы приложения были отзывчивыми и быстрыми. Гермес сказал, что современные приложения должны полагаться на облако для таких вещей, как вычисления без нагрузки. Это позволяет вам иметь «дата-центр в ваших руках» с гораздо большей мощностью.
В этой демонстрации использовалась облачная платформа Google, и многие сессии были посвящены новым функциям на «облачной» или серверной стороне.
Урс Хёльцле, старший вице-президент по технической инфраструктуре, рассказал об открытии облачной платформы Google, в том числе о предоставлении общедоступного Google Compute Engine, а также об облачном хранилище данных, общедоступной базе данных Google NoSQL. Они будут конкурировать с Amazon. Compute Engine выглядит как довольно стандартный вычислительный механизм, предлагающий виртуальные машины Linux, которые будут конкурировать с Amazon EC2 (Elastic Compute Cloud) и другой инфраструктурой в качестве сервисных предложений. Cloud Datastore - это API, который можно использовать из Compute Engine или других сервисов.
На Compute Engine я увидел несколько интересных демонстраций на сессии, организованной Мартином Ганнхольмом и Навнетом Джонежей. По их словам, за последний год Compute Engine стал быстрее, лучше, экономичнее и проще в использовании. Они привели Себастьяна Стадила, основателя проекта Scalr, чтобы показать эталон, показывающий, насколько быстрее был сервис для последовательного ввода-вывода, и насколько хорошо он работал для «облачного взрыва» и высокой доступности.
В другой сессии, посвященной Big Data Mashups, Дерек Стивенсон, старший директор по стратегии и аналитике данных в Shutterfly, объяснил, как сайт для фотографий использует сервис Google BigQuery для выполнения аналитики. Он отметил, что на сайте более 19 миллиардов фотографий, заполняющих более 80 петабайт. Он сказал, что фирма хочет сохранить все детали фотографий и пользователей, которые их загрузили, но беспокоится о масштабах и производительности, стоимости и простоте выполнения аналитики.
Он говорил о запросе двух миллиардов записей в 400 столбцах, который занимал от 20 до 60 секунд без моделирования данных. Это было бы для запросов, обращающих внимание на время, проведенное клиентами на сайте. Он также обсудил возможность визуализации данных с использованием Tableau, который интегрирован с BigQuery. По словам Стивенсона, эта комбинация откроет новые категории анализа, в том числе для маркетинга и сегментного анализа.
На панели распределенных баз данных Крис Рамсдейл, менеджер по продукту Google Cloud Platform, сосредоточился на Google Cloud Datastore. Но представители других компаний показали альтернативные решения. Тайлер Ханнан описал Riak, хранилище ключей / значений с открытым исходным кодом, которое было разработано так, чтобы его можно было легко масштабировать. Майк Миллер из Cloudant рассказал о распределенной базе данных компании как о сервисе, который, похоже, нацелен на подключение с малой задержкой для разработчиков мобильных приложений. Он был просто извлечен из AppEngine, чтобы стать автономным предложением, все еще построенным на инфраструктуре фирмы. Уилл Шульман из MongoLab рассказал о MongoDB, которую он описал как распределенную документно-ориентированную (или объектно-ориентированную) базу данных с богатым языком запросов. MongoLab предлагает MongoDB в качестве услуги, которая работает на базе нескольких облачных провайдеров, включая AWS и облачные предложения Google.
Хотя среди этих продуктов есть ряд перекрывающихся функций, между предложениями также есть серьезные различия.
В целом, я вышел из конференции не только с лучшим пониманием облачных предложений Google, но и с растущим пониманием того, что вы можете делать с веб-приложениями и мобильными приложениями, которые к ним подключаются.