Дмитрий Беляев, Я просил конкретику, а вы ссылку на учебные материалы. С тем же успехом я могу дать вам ссылку на спецификацию, поскольку она важнее, чем всё, что вы перечислили.
Допускаю наличие ошибок в учебнике. Ошибки есть везде, их можно и нужно исправлять. Но в чём же ошибки?
Большое спасибо за вашу критику учебника. Очень интересно было бы узнать детали. Придирки, если по делу - это хорошо, они помогают стать лучше. Но это если по делу =)
Что касается старого кода из event.js, который вы процитировали - когда-то во времена IE6 он был вполне хорош, но лет 10 назад и программирование на JS было другим. Как и много библиотек, есть trade-off между плюсами и минусами. Сейчас он устарел, полагаю что много кода такой давности может вызвать сейчас критику, эта критика неактуальна. Можно критиковать каменные топоры, но в каменном веке они были вполне себе хороши.
Скажите пожалуйста, что именно совершенно неправильно в картинке из статьи learn.javascript.ru/event-loop в современной редакции учебника, о которой вы выразились словами "чушь" и "шлак"?
Там она немного обновлена была, кстати, но это несущественно.
Да, в общем-то я так и полагал. Иностранцам слать чеки на русском... =)
Очень глупое неудобство нового закона. В налоговой спросил, посмотрим что ответят, реально как-то по-идиотски влияет на массовые продажи за рубеж нерезидентам.
Параллельно работаю над открытием зарубежной компании.
Зачисление при этом будет в рублях, поэтому здесь мне даже беспокоиться по ВК не надо. А вот по чеку на английском - почему вы полагаете, что такое допустимо?
webpack dev server, который сообщает об обновлениях с сервера, клиентская часть обрабатывает их. Если перезагрузка, это нет accept на нужном уровне (а возможен ли он? а удобно ли его там ставить?).
Перезагружаться будет, если модуль не может аксептнуть изменения. Об этом подробно в скринкасте, с примером и картинками.
Вот это: Uncaught RangeError: Maximum call stack size exceeded
появляется, если вы запустите с --hot, т.к. у вас HMR-плагин в конфиге. Либо одно, либо другое.
gulp/grunt - система управления задачами.
webpack - система сборки.
Можно на gulp/grunt при помощи плагинов настроить простую сборку, но webpack мощнее и гибче, так как анализирует код и зависимости.
Соответственно, для произвольных задач используем gulp/grunt, а webpack - для сборки.
browserify - тоже система сборки, webpack может её заменить.
Давайте один кейс дам, просто для примера, поскольку он самый явный. Вебпак умеет Hot Module Replacement. То есть, при изменении JS будет тут же, автоматически, обновлён код в браузере, причём это можно сделать без перезагрузки страницы.
Обычный livereload в gulp такого не даёт.
Есть и другие кейсы. Также CommonJS зависимости и ES6-модули лучше списка файлов, который вы даёте gulp. Это просто гибче и правильнее (именно поэтому они существуют).
Галп в 99% сборок - это просто слияние и сжатие файлов, плюс препроцессоры. Пока вы не посмотрели в сторону вебпак, не познакомились с тем, что он может, это мб ок. А как распробуете вебпак, то галп отпадёт сам собой.
Всё равно что вы спросили "чем node.js лучше вебпака"? Да, можно на и чистом node.js написать сборку. Но вебпак это готовый специализированный инструмент для этого.
На галпе нет того количества обвесов для сборки фронтенда, интегрированных друг с другом, которое есть на webpack, а создавать и настраивать их в совокупности сложнее, чем настроить webpack.
Есть просто большое количество разных плагинчиков для мини-задач. Но вебпак сложнее, интегрированнее и потому хорош.
Serj-One Кстати, https://learn.javascript.ru обновился недавно. Почему такое плохое мнение об этом сайте, интересно было бы узнать? Обычно встречаю хорошее, а тут прямо такая метафора, впечатлён.
Допускаю наличие ошибок в учебнике. Ошибки есть везде, их можно и нужно исправлять. Но в чём же ошибки?