Pull to refresh

Comments

Vue может взлететь в 2019 сразу после запуска третьей версии, которую они обещают написать на TS.

В angular я не сильно верю. Думаю, новые проекты на нем будут стартовать все реже и реже. Но проектов на нем очень много, поэтому без работы ангулярщики (ангуляровцы?) не останутся.

React скорее всего будет рулить весь следующий год. Думаю изменения API будут минимальными, а основные усилия разработчики будут вкладывать в оптимизацию и производительность, потому что есть запрос. Иначе девелоперы будут переезжать на preact, который быстрее и меньше, но имеет мелкие отличия от реактового API.

Думаю может пойти в гору rollup, как альтернатива вебпаку при сборке.

Думаю ES6 и mjs пойдет в массы на клиенте. А еще всех будет бесить что NodeJS привезет mjs только в 2020.

Согласен с вами, реакт будет в тренде, vue может взлететь, а популярность ангуляра будет падать.
Про es6 тоже так думаю — с ie уже почти никто не заходит и фичи 2015 года можно будет использовать без бабеля.

С чем связано падение популярности Angular?

Добавлю свои пять копеек, о том, почему я нахожусь в категории "использовал, но больше не собираюсь" относительно Angular. По работе пришлось столкнуться с проектом на Angular полсле нескольких лет на Knockout, а затем на React с небольшим заходом в Vue.


  • Высокий порог входа: помимо прочего, нужно знать модульную систему с DI, RxJS Observable, и кучу проприетарных API, построенных вокруг них вместо использования независимых общепринятых библиотек.
  • Из-за того, что Zone.js патчит нативные события браузера, возникают баги при интеграции нескольких сторонних библиотек виджетов навроде автокомплита. Причем, где ошибка — не понять, из-за волшебных стектрейсов Zone.
  • Наркоманский синтаксис шаблонов: у React это XML + JS с минимумом проприетарщины, у Vue — почти HTML, а у Angular...
  • На React можно писать части многостраничного сайта. У Vue с этим еще проще. А вот в Angular, если Вы не пишете SPA и не используете angular-cli — проще сразу повеситься. Вам ведь нужен не просто TypeScript, а специальный компилятор.
  • С IDE тоже проблемы — для автокомплита в шаблонах нужен angular-language-service. Который часто глючил и отваливался (так было в начале 2018). В итоге разрабатывали без него.
  • Ну и вес итогового бандла тоже оставляет желать лучшего.
Ну не знаю. На мой взгляд для создания крупных, целостных приложений корпоративного уровня — Angular более предпочтительный выбор. Стоял вопрос — что выбрать. Разрабатывают приложение фуллстеки, бакенд на net.core 2, сделали анализ ангулар-реакт-вью, остановились все-таки на ангулар. Очень мощный инструмент, но порог входа конечно более высокий чем у остальных технологий. Ну а подводные камни везде есть и свои баги\глюки.
Не согласен, мне нравится Angular и я готов его защищать :)
  • Observable могут вполне себе стать частью ES, а DI для меня выглядит довольно понятно и просто.
  • Проблем с zone.js у меня ещё не было, наверное будет ждать в будущем, но на текущий момент стектрейст помогает понять где была сделана ошибка и все понятно, но соглашусь, там много лишнего.
  • Про синтаксис шаблонов не согласен совсем, это обычный HTML и ничем он особо не отличается, а просто расширяется за счет использования «кастомных элементов», а именно компонентов и директив Angular. Они прекрасно вписываются в синтаксис html.
  • По поводу SPA тоже не согласен. Вполне себе используем Angular для разработки полноценного приложения и все работало (и работает) прекрасно, компоненты переиспользуются на ура, все работает. Без angular-cli прекрасно обходились, собирали приложение чистым TS и оно работало.
  • С `@angular/language-service` ни разу проблем не возникло, с Webstorm это работает прекрасно (как минимум последние года полтора)
  • Вес итогового бандла устраивает, возможно это связано с тем, что энтерпрайз, в любом случае прогресс идет в сторону, чтобы сделать его как можно компактнее
