Я считаю фронтенд охриненным направлением, просто лично для меня это очень тяжело из-за своей хаотичности
И перед тем, как я начну пояснять за отдельные пункты прошлого поста, я хочу сначала перечислить неоспоримо крутые следствия фронта:
. Это потрясающий трамплин для разработчиков – оооочень многие начали с фронта. Почему? Потому что это интерактивно, интересно, можно научиться самому за год дома и выйти на норм ЗП. Да чего уж там говорить: 10 лет назад я сам начинал с фронтенда.
. Благодаря вебу появилась настоящая кроссплатформенность – миллиарды долларов, десятки тысячь часов и 2 камаза нервных клеток разработчиков были сохраненны благодаря тому, что теперь более половины десктоп приложений и 30% мобильных – это браузер под видом нативки. И прежде чем пердеть: "но оно сжирает весь мой RAM" – задумайтесь о том, что именно благодаря этому (1) вы получаете новый и удобный функционал быстро и сразу на всех платформах, (2) продукты стоят уже в пределах 10$ в месяц, в тот момент, как если бы их делали нативными они бы стояли 30-50$, чтобы окупать нативщиков.
. Создан тренд на компонентный UI – я когда-то полез в iOS разработку и просто ахуел от того, насколько сложно там устроена работа с UI и логикой... даже html + jquery были намного приятнее из-за древовидности. А потом появился React, а потом он стал просто вызовом функций, а потом появились хуки... честно, сам процесс написания Function React Components + Hook вызывает у меня мини-оргазмы, это неописуемо красиво от концепции, до реализации и при этом прекрасно работает... И компонентный подход наконец-то начал просачиваться и в нативную разработку, что полностью заслуга веба
Теперь по пунктам прошлого поста:
. Браузер необходимое зло – важная особенность бэкенда – мы не рендерим графику. А это охренеть как сложно. Если взять спектр, то слева будет бэк, а справа Unreal Engine, и браузер будет где-то по-середине. Так вот, сделать так, чтобы человек за пару месяцев изучил возможность визуализировать что-то в браузере – это невероятное достижение давшее "массадпшен" вебу
. UI либы + Компиляторы – в целом, если попасть в хорошую команду и использовать какие-то устоявшиеся за последние 3-4 года технологий, можно ко всему предрочиться и выбрать для себя путь, а потом раз в 3-4 что-то подменять на более новое. Опять же, я надеюсь JS коммьюнити подостынет с выпуском новых фич для фронта лет через 5-10.
. node_modules – это гавно не оправдать, НО это проблема не фронта, а самого JS (потому что на Node.js все чуть лучше, но примерно также), тут как-бы мы никуда не убежим
Подытоживая – фронт, бэк, нативка, ML, блокчейн, компьютер-вижн, etc. это выбор каждого, в каждом из направлений куча говна и куча плюсов, важно, чтобы вы выбрали то гавно, с которым вам нормально