Душный Вуй
742 subscribers
151 photos
5 videos
4 files
351 links
Немного душные, но ламповые заметки о Vue.js
#vuejs #vue #nuxt #vuex #pinia #вью #vapor
Download Telegram
Forwarded from MSK VUE.JS News
Всем привет 🙂
Это мы идем с крутыми новостями🤪

Алярм: мы открываем регистрацию на новый митап!

📆 29 мая 2024, 19:00

📍 Мск, Крылатская 15, Офис Lamoda

👉 РЕГИСТРАЦИЯ👈

В 13-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Lamoda!

Вас ждут 3 доклада, розыгрыш мерча за лучший вопрос спикеру и просто тонна общения с крутыми разрабами 🙂

Совсем скоро мы представим наших спикеров, поэтому не переключайтесь 🙂

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

Передаем привет главному спонсору #13 митапа - Lamoda Tech 💚

Увидимся совсем скоро 🤍
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥3😭3
MSK VUE.JS News
Всем привет 🙂 Это мы идем с крутыми новостями🤪 Алярм: мы открываем регистрацию на новый митап! 📆 29 мая 2024, 19:00 📍 Мск, Крылатская 15, Офис Lamoda 👉 РЕГИСТРАЦИЯ👈 В 13-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Lamoda! …
Ребята ходите на митапы, митапы это хорошо! Особенно митапы у ребят MSK Vue.js 💚

Я к сожалению пропущу этот митап так как 23 мая улетаю в дали далёкие, грустно это конечно 😭
Please open Telegram to view this post
VIEW IN TELEGRAM
😢3🔥2🤡1
Forwarded from Vueist
С постами туго, так как готовлюсь к митапу ссылка на который выше, скоро там будет уже анонс доклада (по секрету это о работе с композаблами).

Но только вот не у всех есть возможность оказаться в каком-то городе для оффлайн мероприятия (на мероприятии выше трансляция и запись будет). И вот я наткнулся на еще один митап: Vuejs Talks от кор команды Vuestic UI. Митап проходит в онлайн формате на английском, так что это шанс получить общение или даже выступить впервые на английском языке (я себе галочку уже поставил, что планирую это сделать).

Самая классная часть, что проводится митап регулярно фактически каждый месяц. Следующий митап будет 18 июня.
Зарегистрироваться можно здесь
Если же захотели стать спикером

PS, а еще как член ПК Holy.js я бы очень сильно хотел видеть заявки на доклады по Vue экосистеме у нас. Поэтому если у вас есть идеи или желания, то welcome (возможно даже выступление удаленно)

#мероприятия
👍32
Forwarded from Vueist
Невнимательность и реактивность

Недавно в чате человек столкнулся с проблемой, что "меняя нереактивный массив он видел изменения в рендере". В чате сразу начали возникать: мол раз reactive был передан, то это уже реактивный массив. Давайте разбираться

1. Меняется ли исходный объект при передачи в reactive?
Нет. Объект сам не меняется, однако Proxy создаваемое от reactive будет мутировать именно переданный объект. Возможно это очевидно, но:
- во Vue2 редактировался исходный объект. Там каждое поле объекта становилось getter + setter (при этом во всю глубину) и конечно же такой подход имел свои последствия.
- В других фреймворках, например Svelte может быть иное поведение. Там Proxy лишь основывается на начальном объекте и мутации не идут в исходный объект

2. Отслеживает ли Vue мутации в исходном нереактивном объекте?
Нет. Однако, Proxy все-таки основан на оригинальном объекте и если кто-то изменит объект, а потом это значение прочтут реактивно, то, конечно же, будет получено актуальное значение
const a = { hello: 0 }
const aReactive = reactve(a)
const b = ref(2)
const mult = computed(() => aReactive.hello * b.value)
console.log(mult.value) // 0 * 2 = 0
a.hello = 2
console.log(mult.value) // все еще 0, Vue не знает об обновлении
b.value = 1
console.log(mult.value) // 2 * 1 = 2, так как изменилось другое реактивное значение, то Vue пересчитал computed

Кажется очевидным, но в Svelte опять же после создания реактивного значения связь с нереактивным теряется

Вот по сути 2 ключевых момента которые ввели в ступор разработчика, он не заметил, что каждую секунду из-за useFps у него происходил ререндр компонента и не мог понять почему видит обновления в нереактивных данных.

Однако затронем пару еще интересных моментов:

