Этот пост представляет собой непримиримую атаку на другие интерфейсные фреймворки и явную рекомендацию перейти на Vue.

Почему не Angular?

Angular 1.x был моим выбором для интерфейсных приложений. Мне нравится. Этому было трудно научиться, трудно освоить, но он был мощным и выполнял свою работу. Сообщество было огромным, и практически все и вся уже имело хорошо поддерживаемый сторонний пакет.

Я освоил рабочий процесс. Плавание было гладким. Работа была сделана, и сделана хорошо.

Затем был выпущен Angular 2, который пустил под откос все сообщество. Я пытался понравиться. В конце концов, это от команды Google, одних из самых талантливых инженеров в мире. У всех этих обручей, которые они создали, через которые мне пришлось перепрыгнуть, чтобы создать крошечное приложение «Hello world», была причина за пределами моего понимания. Я пришел к выводу, что все эти обручи, которые они произнесли по «причинам X и Y», произвольны и, честно говоря, вообще не являются проблемой.

Я даже создал стартовый проект для Angular и разместил его на Github. Разработчикам он понравился, и они начали его использовать, но я решил, что ненавижу Angular 2, и отказался от него.

Angular 2 - это перебор. К тому же синтаксис шаблонов ужасен.

Почему не React?

Вся концепция JSX вынуждена. Как вы думаете, сколько синтаксических конфликтов им пришлось пойти на компромиссы, пытаясь уместить HTML в JS? Я даже не хочу знать. Но благодаря огромной команде разработчиков и финансированию Facebook они каким-то образом заставили JSX появиться.

Люди постоянно ломают PHP, потому что он смешивает код и разметку, затем JSX вернул его, и мне было любопытно, нашли ли они способ сделать его чистым. Я попробовал. Я выжил, пытаясь заставить себя полюбить это. Все время, пока я думал про себя, должна быть причина, по которой он так популярен. Но ничего себе, шаблон выходит из-под контроля быстро. Вам нужно провести рефакторинг неуправляемой суммы, чтобы добиться некоторого подобия порядка с JSX. Так что да, смешивание HTML и JS просто не работает. JSX была продвинута огромной командой разработчиков Facebook.

Даже не заставляйте меня начинать работу с Redux, это еще одна техническая ошибка. Кто-то где-то сказал, что мутирующее состояние - это плохо. Затем сообщество React решило превратить неизменность в религию. «Никогда не изменяйте состояние», - сказали они. Это зло. Это вызовет ошибку, которую будет трудно найти! Затем они создали Redux. Теперь, когда вы хотите сделать эту крошечную вещь, вам нужно перепрыгнуть через 5 дополнительных слоев и 20 обручей, чтобы сделать это. Но теперь у вас на 10% меньше шансов получить ошибку! В общем, стоит потратить 3–4 раза и 5 дополнительных слоев, чтобы проработать что-нибудь. Затем они ходят и проповедуют о том, насколько хорош Redux, хотя на самом деле это просто пустая трата времени. Пожалуйста, прекратите эту ерунду о неизменности.

Все сообщество React подвергается идеологической обработке.

Почему именно Vue?

Vue. Является. Мертвый. Простой.

Через неделю использования Vue для создания моего следующего неудавшегося запускаемого приложения я был более продуктивным, чем когда-либо, с Angular 1.x, фреймворком, который я освоил.

Было приятно. Это было мощно. Это было интуитивно понятно.

С Vue, независимо от размера приложения, всегда легко узнать, что происходит. Вам никогда не нужно «тянуть секунду», чтобы понять это, потому что все имеет смысл.

Не везде устраивают бюрократию из-за «произвольных причин X, Y и Z».

Простая природа основного приложения Vue передалась остальному сообществу в том, что все просто. В частности, с React было много конфликтов с различными сторонними пакетами, которые были относительно большими по объему. С Angular всегда требуется 20 шагов, чтобы что-нибудь настроить.

Так что, если вы еще не готовы к бою, я рекомендую попробовать использовать Vue для вашего следующего приложения.

А как насчет других фреймворков?

Я честно не забочусь о них.