Примечательно, как далеко мы продвинулись с первых дней Интернета. Создавать мощные веб-приложения еще никогда не было так просто. И в то же время это никогда не было так сложно. Современная веб-разработка обычно подразумевает, что вам необходимо перекомпилировать и связать свое приложение перед его отправкой. Но действительно ли это все еще необходимо и стоит ли делать это в 2019 году? Я хотел бы предложить несколько причин, по которым нам не следует этого делать.

  1. С HTTP / 2.0 большинству приложений не нужно связывать

Если вы не слышали об удивительных функциях HTTP / 2, я настоятельно рекомендую прочитать об этом. Короче говоря, одним из основных преимуществ является мультиплексирование, которое позволяет вашему браузеру получать ресурсы намного быстрее (это моя упрощенная версия). Поскольку для загрузки большинства веб-приложений требуется не более 30–50 ресурсов, HTTP / 2 часто в разы быстрее, чем объединение его в один большой пакет javascript. Еще одно преимущество заключается в том, что если вы внесете изменения в свой пакет javascript, вашему браузеру потребуется снова загрузить пакет с сервера, а не из кеша. Однако, если мы не объединим его, необходимо будет повторно загрузить только измененный файл. Кроме того, вы сэкономите много времени, так как вам не придется ждать, пока ваше приложение будет построено.

2. При импорте ES6 нет необходимости в компиляции.

С момента выхода ES6 прошло почти 5 лет. Новые функции импорта и экспорта позволяют нам импортировать файлы javascript без компиляторов. Интернет должен быть открытой платформой для всех. Идея централизованного диспетчера пакетов прямо противоречит этой идее. Интернет не должен принадлежать какому-либо одному хранилищу или организации. Если мы продолжим компилировать JS, то вскоре javascript станет простым машинным языком, целевым языком для работы наших компьютеров, а не для чтения людьми. А это очень-очень плохая идея!

3. А как насчет устаревших браузеров?

Одна из наиболее частых причин объединения наших приложений заключается в том, что старые браузеры не поддерживают новые функции JavaScript. Хотя это действительно так, я думаю, что мы движемся в будущее, в котором у большинства людей будет последняя версия своих любимых браузеров (благодаря агрессивным способам, которыми браузеры заставляют пользователей обновляться). А для меньшинства пользователей, которые все еще используют устаревшие браузеры, мы можем вежливо попросить их обновить свои браузеры, чтобы использовать наш веб-сайт. Это будет способствовать развитию сети, в которой каждый будет иметь последние обновления безопасности и функций в своих браузерах. И это сделает нашу жизнь как разработчиков намного проще.

4. Веб-стандарты всегда должны быть главными.

Вся суть новых веб-стандартов заключается в том, что мы должны переключиться на использование собственных функций браузера вместо того, чтобы полагаться на компиляторы, транспилеры и сборщики пакетов, которые всегда были не чем иным, как «взломами». Помните старые добрые времена, когда любой мог узнать о том, как работает Интернет, просто нажав «Просмотреть исходный код»? Я единственный, кто изучил Интернет таким образом? Код не был уменьшен, перенесен или объединен. Он был открыт для всех. К сожалению, сегодня Интернет стал закрытой платформой для обычного пользователя. Давайте откроем Интернет и снова сделаем его отличным! Я хотел бы видеть будущее, в котором сборщики и компиляторы (для Интернета) ушли в прошлое, и разработчики были бы менее разочарованы, пытаясь понять, как настроить свой веб-пакет.

Я использовал последние функции ES без необходимости сборки. Я настоятельно рекомендую Vue.js как хороший интерфейсный фреймворк, так как вам не требуется выполнять этап сборки. Но я также понимаю, что один размер не подходит всем. Я просто надеюсь, что мы все сможем перейти к более открытой сети.