Сравнение популярности React и Angular

На днях слушал подкаст Фронтенд Юности, где ребята затронули тему того, что Angular не выбирают для лендингов. И в этот момент я подумал, что при сравнении фреймворков всегда говорится, что React - не фреймворк, а библиотека. А вот когда их сравнивают, то сравнивают @angular/core и react и у реакта значительное превосходство в популярности. Например самое популярное сравнение npmtrends @angular/core vs angular vs react vs vue

npmtrends.com-2020.09.12-angular-react.png

8 000 000 vs 1 500 000

Меня никогда не покидает мысль, что для SPA проекта длительностью более полугода или с большим количеством исполнителей или с большим количеством форм или с большим объемом асинхронного кода надо выбирать Angular. Кажется, что не должно быть такого перевеса. И тут я понимаю, что react это не только SPA, а еще ряд смежных областей, а сравнение @angular/core и react некорректно по определению.

Тогда возникает следующий вопрос: "Как более правильно сравнивать инструменты для разарботки одностраничных приложений?". И ключевое слово здесь - одностраничных. Что обеспечивает одностраничность? Правильно, роутер. Поэтому при сравнении популярности angular с другим инструментом построения SPA следует сравнивать популярность роутеров. Среди статистически значимых пакетов удалось найти только @reach/router и react-router.

screenshot-www.npmtrends.com-2020.09.12-routers.png

(3 800 000 + 2 000 000) vs 1 500 000

У Angular по-прежнему полтора миллина загрузок, а вот у React почти 6 миллионов вместо 8. Снижение на 27%, видимо столько проектов на реакте не являются классическими SPA.

@reach/router vs react-router vs @angular/router vs vue-router


Похожие записи

RxJS Pipeable Operators

Начиная с версии rxjs 5.5 операторы вместо цепочки вызовов применяются как параметры функции pipe.

+function ($) { "use strict"; }(window.jQuery);

  • объявляется IIFE (немедленно выполняемая функция-выражение)
  • в функцию передаётся объект библиотеки jQuery, которая внутри будет доступна через переменную с именем $
  • включается «строгий режим»

Не ставить фокус по клику

Проблема заключалась в следующем: когда имеется интерактивный элемент с :focus стилем и вы щелкаете по этому элементу, на нём остаётся focus стиль (outline обводка). У нативной кнопки всё работает as expected, но стоит её добавить любой стиль и, как побочный эффект, меняется её поведение.