ОБНОВЛЕНИЕ: в этом месяце (июнь 2018 г.) vue прошел React in GitHub stars, и проект довольно хорошо организован. Было приятно наблюдать стремительный успех vue.js, и продолжение vue, похоже, больше не будет проблемой. По крайней мере, до того времени, когда компоненты будут интегрированы в сами браузеры, и новые проекты могут использовать эти методы.

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

TL; DR; Vue.js хорошо разработан и ограничивает доступ. Но если что-то случится, что угрожает дальнейшему прогрессу Vue, мы сделаем шаг вперед либо на переходный период, либо на более длительный срок, и я думаю, что другие тоже.

С любым проектом с открытым исходным кодом или любой библиотекой / фреймворком, используемыми в качестве зависимости в нетривиальных приложениях, нужно решить, как застраховаться от изменений направления или выполнения этой зависимости. Чем важнее окончательное решение, тем более внимательным следует выбирать.

В нашем случае средство визуализации представления очень важно для нашего внешнего интерфейса, и поэтому мы должны тщательно выбирать, и мы даже сначала не рассматривали ничего, кроме Angular 2 (React вообще не соответствует нашим требованиям, кстати, так как его слишком сосредоточен на разработчиках)

Мы с самого начала создали платформу бизнес-приложений, используя Angular 1 для рендеринга представлений, так как он очень хорошо подходил (тогда рассматривались vanilla.js или Backbone.js, поскольку Angular был совершенно новым).

Он хорошо служил нам в течение 2 лет, так как полностью соответствовал нашим требованиям. Однако были некоторые проблемы, которые Angular 1 так и не преодолел, и мы как бы надеялись, что Angular 2 их решит. Мы терпеливо ждали RC (который оказался бета-версией), а затем финальный релиз. Я подумал: «Теперь все хорошо, давайте посмотрим поближе, просто снова построив наш основной конвейер в Angular 2».

На то, чтобы приступить к работе, мне потребовался целый день, и мне пришлось ругаться. Я заставил его работать, но он казался слишком спроектированным и слишком сложным. API Surface Area для того, что нам нужно, слишком велик и плохо документирован (в любом случае это никогда не было сильной стороной команды Angular). Несмотря на то, что он был выпущен, и люди говорили об определенных функциях, более пристальный взгляд показал, что некоторые из них все еще находятся в разработке. Плохо выбранный импорт ES6 на самом деле только усугубил ситуацию, поскольку некоторые вещи экспортировались изнутри. Выбор Typecript означал, что настройки webpack иногда не работают (ts и ts-loader на самом деле имеют ряд проблем, из-за которых они не совсем заменяют javascript). Я предполагаю, что это то, что происходит, когда проект переделывается большим количеством очень талантливых разработчиков. Иногда они забывают опыт разработчика, поскольку точно знают, что важно, а что нет. Они просто не видят лишнего.

В конце того дня я решил взглянуть на Vue.js (не знаю почему, но я немного читал об этом несколькими неделями ранее). 2 часа спустя весь мой конвейер был запущен, включая SSR / async / динамические компоненты и т. Д.

API прост. Код скудный и не чрезмерно спроектированный. Сделанный выбор логичен. Кодекс четко разделяет задачи и не пытается делать то, чего не следует делать.

Это означало, что нам не только было проще использовать, но и фактор шины также не так важен для нас, поскольку он настолько прост, что мы думаем, что будет намного проще внести небольшие исправления, если это необходимо, а затем исправить Angular 2, если нам нужно было. Может быть, angular 4 или 5 и т. Д. Станут более компактными и т. Д., Но я считаю это маловероятным, поскольку в команде, стоящей за ним, слишком много людей.

Кроме того, кривая обучения Angular 1 уже была настолько плохой для многих разработчиков, что сторонние и сторонние элементы управления (например, оболочки элементов управления jquery или материалы angular) часто были не очень хорошими (проблемы с очисткой и т. Д.), И нам приходилось переделывать их или исправлять их.

Так что мы даже не получили выгоды от экосистемы. Чем меньше и легче что-то понять, тем лучше будет качество работы в экосистеме. Angular 2 с машинописным текстом приближается к Java / .Net со всеми хорошими и плохими вещами, но это не то, что я хочу для наших клиентов.

Все сказано. Нам очень нравится Vue. Он станет основой для нашей следующей версии пользовательского интерфейса нашей основной линейки продуктов.

Извините, это было так долго :) Но Angular 2 меня очень разочаровал.