Статьи

Разработка современного JavaScript — это сложно

В наши дни нередки случаи, когда люди жалуются на то, насколько сложной стала разработка JavaScript. У меня может быть некоторое сочувствие к этому мнению, когда оно исходит от кого-то нового в языке.

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

Управление пакетами, линтирование, перенос, объединение модулей, минимизация, исходные карты, платформы, модульное тестирование, горячая перезагрузка … нельзя отрицать, что это намного сложнее, чем просто добавить пару тегов скриптов на вашу страницу и передать их по FTP на сервер.

Некоторые люди, которые годами занимались веб-разработкой, до сих пор тоскуют по тем «старым добрым временам», и именно к таким жалобам я отношусь с гораздо меньшей симпатией. Один такой комментарий, который я прочитал на прошлой неделе, утверждал, что веб-разработка была взломана теми, кому нравится использовать командную строку и писать файлы конфигурации JSON.

Долгое время JavaScript воспринимался многими как шутка; игрушечный язык, единственным реальным использованием которого было добавление ненужных конфет, таких как изменения при наведении курсора мыши, и он часто являлся источником странных ошибок и неработающих страниц. Некоторые до сих пор не воспринимают этот язык всерьез, несмотря на то, что с тех ранних лет он добился большого прогресса. Нетрудно иметь симпатию к разработчикам PHP.

Хорошо это или плохо, но JavaScript был (и остается) единственным языком, который изначально поддерживается подавляющим большинством веб-браузеров. Сообщество усердно работало над улучшением самого языка и предоставлением инструментов, помогающих создавать приложения промышленного уровня. Я нахожу ироничным, что теперь люди нападают на разработку JavaScript за то, что они «слишком сложны». К сожалению, вы просто не можете иметь это в обоих направлениях.

Разработчики JavaScript в настоящее время являются одними из самых востребованных (и хорошо компенсированных) в отрасли. Есть ли основания полагать, что это должно быть «легко»? Попробуйте поговорить с разработчиком на Java или .NET; обе эти технологии имеют большие экосистемы и создают инструменты для разработки приложений производственного качества. А что касается конфигурационных файлов, многие инструменты Java имеют XML-файлы, выходящие из их … ушей.

Многие учебники по JavaScript часто включают в себя такие вещи, как связывание и перенос модулей, потому что написание модульного кода с использованием новейших языковых функций — это навыки, востребованные на рынке труда. Они являются необходимыми компонентами для создания больших и сложных приложений в командной среде. Имейте в виду, что многие из этих инструментов сборки и методов разработки не являются обязательными. Никто не заставляет вас использовать их для ваших проектов. Как и все инструменты, они являются компромиссом: они решают конкретные проблемы за счет увеличения сложности вашего проекта (в той или иной форме). Ничто не мешает вам писать простые старые файлы JavaScript ES5 и связывать их с вашим HTML с помощью тегов скрипта. Вы даже можете использовать такие структуры, как React и Vue из CDN, если хотите.

Довольны ли вы эволюцией JavaScript, или современная веб-разработка принесла вам удовольствие от программирования? Мне было бы очень интересно услышать ваши мысли по этому поводу, поэтому, пожалуйста, дайте мне знать в комментариях или в Twitter.

PS. Если вы новичок в разработке JavaScript или возвращаетесь к языку после продолжительного перерыва, обязательно зайдите завтра к нашему руководству по анатомии современного приложения JavaScript!