Знает ли Vue, что уже существует Proxy для отслеживания конкретного объекта?
Да. Vue имеет специальные WeakMap-ы со всеми существующими Proxy от реактивности (но доступа к ним прямого нет, он спрятан в исходниках @vue/reactivity)
Проверить это достаточно легко:
const a = { hello: 0 }
const aReactive1 = reactive(a)
const aReactive2 = reactive(a)
console.log(aReactive1 === aReactive2) // true

Это важная часть оптимизация реактивности Vue позволяющая существенно экономить память при работе с объектами, так как на каждый объект не более 1 соответствующего Proxy. Однако у вас нет к этому доступа

Есть ли какие-то данные в Proxy от reactive которых нет в исходном объекте?
Есть, их не существует в объекте, но Proxy особым образом проверяет на доступ к ним. И это ReactiveFlags и хотя у вас есть доступ к этим флагам, все-таки лучше использовать соответсвющие утилити функции от Vue
console.log(aReactive[ReactiveFlags.IS_REACTIVE] === isReactive(aReactive))
// и тд


#learn #reactivity
🔥14👍5
Forwarded from MSK VUE.JS News
Всем привет!
Ииииииии внимание, наш первый спикер 🎙

Невероятная фронтесса - Дарья Сабурова!

О чем будет доклад?
Даша расскажет сама:

С момента выхода Vue 3 прошло уже пять лет, представляете? Казалось бы, только вчера мы погружались с головой в новый подход к реактивности, горячо спорили о полезности CompositionApi и придумывали планы, как мигрировать проект с Vue 2. Но время идет и фреймворк не стоит на месте: постоянно что-то улучшается, добавляются новые возможности, а иногда и наоборот, что-то удаляется, так и не добравшись до широких масс. Так давайте же взглянем на историю развития минорных версий Vue 3: вспомним, как было трудно (а может и нет?) в самом начале и какой длинный путь проделал фреймворк к настоящему времени, посмотрим на акценты, которые были сделаны в каждом из миноров и рассмотрим наиболее интересные фичи, которые мы могли пропустить.


Интересен доклад Даши? Ставь 👍
👍34🔥3🤡2
Forwarded from MSK VUE.JS News
Всем привет!
Самое время анонсировать нашего второго спикера 🎙

Поприветствуйте бурными овациями – легенда Денис Чернов!

О чем будет доклад?
Денис расскажет сам:

Composition API может вскружить голову своими возможностями и во главе угла стоят Композаблы. Что это такое и какими приемами можно подчинить их у себя на проекте, чтобы работа с ними приносила лишь радость? Со всем этим попробуем разобраться и покомпозировать композаблы


Ждешь доклад Дениса? Ставь 🔥
🔥44👍62
Forwarded from Nuxt.js | Vue SSR News (Loveless)
🚀 Вышла первая альфа-версия Nuxt 4!

Изначально Nuxt 4 планировался к выпуску в июне 2024, однако команда пересмотрела подход:

Альфа-версия: июнь 2025 (уже доступна!)
Стабильный релиз: конец июня 2025
Nuxt 5: позже, после готовности Nitro v3

🔥 Ключевые изменения

⚡️ Nitropack v3 nightly
Самое значимое обновление — интеграция с Nitropack v3 nightly, что обещает улучшенную производительность и новые возможности.

🎨 Обновленные UI-шаблоны
Шаблоны пользовательского интерфейса полностью обновлены под брендинг v4.

📦 Масштабные обновления зависимостей
Обновлены до последних версий ключевые зависимости: c12, jiti, unbuild, unimport и множество других.

📋 Что планируется в ближайшие недели
Pull Request'ы для модулей сообщества в nuxt/modules registry
Полный гайд по миграции с Nuxt 3 на Nuxt 4
Только багфиксы для v3 в этом месяце
Обновление документации на nuxt.com с переключением между версиями
Release Candidate планируется на 23 июня

⚠️ Важные моменты для разработчиков

На стадии альфы:
Планируются дополнительные breaking changes
Возможны баги и "трения" в использовании

На стадии беты:
Breaking changes не планируются, но могут быть при необходимости
На стадии RC:
Только исправления багов

🧪 Как попробовать
Команда призывает early adopters (ранних пользователей) тестировать новую версию и сообщать о найденных проблемах в репозиторий Nuxt или используемых модулей.
Следить за прогрессом можно через Nuxt 4 milestone на GitHub.
🔥7👍4
Как бы да, но есть нюанс
Forwarded from VueJS News
📦 Vue Language Tools 3.0 was released

... but with regressions. Waiting for version 3.0.1

Changelog: https://github.com/vuejs/language-tools/releases/tag/v3.0.0
😁82👍2
Давайте коллективно поможем @grindpride решить проблему 💚
Есть форма в Наксте, она показывается до гидратации, юзер успевает ее заполнить, а после гидратации данные слетают, чё как решить это вот?
Не предлагаем блокировать форму)

Вообще такая проблема не только в Наксте, хочется услышать как её в целом сейчас решают
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2💩21🥰1
Forwarded from Vueist
Прерываюсь с отпуска с очень грустной новостью: NuxtLabs де-факто на зарплате у Vercel теперь. Я не буду тут описывать почему это плохо. Кто понял тот понял. Но на зарплате Vercel-я теперь все основные Nuxt мейнтейнеры: Энтони, Пуя, Себастьян и Даниель.

https://github.com/nuxt/nuxt/discussions/32559
#iwanttocry
😭12🤩4
Forwarded from Vue-FAQ
Вышла Vue v3.6.0-alpha в которой уже есть Vapor mode

Рекомендуется использовать с осторожностью в небольших приложениях полностью на Vapor или в частичной реализации компонент, которым нужна производительность

Основная идея Vapor Mode - работать с DOM в браузере напрямую, а не через VDOM, что теоретически должно дать ускорение и меньший размер бандла. На большинстве Vue приложений ни то ни то, наверно, особо заметно не будет, даже с бенчмарками

Тем не менее, наш ответ Solid.js и Svelte.
С маркетинговой точки зрения абсолютно верный шаг.

#vapor #vue
🔥12🤔1
Forwarded from Nuxt.js | Vue SSR News (Андрей)
Представьте, просыпаетесь вы утром, а там
Nuxt 4 официально вышел и включает множество (непустое) улучшений:
🐤Изменили структуру папок проекта (также известную как архитектура): app/, server/, modules/
Обновили useAsyncData и useFetch: теперь с shallow-реактивностью, undefined для дефолта и переиспользованием данных между компонентами.
🍙 Упростили tsconfig, теперь достаточно одного в корне проекта.
🩹 Нормализовали автогенерацию имён компонентов – теперь они будут одинаково отображаться и использоваться и в девтулзах, и в KeepAlive, и с автоимпортами.

Готовы обновляться? Ловите гайд по миграции. Не готовы? Пока что жить можно.
Поддержка Nuxt 3 заявлена до конца 2025, Nuxt 4 – до середины 2026. Ожидается вскоре Nitro v3 и уже на его базе выйдет Nuxt 5.

Доброе утро ☀️
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3💩1
Forwarded from Vueist
Отпуск завершен. Возвращаюсь в рабочий ритм. Но сейчас самое главное то о чем многие меня спрашивали и ждали.
Я собираюсь сделать новый цикл интенсива по вкату во Vue. Сейчас это не объявление набора, но ждите его примерно с 10-ых чисел августа.

Для кого:
1) Те кто уже умеют писать на других фреймворках, но ему любопытно познакомиться со Vue.
2) Вы уже имеете неплохую базу JS/HTML (уровень умение пояснить за стрелочную и обычную функцию, а также знание основных HTML-тегов).
3) Вы уже пишете на Vue, но недавно или боитесь что у вас много пробелов (будем прорабатывать базу).

Формат: звонок с группой, но стрим будет и общедоступный
Домашняя работа: будет, но проверка по желанию
Протяженность: 2 недели, +- каждый день по 2-3 часа по вечерам.

Что узнаем:
1) Получим основную и прочную базу по Vue
2) Получим набор бестпрактисов для проектов
3) Ознакомимся с основной окружающей экосистемой

Чего не будет:
1) Тестирования (это заслуживает отдельной работы)
2) То что полезно при написании своих библиотек/ui либ (Storybook, tsup и тд, потребует слишком много специфичных моментов для сжатого интенсива)
3) Глубокой подкапотной работы механизмов Vue (однако база будет дана достаточная для применения на практике)

Это будет не курс, скорее обкатка некоторых элементов с него.
И это будет совершенно бесплатно и в открытом доступе, сугубо из желания увеличить количество учебного материала по Vue
👍9🔥3🤡32💩1