Pull to refresh

Comments 18

Попридираюсь
ES6 модули загружаются и исполняются отложенным образом по умолчанию

Если вы блокируете основной поток загрузкой скриптов (когда это не нужно, а иногда даже нужно, потому что без них у вас не приложение а белый лист) то кто-то сам себе злобный буратино.

А если серьезно (т.е. почему сейчас это все еще не актуально)

… поскольку bundle были необходимостью из-за несовершенства и отсутствия требуемой функциональности в браузерах...

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

UFO landed and left these words here
И это все и полностью правда. Но пока у нас нет HTTP/2 будем сидеть на бандлах.
Да я собтвенно и не против, но где этот дивный новый мир вокруг?
Простите, но
HTTP/2 is used by 24.4% of all the websites.

Это не снаружи. Это пока где-то сбоку.
Ну не знаю, как по мне это дофига. Это — мейнстрим.
Google.com
Youtube.com
Facebook.com
Wikipedia.org
Yahoo.com
Twitter.com
Vk.com
Instagram.com

Или вы будете ждать, пока последний цветочный магазин на Битриксе переедет на HTTP/2?
есть всем понятные слова: транспилер, полифил, байндинг, бандл, билд
>Во-первых, излишний transpile синтаксических конструкций и замены его на эмулирующий код приводит к замедлению и затруднению оптимизаций.

Смешались вместе, бандлеры и бабел…

>Предварительное разрешение и связывание модулей и их последующее bundle-ирование, еще недавно бывшее основным способом поддержки ES6 modules в большинстве браузеров, сейчас оказывает на них негативное влияние и мешает оптимизациям и средствам кэширования

Двойку за подготовку. Команда webpack производила исследования после появления HTTP/2, которое показало что HTTP/2 не решает ничего. Пару месяцев назад я перепроверил их результаты — конечно же ничего не изменилось.

Так как узнать зависимости загружаемого файла можно только после его загрузки — загрузка реального приложения разбивается на «волны» дозагрузок, которых можно быть под два десятка без проблем. Берем «обычный» сервер в Германии с пингом 60мс — получили 1с потраченого времени.

В настоящий момент бандер жизненно необходим для практически любого приложения. Это факт с которым поспорить сложно — слишком легко проверяем. Слишком логичен.
UFO landed and left these words here
Будем честны — с какой вероятностью пользователь зайдет на конкретно ваш сайт через неделю, месяц, год?
Для 99% приложений один бандл — оптимален. Для 1% выделение vendor chunk имеет смысл.
Code splitting? Отдельная песня, и webpack 4 пытается ее решить через авторазбиение, и достаточно успешно.
Но code splitting не зависит от бандлера или «не-бандлера» — он либо есть, либо его нет. Текущие ES6 модули это всегда статическая линковка.
UFO landed and left these words here
Если бы люди на самом деле заботились бы о «кеше» — они бы загружали React или, прости господи, moment.js, с какого либо CDN, того же unpkg.
Опять же — большая часть «приложения» сидит в node_modules и при ребилде не меняется.
Vendor chunk чтука хорошая, но как зашарить общие для всех продуктов компании зависимости?

Все понимается в сравнении, у меня есть одно старое приложение которым все еще пользуются миллионы, с оно занимает до gzip меньше меньше чем наше новое приложение после. Раза так в 2. И логики там раз в 10 больше. А кода меньше.
Мистика последние годы с фронтендом творятся. Просто мистика.
UFO landed and left these words here
Я только вчера смотрел в терминал, где крутился старина gulp. 500 ns на ребилд (очень) простого приложения.
Only those users with full accounts are able to leave comments. Log in, please.

Information

Founded
2011
Location
Россия
Website
netology.ru
Employees
201–500 employees
Registered