Как стать автором
Обновить

Комментарии 30

Судя по графику и информации с https://trends.builtwith.com/javascript/Vue , популярность Vue выходит на плато, и фреймворк наиболее популярен в России, чем в остальном мире

Там есть сноска про разные масштабы и нелинейность шкал времени

Кроме того, по какой-то причине на моих скриншотах он нарисовал иные временные метки, нежели на текущих. Поэтому правая часть видится более пологой.

В любом случае, данные графики имеет смысл анализировать в масштабе, а не в деталях.

Что касается распределения по странам, то там, скорей всего, имеется ввиду страна размещения сервера вебсайта, что объясняет гегемонию США. При этом значимыми факторами могут являться не технические - внутреннее законодательство страны, регламентирующее хранение и обработку персональных данных, например.

Уже несколько раз сталкиваюсь с тем, что разработчик делает свою тему для `Vitepress` и использует её как полноценный онлайн продукт, а не как простой набор md файлов. В своё время сам столкнулся с задачей написания документации и этот проект упростил жизнь своей лёгкостью и простотой https://modal.jenesius.com.

Отличная статья!

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

P.S. Я сам голосовал за Vue.

На вряд ли много разработчиков на React и Angular зайдут на статью, где в названии только Vue

они слишком заняты

Я, наверно, что-то пропустил, но можно подробности про планы по отказу от Ангуляра в 2021?

Название статьи не отражает сути, почитайте чуть больше про этот план.

Вью хорош темплейт движком. Реакт возможностью работы с mobx. Мне не нравится во Вью что доступ к свойству идёт через .value приходилось переписывать много бизнес логики с вью фронтенда на react native mobx и честно .value добавляет ненужных движений. Как по мне идеально это темплейт вью + стейт mobx. (Это если абстрагироваться от внутренних реализаций реактивности и рендеринга.)

Дело в том, что вью с коробки, это реакт с mobx и ещё кучей либ.

Можно обойтись и без .value если там объект. Ну а если подумать про реакт без mobile, то там вообще на одно реактив вейлю две переменных, одна ещё и функция. Сам работаю с двумя фреймворками, вью просто приятней в мелочах. Скоупед стили из коробки, ивенты на компоненты и так далее

В целом уверен что сдружить их возможно. Но как писали ниже, то есть реактивные примитивы как Reactive которые могут прятать все эти .value. Однако, если вам не переписывать с React на Vue, то лучше принять .value. От нее пытались избавиться на этапе сборки но это порождало слишком много магии и дополнительных корнер кейсов проблемного вида

У Vue самый правильный, самый удобный вариант обращения с реактивными данными. Нужно понять, что переменная с реактивным состоянием - это не то же самое, что обычная переменная. К реактивному состоянию доступ должен быть через интерфейс - это и есть .value. Я не знаю библиотек, в которых бы было более правильней и в то же время проще обращение с реактивными данными. Нужно просто осознать эту философию.


Даже svelte долго терпел, но тоже переходит на раздельное обращение с данными в новой версии

Вот бы ещё шаблоны знали про это (в частности пропсы дочерних компонентов), а не разворачивали рефы в реактивные свойства.

Понятно зачем оно так сделано, но хочется более явных вещей, тем более и так уже через .value работаем.

Тогда можно использовать Vue macros там есть Reactivity Transform

Reactivity Transform уже нету
Отказались от него

В core да отказались но в Vue macros есть

Сюда же можно отнести как оперативно vitest захватывает поле еще одного "монополиста" в виде Jest-а активно смещая его позиции. Да, фокус команды в этом году был явно не на стороне Vue (что понятно по отсутствию обещанного Vapor Mode)

Так же недооценено влияние языкового туллинга как Volar который тоже выходит за пределы Vue уже. Например языковой туллинг Svelte уже на нем.

Итого по векторам суммируя:

  1. Frontend Framework - Vue

  2. SSR Framework - Nuxt

  3. SSG / Static Sites - Vitepress

  4. STM - Pinia / @vue/reactivity

  5. Builder - Vite

  6. Test - Vitest

  7. CSS framework - UnoCSS (убийца тейлвинда)

  8. Linting / Formating - Stylistic / antfu-eslint-config

  9. Language Tools - Volar

  10. Презентации - Slidev

  11. common web tasks - unjs

  12. И уверен что я много чего еще пропустил

Чего же тут не хватает?

Как по мне дико не хватает качественной UI-библиотеки. Вот чтоб от создателей со всей той любовью к DX-у что и в других продуктах от этих ребят. Именно в области UI-библиотек сейчас САМОЕ слабое место у Vue. Пока пытается это исправить только Nuxt со своим Nuxt UI, но он завязан на Nuxt экосистему и вне Nuxt не жизнеспособен сейчас, поэтому пользы мало.

Если появится что-то по кач-ву близкое или превосходящее условный Mantine, то это даст невероятный буст всей экосистеме

Еще члены core team Vue и Vite работают над Cypress и Astro.

Исходники Vapor mode на днях открыли, так что работа там идет. Хотя это уже полировка оптимизации, на среднем проекте разницы заметно не будет.

С UI библиотеками тоже не вижу проблем. Дизайнерские проекты с Фигмы все равно свою стилизацию используют, а для стандартных админок хватит стандартных Quasar или PrimeVue

При желании можно взять что угодно и перенести соответствующие стили компонентов Mantine, если уж так хочется

Вообще в проекте обычного вебприложения не так уж и много визуальных компонент используется. Можно ручками сделать красиво.

За напоминание о UnoCSS  - спасибо, действительно забыл это важное направление.

кстати да Astro тоже на основе Volar-а сделан

В плане UI библиотек Vue действительно не так хорошо выглядит на фоне React, но тем не менее, есть те же AntD и Radix UI.

Лично я использую quasar.dev и почти все нормально. Правда это чуть больше, чем ui библиотека, но это часто даже удобнее, тем более что есть вариант использования компонентов отдельно от всего комбайна.

Ну лично меня угнетают только встроенные стили без префикса и с important (типа hidden или outline), в остальном пользоваться можно. Ну и с альтернативами реально беда )

Чаще всего использую его совместно с tailwind. Вот из этой темы узнал про unocss, посмотрел. пока не понял чем же он сильно лучше tailwind кроме "скорости" (которая в tailwind весьма неплоха) и тем, что можно (нужно) работать на намного более низком уровне. Даже желания где-то на реальном новом проекте не возникло попробовать (

Может быть кто-то запилит статью с разбором что из них в чем лучше и в чем хуже?

Обзор весьма низкого качества, там в комментариях к видео есть разбор ошибок.

Кстати с недавнего времени наконец начали появляться нормальные UI-либы:

  • Chakta Team помимо самой Чакры пилит мультифреймворковые (React, Vue, Solid) Zag.js (state-machine) -> Ark-ui (primitives) -> Park-ui (собственно саму UI либу на основе этого всего)

  • Независимые разрабы пилят свой Radix-vue (аналог radix-ui) -> Shadcn-vue (аналог либы Шада)

И все таки я бы не стал упоминать план Барбароса просто так. Уж очень нехороший был план...

Не проводя прямых аналогий и абстрагируясь от того, что мне нравится Vue, из его экосистемы вышли реально крутые продукты, вы считаете подобную активность по расширению и используемые его командой методы правильными?

Google is not evil?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории