Фред Шотт, разработчик программного обеспечения и бывший сотрудник Google в команде Polymer, запустил новый CDN для своего проекта Pika. Миссия Шотта с Pika заключается в том, чтобы «сделать современный JavaScript более доступным, упрощая поиск, публикацию, установку и использование современных пакетов на npm». Pika предоставляет каталог пакетов «модуль», доступных на npm — пакетах, которые используют более компактный синтаксис модуля ES (ESM), что приводит к уменьшению связок Javascript.
в настоящее время в списке 59 851 модулей ES. Это составляет примерно 7% от общего объема пакетов на npm экспортируют модуль ES, но их число неуклонно растет:
Pika упрощает поиск этих пакетов, и результаты будут включать только те, которые имеют определенную точку входа «модуль» в их манифесте package.json. Каждый список объединяет соответствующую информацию на одной странице, подчеркивая важные детали.
Одним из главных преимуществ использования модулей ES является то, что они работают в Интернете, без необходимости в расслоении. В посте под названием«Будущее без Webpack»,Шотт утверждает, что JavaScript разработчики «настолько погружены в мире bundlers», что они упускают из виду возможности использования зависимостей ESM, которые работают непосредственно в Интернете:
За последние несколько лет комплектация JavaScript превратилась из оптимизации только для производства в необходимый шаг сборки для большинства веб-приложений. Любите ли вы это или ненавидите его, трудно отрицать, что расслоители добавили тонну новой сложности для веб-разработки — области развития, которая всегда гордилась своим видом источника, легко начать этос.
@pika/Web является попыткой освободить веб-разработку от требования расслоения. В 2019 году вы должны использовать bundler, потому что вы хотите, а не потому, что вам нужно.
Schott создал @pika/web, чтобы разработчикам было легко использовать модули ES, даже если они не имеют совместимых зависимостей. Он предоставляет инструмент установки времени, который не совсем инструмент сборки или bundler, но работает на выходе веб-родной npm зависимостей в одном файле ESM .js:
@pika/веб-проверки вашего package.json манифест для любых «зависимостей», которые экспортируют действительный ESM «модуль» точка входа, а затем устанавливает их в местных веб-модулей / каталога. @pika/web работает на любом пакете ESM, даже с внутренними зависимостями ESM и Common.js.
Установленные пакеты работают в браузере, потому что @pika/веб-пакеты каждый пакет в единый, веб-готовый файл ESM .js. Например: весь пакет «preact» устанавливается на веб-модули/preact.js. Это заботится о чем-нибудь плохом, что пакет может делать внутренне, сохраняя при этом оригинальный интерфейс пакета.
Вот демо, как это работает:
«OJO Con @pika/web! 👀⚡️
📦 Instala tus dependencias npm y salas directamente en el navegador.
✨ Sin bundlers, ni configuraciones de ning’n tipo.
⚡️ Нативо, ESM, optimizado пара http2 …«Муй пронто, вадео мэс компло у артукуло https://t.co/uc7bPEkbXB 👨 💻! pic.twitter.com/cdNWqBnrDc
– Мигель Анхель Дуран 👨 💻 (@midudev) 2 марта 2019 г.
На этой неделе Шотт объявил о наличии нового Pika CDN для доставки современных пакетов модулей ES. Он использует pikapkg /веб-пакет строитель для работы с любым пакетом ESM и CDN будет автоматически обрабатывать любые не-ESM зависимостей этого пакета. Pika CDN автоматически обнаруживает браузер посетителя и обслуживает JS, который оптимизирован для окружающей среды, устраняя полизаправки и транспилер раздуваться, где это возможно.
«Pika CDN использует естественные способности кэширования вашего браузера, чтобы дать вашим страницам более быстрое время загрузки зависимости, особенно при первом посещении», сказал Шотт. «0ms первой нагрузки даже возможно (для ваших зависимостей по крайней мере), если все пакеты были замечены раньше.
«С помощью нашего CDN авторы пакетов могут распространять более современные, неифицированные пакеты, не беспокоясь о том, как их обслуживать напрямую. Вместо этого наш изянанный пакет-строитель автоматически разрешает каждый пакет — и любые устаревшие субзависимости — в единый, minified, готовый к импорту файл JavaScript».
Шотт недавно оставил свою должность в Ripple, чтобы работать полный рабочий день на Pika, проект, который, по его мнению, будет двигаться экосистемы JavaScript вперед.
«Покидая мою команду был одним из самых трудных решений, которые я когда-либо делал, но я знаю, что я нужен здесь», сказал он. «Я так взволнован, чтобы быть частью будущего в Интернете, независимо от того, что он заканчивается похожим».
Пика ищет корпоративных спонсоров. В настоящее время, Шотт финансирует расходы на сервер с помощью Patreon.
Оригинал: wptavern.com