Comments 18
Попридираюсь
Если вы блокируете основной поток загрузкой скриптов (когда это не нужно, а иногда даже нужно, потому что без них у вас не приложение а белый лист) то кто-то сам себе злобный буратино.
А если серьезно (т.е. почему сейчас это все еще не актуально)
Кроме вышеперечисленного, бандлинг решал проблему ограниченого кол-ва параллельных запросов в браузере. Которая пока что все еще не решена. Поэтому поддержка нативных модулей это хорошо, даже очень, но пока это не массовое решение.
ES6 модули загружаются и исполняются отложенным образом по умолчанию
Если вы блокируете основной поток загрузкой скриптов (когда это не нужно, а иногда даже нужно, потому что без них у вас не приложение а белый лист) то кто-то сам себе злобный буратино.
А если серьезно (т.е. почему сейчас это все еще не актуально)
… поскольку bundle были необходимостью из-за несовершенства и отсутствия требуемой функциональности в браузерах...
Кроме вышеперечисленного, бандлинг решал проблему ограниченого кол-ва параллельных запросов в браузере. Которая пока что все еще не решена. Поэтому поддержка нативных модулей это хорошо, даже очень, но пока это не массовое решение.
0
UFO landed and left these words here
И это все и полностью правда. Но пока у нас нет HTTP/2 будем сидеть на бандлах.
-2
Да я собтвенно и не против, но где этот дивный новый мир вокруг?
-2
Простите, но
Это не снаружи. Это пока где-то сбоку.
HTTP/2 is used by 24.4% of all the websites.
Это не снаружи. Это пока где-то сбоку.
-1
Ну не знаю, как по мне это дофига. Это — мейнстрим.
Или вы будете ждать, пока последний цветочный магазин на Битриксе переедет на HTTP/2?
Google.com
Youtube.com
Facebook.com
Wikipedia.org
Yahoo.com
Twitter.com
Vk.com
Instagram.com
Или вы будете ждать, пока последний цветочный магазин на Битриксе переедет на HTTP/2?
+2
К сожалению не все так гладко с загрузкой bundle для старых браузеров и только модулей для новых. Некоторые из браузеров начинают загружать все подряд — github.com/philipwalton/webpack-esnext-boilerplate/issues/1
+1
transpile-ингом тебе по голове
-3
есть всем понятные слова: транспилер, полифил, байндинг, бандл, билд
+5
>Во-первых, излишний transpile синтаксических конструкций и замены его на эмулирующий код приводит к замедлению и затруднению оптимизаций.
Смешались вместе, бандлеры и бабел…
>Предварительное разрешение и связывание модулей и их последующее bundle-ирование, еще недавно бывшее основным способом поддержки ES6 modules в большинстве браузеров, сейчас оказывает на них негативное влияние и мешает оптимизациям и средствам кэширования
Двойку за подготовку. Команда webpack производила исследования после появления HTTP/2, которое показало что HTTP/2 не решает ничего. Пару месяцев назад я перепроверил их результаты — конечно же ничего не изменилось.
Так как узнать зависимости загружаемого файла можно только после его загрузки — загрузка реального приложения разбивается на «волны» дозагрузок, которых можно быть под два десятка без проблем. Берем «обычный» сервер в Германии с пингом 60мс — получили 1с потраченого времени.
В настоящий момент бандер жизненно необходим для практически любого приложения. Это факт с которым поспорить сложно — слишком легко проверяем. Слишком логичен.
Смешались вместе, бандлеры и бабел…
>Предварительное разрешение и связывание модулей и их последующее bundle-ирование, еще недавно бывшее основным способом поддержки ES6 modules в большинстве браузеров, сейчас оказывает на них негативное влияние и мешает оптимизациям и средствам кэширования
Двойку за подготовку. Команда webpack производила исследования после появления HTTP/2, которое показало что HTTP/2 не решает ничего. Пару месяцев назад я перепроверил их результаты — конечно же ничего не изменилось.
Так как узнать зависимости загружаемого файла можно только после его загрузки — загрузка реального приложения разбивается на «волны» дозагрузок, которых можно быть под два десятка без проблем. Берем «обычный» сервер в Германии с пингом 60мс — получили 1с потраченого времени.
В настоящий момент бандер жизненно необходим для практически любого приложения. Это факт с которым поспорить сложно — слишком легко проверяем. Слишком логичен.
+1
UFO landed and left these words here
Будем честны — с какой вероятностью пользователь зайдет на конкретно ваш сайт через неделю, месяц, год?
Для 99% приложений один бандл — оптимален. Для 1% выделение vendor chunk имеет смысл.
Code splitting? Отдельная песня, и webpack 4 пытается ее решить через авторазбиение, и достаточно успешно.
Но code splitting не зависит от бандлера или «не-бандлера» — он либо есть, либо его нет. Текущие ES6 модули это всегда статическая линковка.
Для 99% приложений один бандл — оптимален. Для 1% выделение vendor chunk имеет смысл.
Code splitting? Отдельная песня, и webpack 4 пытается ее решить через авторазбиение, и достаточно успешно.
Но code splitting не зависит от бандлера или «не-бандлера» — он либо есть, либо его нет. Текущие ES6 модули это всегда статическая линковка.
+1
UFO landed and left these words here
Если бы люди на самом деле заботились бы о «кеше» — они бы загружали React или, прости господи, moment.js, с какого либо CDN, того же unpkg.
Опять же — большая часть «приложения» сидит в node_modules и при ребилде не меняется.
Vendor chunk чтука хорошая, но как зашарить общие для всех продуктов компании зависимости?
Все понимается в сравнении, у меня есть одно старое приложение которым все еще пользуются миллионы, с оно занимает до gzip меньше меньше чем наше новое приложение после. Раза так в 2. И логики там раз в 10 больше. А кода меньше.
Мистика последние годы с фронтендом творятся. Просто мистика.
Опять же — большая часть «приложения» сидит в node_modules и при ребилде не меняется.
Vendor chunk чтука хорошая, но как зашарить общие для всех продуктов компании зависимости?
Все понимается в сравнении, у меня есть одно старое приложение которым все еще пользуются миллионы, с оно занимает до gzip меньше меньше чем наше новое приложение после. Раза так в 2. И логики там раз в 10 больше. А кода меньше.
Мистика последние годы с фронтендом творятся. Просто мистика.
0
UFO landed and left these words here
Я только вчера смотрел в терминал, где крутился старина gulp. 500 ns на ребилд (очень) простого приложения.
+1
Only those users with full accounts are able to leave comments. Log in, please.
История ES6-модулей