Интересная дискуссия по теме "Pinia сторы против глобальных рефов" прошла на Reddit-e.
Плюсы composable сторов на глобальных рефах заявлены как:
1. Простота
2. Нативность по отношению к фреймворку
3. Отсутствие зависимостей означает отсутствие будущей ситуации "RIP Vuex" с переписыванием 50% кодовой базы проекта
4. API Composition выглядит очень зрелым и стабильным и вряд ли сильно изменится в ближайшем будущем (по сравнению с переходом Vue 2 -> Vue 3).
5. Позволяет использовать всю мощь Reactivity API вместо жесткой Reactive обертки для переменных у Pinia. Разница в производительности может быть огромной.
Выводы:
1. Большинство согласилось, что если не нужна поддержка SSR и интеграция с Devtools, то работа с Reactivity API напрямую и инкапсуляция реактивного состояния и бизнес логики в composable функции вполне возможна. Для многих это лучше использования Pinia.
2. Работа с Reactivity API позволяет делать многое, что не позволяет Pinia - например, делать сторы на TypeScript классах, как описано в предыдущем сообщении.
3. Был предложен лайфхак - во время разработки импортировать реактивные данные из composable сторов в Pinia, и тогда возможно использование Devtools. При билде для продакшна Pinia уже нет.
4. Единственный аргумент в пользу Pinia - унификация работы со стором в команде.
Плюсы composable сторов на глобальных рефах заявлены как:
1. Простота
2. Нативность по отношению к фреймворку
3. Отсутствие зависимостей означает отсутствие будущей ситуации "RIP Vuex" с переписыванием 50% кодовой базы проекта
4. API Composition выглядит очень зрелым и стабильным и вряд ли сильно изменится в ближайшем будущем (по сравнению с переходом Vue 2 -> Vue 3).
5. Позволяет использовать всю мощь Reactivity API вместо жесткой Reactive обертки для переменных у Pinia. Разница в производительности может быть огромной.
Выводы:
1. Большинство согласилось, что если не нужна поддержка SSR и интеграция с Devtools, то работа с Reactivity API напрямую и инкапсуляция реактивного состояния и бизнес логики в composable функции вполне возможна. Для многих это лучше использования Pinia.
2. Работа с Reactivity API позволяет делать многое, что не позволяет Pinia - например, делать сторы на TypeScript классах, как описано в предыдущем сообщении.
3. Был предложен лайфхак - во время разработки импортировать реактивные данные из composable сторов в Pinia, и тогда возможно использование Devtools. При билде для продакшна Pinia уже нет.
4. Единственный аргумент в пользу Pinia - унификация работы со стором в команде.
Reddit
From the vuejs community on Reddit
Explore this post and more from the vuejs community
Команда Oxc создаёт убийц 🔒
Ребята пишут JS тулзы на Rust'е, засчёт этого получают огромный буст к производительности и готовят его модно-молодёжно
Что у них уже есть сейчас (пока всё равно сыровато, но потенциал большой)?
— OxLinter — в 50~100 раз быстрее чем ESlint
— OxResolver — в 28 раз быстрее чем enhanced-resolve
— OxParcer — в 2 раза быстрее чем SWC
Отзыв Evan You (создатель Vue.js) об OxLinter:
Официальный сайт OXC
Ребята пишут JS тулзы на Rust'е, засчёт этого получают огромный буст к производительности и готовят его модно-молодёжно
Что у них уже есть сейчас (пока всё равно сыровато, но потенциал большой)?
— OxLinter — в 50~100 раз быстрее чем ESlint
— OxResolver — в 28 раз быстрее чем enhanced-resolve
— OxParcer — в 2 раза быстрее чем SWC
Отзыв Evan You (создатель Vue.js) об OxLinter:
Запустил oxlint на кодовой базе Vue 3, ~200 правил + ~590 файлов завершены за 50 мс 🤯 (30 мс повторного запуска).
Производительность просто сумасшедшая
Официальный сайт OXC
Please open Telegram to view this post
VIEW IN TELEGRAM
Youtube каналы с контентом по Vue
На английском языке, практически везде есть хорошие субтитры на русском.
John Komarnicki
Lachla Miller
LearnVue
Anthony Fu
VueConf Toronto
VueSchool
VueMastery
#video
На английском языке, практически везде есть хорошие субтитры на русском.
John Komarnicki
Lachla Miller
LearnVue
Anthony Fu
VueConf Toronto
VueSchool
VueMastery
#video
Forwarded from Nuxt.js | Vue SSR News (Андрей)
Простите, бога ради (всё-таки Рождество у католиков), но релизный день продолжается.
Nuxt 3.9 тоже вышел
👩💻 Vite 5;
👩💻 Поддержка Vue 3.4;
🕹️Экспериментальная поддержка интерактивных компонентов внутри серверных;
🍿Несколько полезных фич, вроде хука
Nuxt 3.9 тоже вышел
🕹️Экспериментальная поддержка интерактивных компонентов внутри серверных;
🍿Несколько полезных фич, вроде хука
callOnce,
работы с define
от Vite для оптимизаций кода на сервера и управления индикатором загрузки через новый композабл useLoadingIndicator.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Release v3.9.0 · nuxt/nuxt
3.9.0 is the next minor release.
👀 Highlights
A very merry Christmas to you and yours from all Nuxters involved in this release! 🎁🎄
We have lots of features packed into v3.9.0 and can't wait f...
👀 Highlights
A very merry Christmas to you and yours from all Nuxters involved in this release! 🎁🎄
We have lots of features packed into v3.9.0 and can't wait f...
Forwarded from Black_Yuzia
Там https://t.me/vue_updates/370
vue 3.4.0 релизнулся.
Идите читайте changelog 👀
Чуть позже сделаю удобнее 🤔
vue 3.4.0 релизнулся.
Идите читайте changelog 👀
Чуть позже сделаю удобнее 🤔
Telegram
Vue Updates
Vue 3
v3.4.0
#vue #vue3
Please refer to CHANGELOG.md for details.
v3.4.0
#vue #vue3
Please refer to CHANGELOG.md for details.
Forwarded from Vue-FAQ
Vue DevTools ждёт обновление
Новая версия будет включать в себя несколько модулей от Anthony Fu из Nuxt DevTools. Пока планируется выпустить её отдельно от текущих DevTools и проверить стабильность. Сейчас она доступна как Vite плагин и Electron приложение. Как Chrome расширение приложение еще не готово.
#antfu #devtools
Новая версия будет включать в себя несколько модулей от Anthony Fu из Nuxt DevTools. Пока планируется выпустить её отдельно от текущих DevTools и проверить стабильность. Сейчас она доступна как Vite плагин и Electron приложение. Как Chrome расширение приложение еще не готово.
#antfu #devtools
Forwarded from Vue-FAQ
На просторах Рунета обнаружился еще один сайт, посвященный бесплатному обучению программированию на Vue:
https://vib-online.ru/
Автор выкладывает материал в виде глав учебника
К сайту прилагается Telegram канал: "Fronend для взрослых"
#learning #vib
https://vib-online.ru/
Автор выкладывает материал в виде глав учебника
К сайту прилагается Telegram канал: "Fronend для взрослых"
#learning #vib
Forwarded from Душный Вуй
Интересный способ как отследить изменения в слоте
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount } from "vue";
const slotElement = ref(null);
const observer = ref(null);
const update = () => {
console.log("UPDATE");
};
onMounted(() => {
observer.value = new MutationObserver(update);
observer.value.observe(slotElement.value,
{
childList: true, subtree: true
});
});
onBeforeUnmount(() => {
if (observer.value) {
observer.value.disconnect();
}
});
</script>
<template>
<div ref="slotElement">
<slot />
</div>
</template>
Forwarded from Vue-FAQ
На сайте `Vue FAQ` появился новый раздел - Arty-Crafty
Там будет создаваться онлайн магазин на Vue 3 с описанием того, как это делается. Своего рода туториал. Еще один open source проект.
Подробнее - на вводной странице.
Там будет создаваться онлайн магазин на Vue 3 с описанием того, как это делается. Своего рода туториал. Еще один open source проект.
Подробнее - на вводной странице.
Arty-Crafty - проект онлайн магазина
Онлайн маркетплейс | Vue FAQ
Vue FAQ - information about Vue.js and frontend development in general