Если нравится ангуляр, то используй)
Это не пхп который отвратителен по дизайну, в принципе ответ на вопрос что круче реакт, ангуляр или vue может быть субъективен, поэтому используй что нравится)
Observable могут вполне себе стать частью ES, а DI для меня выглядит довольно понятно и просто.

Вот тут я полностью согласен. DI — хороший способ распределить stateful сервисы по компонентам. В итоге я даже притащил DI в React: react-ioc, https://habr.com/post/431942. Тут был камень в огород модулей — почему не достаточно просто компонентов и сервисов?


Webstorm

Рад за Вас. У нас был VS Code. Вот казалось бы: Angular на TypeScript, VS Code на TypeScript, но нет… (сам я TypeScript очень люблю)


Про синтаксис шаблонов не согласен совсем, это обычный HTML

Только вот регистро-зависимый, с кучей разных скобок вроде [(banana in box)] и с микро-синтаксисом для директив. Пример: trackBy почему-то должен быть методом компонента. Сравните с атрибутом key в React и Vue.


Проблем с zone.js у меня ещё не было

Строка автокомплита внутри виртуального скролла рядом с виджетом карты — и все станет веселее :)


собирали приложение чистым TS и оно работало

Ну у нас тоже все в итоге заработало. Только нервы себе подпортили. Тоже собирали чистым TS. Но пришлось потратить неделю на настройку вместо дня. И шаблоны компилировались в run time, а не в build time. От этого бандл потяжелел. Пришлось разбираться с DllPlugin и manifest.json и т.д.

Observable не станут нативными.

After much discussion with the parties involved, I plan to withdraw the Object.observe proposal from TC39 (where it currently sits at stage 2 in the ES spec process), and hope to remove support from V8 by the end of the year (the feature is used on 0.0169% of Chrome pageviews, according to chromestatus.com).
Насчет библиотек:
После того как в конце коцнов научитесь, чужой код легче читать и понимать, все стандаризированно. Код у всех разработчиков будет почти одинаковый, потому что как раз не используются «общепринятые библиотеки», которые у каждого проекта могут быть свои.
RxJS очень хорошая библиотека, которая может как раз заменить куча библиотек написав сам пару строк кода.

Наркоманский синтаксис шаблонов:
* Тоже многие не согласятся, намного проще использовать ngif, ngfor… чем в томже реакте.
Пока что все сводится лишь к тому, что сложно и непривычно. ( нежелание учиться чему-то новому, хотя это и не займет сильно много времени, все очень просто )

Можно писать части многостраничного сайта:
* А в чем проблема использовать command line? Нужен компонент ng g c / ng generate component, тоже самое с модулем, директивой и т.д. все делается в вашей же IDE / консоли.
Может вообще взять GUI генератор UI и сказать что не нужно вообще код писать?

С IDE тоже проблемы:
Пользуюсь только Webstorm, проблем нет.

Если подытожить, я бы сказал что angular годится для крупных enterprise приложений. А react для «побыстрому накодить».

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


Просто когда ты знаешь, что можно сделать лучше. Или так же, но с весом бандла в 3 раза меньше… Возникает ощущение, что пользуешься не enterprise-фреймворком, а альфа-версией enterprise-фреймворка. Есть только один способ сделать что-то. И этот способ — через жопу :) Простите за мой французский. Идеи у Angular интересные. Но реализация...

VueJS после обычного jQuery как глоток свежего воздуха. Бандл, конечно, выходит приличного размера, но возможность в webpack делить код на чанки и эту проблему решают. Стоит ли пробовать React, если не очень нравится как там выглядит синтаксис шаблонов?
Ну вы сравнили…
Jquery это вообще параша полная на сегодняшний день.
Вот лет 5-7 назад была супертема…
Мне кажется реакт стоит попробовать, вдруг понравится.
Так, кто минусанул комент про то что Jquery параша?
Аргументы что нет в студию!
Не минусовал, но зачем оскорблять? jQuery отжил свое.

Да и вообще, некорректно сравнивать jQuery со SPA-фреймворками.
Думаю Svelte вполне может в новом году расширить «Большую тройку», сделав ее «Фантастической четверкой». ;)
UFO landed and left these words here
Если честно, даже не слышал про KnockoutJS
Sign up to leave a comment.

Articles