Fuchsia Friday: Веб и первые «клиенты» Fuchsia

На этой неделе в серии Fuchsia Friday мы рассмотрим, как Fuchsia будет привлекательна для веб-разработчиков, и уделим внимание возможному использованию Fuchsia за пределами Google.

Давно известно, что Google пытается привлечь к Fuchsia разработчиков самых разных направлений. Разработчики Apple найдут удобным поддержку Swift. Разработчики приложений ориентируются на Flutter. Для серверных разработчиков Go будет более чем достаточно для выполнения любых задач. Системные программисты будут благодарны за возможность выбора низкоуровневых языков, таких как C/C++ и Rust. Скриптовые и простые программы также возможны с использованием Dart (того же языка программирования, на котором построен Flutter). Но что это оставляет для веб-разработчиков?

Согласно опросу разработчиков Stack Overflow за 2018 год, более 70% профессиональных разработчиков заявили, что используют JavaScript. Google уже признал повсеместное использование JavaScript, сделав Node.js доступным в стандартной среде App Engine. Очевидно, что Fuchsia должна быть доступна тем, кто знаком с веб-стеком. Их планы на данный момент двояки.

Реклама — прокрутите, чтобы увидеть больше контента

JavaScriptCore

Первая часть весьма интересна по нескольким причинам. Как заметил читатель *Indy*, команда Fuchsia с этой недели добивается основной поддержки Fuchsia в JavaScriptCore. JavaScriptCore (или JSC) — это способ вызывать код JavaScript согласованным, кроссплатформенным способом, который обычно используется для общего использования кода между веб-приложениями и нативными приложениями. JSC является частью WebKit, который составляет основу браузера Safari от Apple, и является distinctly продуктом Apple.

До этого момента команда Fuchsia использовала собственный внутренний порт JSC без намерения делать его общедоступным для разработчиков. Однако недавно что-то изменилось, поскольку, по словам члена команды Fuchsia Адама Барта, они «получили ряд запросов от клиентов, которые хотели бы использовать JavaScriptCore в своих приложениях Fuchsia».

Использование слова «клиент» здесь мне кажется fascinating. Трудно сказать, что именно это означает. Самый очевидный ответ — это внешние компании, желающие создавать приложения для Fuchsia, но это может быть не единственный ответ. В Fuchsia Gerrit не так много обсуждений «клиентов», но есть одна полезная ссылка, где разработчик упоминает «клиента, работающего над Gauss». (Мы полагаем, что Gauss — это умная колонка, созданная Google для Fuchsia.) Это наводит меня на мысль, что это может быть другая команда Google, работающая с Fuchsia извне.

Все это вызывает у меня еще один вопрос. Почему был выбран JavaScriptCore, а не собственный движок JavaScript V8 от Google из Chrome? Разработчики JavaScript, скорее всего, более знакомы с реализацией JavaScript в V8, поскольку Node.js также построен на V8. И дело не в том, что V8 не появится в Fuchsia — V8 имеет зависимость от Fuchsia SDK с октября. Возможно, у «клиентов» достаточно влияния, чтобы настаивать на отдельной доступности JSC. Покажет только время.

Web Runner

Вторая часть плана Fuchsia называется «Web Runner» и, по-видимому, направлена на то, чтобы сделать веб неотъемлемой частью Fuchsia. В настоящее время в Fuchsia все веб-задачи обрабатываются WebView от WebKit, но поддержка Chrome находится в процессе. Уже существует версия Web Runner в Chromium, которая подтверждает, что он будет «запускать веб-приложения на Fuchsia». Web Runner также сможет передавать некоторую информацию обратно приложению, которое его открывает, что означает, что он будет полезен в случаях, когда приложениям необходимо открыть веб-страницу по любой причине (обычно для аутентификации через сторонний сервис).

Стоит отметить, что все экземпляры Web Runner остаются независимыми друг от друга, что отлично с точки зрения безопасности и конфиденциальности.

Web Runner расположен рядом с «Flutter Runner» и «Dart Runner» Fuchsia, что говорит о важности веба в экосистеме приложений Fuchsia. В частности, Web Runner сильно напоминает мне Progressive Web Apps, которые позволяют «устанавливать» веб-страницы как приложения с поддержкой нативных функций, таких как push-уведомления и автономная работа. Отличный пример того, каким может быть опыт Progressive Web App, можно увидеть на примере того, как это делает Google Photos. Весьма вероятно, что это и есть цель Web Runner, но пока еще слишком рано говорить об этом.

В целом, Google определенно серьезно относится к вебу, и это область, которая постоянно развивается как в репозиториях Fuchsia, так и в Chromium. Само собой разумеется, я буду следить за этим, оставайтесь с нами для получения обновлений.

Читайте больше в нашей серии Fuchsia Friday:


Смотрите 9to5Google на YouTube для получения дополнительных новостей: