Vue-FAQ
923 subscribers
561 photos
90 videos
556 links
Канал сайта https://vue-faq.org
Информация о Vue.js, фронтенд разработке и не только

Contacts: @RuslanMakarov
Download Telegram
Вчера команда Vite заопенсорсила Rolldown

Сейчас Vite под капотом использует два JavaScript сборщика - esbuild для dev режима и Rollup для билда. Первый - быстрый, но недостаточно функциональный, второй - функциональный, но медленный. Кроме того, они дают иногда несколько разные результаты.

Команда Vite пытается построить единый сборщик, одновременно и быстрый, и совместимый с системой плагинов Rollup. Для этого используются наработки OXC, где ресурсозатратный код Rollup переписывается на Rust для большей производительности.

Rolldown не готов для использования в продакшн.

#vite #rolldown #rollup #esbuild
Stack Overflow Driven Development

(c) Grady Booch

#quote
Авраам родил Исаака; Исаак родил Иакова; Иаков родил Иуду и братьев его...

Немного родословной языков программирования

#lang
Еще немного о языках программирования

Правительство США назвало и рекомендовало к использованию в госструктурах шесть memory safe языков программирования

#lang
23-24 марта 2024 будут очередные 48 часов бесплатного доступа к урокам VueSchool

Зарегистрироваться на них можно здесь

#vueschool #learning
Кроме Rolldown-a команда Vue на прошлой неделе выставила в open source еще один свой грандиозный проект - Vue Vapor, который уже можно попробовать в его песочнице.

Грандиозный потому, что это по сути переписывание бОльшей части фреймворка. При этом Vue API (код для Vue 3, который пишет разработчик) должен остаться тем же самым.

Современные фронтенд фреймворки бывают двух типов - runtime и compile time. Первые работают с Virtual DOM - это такая абстракция на JavaScript, с которой взаимодействует пользовательская программа вместо реального DOM вебстраницы и, грубо говоря, являющаяся его зеркальным отображением. Делается это потому, что работа с браузерным DOM (рендеринг) - очень затратная операция, и фреймворк через Virtual DOM призван её оптимизировать - например, несколько изменений в DOM собрать вместе и зарендерить как одно. Так работают Vue.js и React, они предоставляют в runtime браузера прослойку для пользовательского кода (типа виртуальной машины), который работает только с объектами Virtual DOM.

Compile time фреймворки вроде Solid.js или Svelte не создают этой прослойки, и компилируют пользовательский код в код, который работает с браузерным DOM напрямую. В результате бандл получается меньше, а программа - быстрее. Сложность тут в оптимизации подобной компиляции. Для простых вещей она подходит, но что-то более сложное - и сompile time фреймворки уже могут проигрывать в скорости, и однозначно проигрывают Vue 3 в DX.

Команда Vue хочет хотя бы частично попробовать внедрить compile time реактивность - можно будет указывать, какие пользовательские компоненты компилировать в конечный код (Vapor mode), а для каких использовать обычный Virtual DOM.

#vapor #solid #svelte #vuejs #react
Vue-FAQ
Кроме Rolldown-a команда Vue на прошлой неделе выставила в open source еще один свой грандиозный проект - Vue Vapor, который уже можно попробовать в его песочнице. Грандиозный потому, что это по сути переписывание бОльшей части фреймворка. При этом Vue API…
Если кто-то немного прифигел от числа контрибьютеров во Vue Vapor в новости выше (450 на данный момент), то данный твит Эвана всё разъясняет:

Совет: проведите spellcheck вашего репозитория, прежде чем опенсорсить его, чтобы избежать всех PR с исправлениями опечаток.

#tip
Хм..
Почитал как работают Core Web Vitals и прозрачным прямоугольником на сплэш-скрине смог свести LCP до минимума (ранее был в районе 2 секунд)

Это этим занимаются SEO-специалисты?

#seo #webvitals
Кастомный обработчик ошибок:

try {
// ...
} catch(e) {
let url = `https://www.stackoverflow.com/search?q=[js] + ${e.message}`;
window.open(url, "_blank");
}


#humor
Пример реализации светлой и темной тем на сайте на чистом CSS

<body>
<label>
<input id="dark" type="checkbox">
Dark mode
</label>
</body>


body {
--fg: black;
--bg: white;
color: var(--fg);
background-color: var(--bg);
}

body:has(#dark:checked) {
--fg: white;
--bg: black;
}


#css #tip
Решил применить плагин eslint-plugin-vuejs-accessibility на своем проекте онлайн магазина Arty-Crafty. По PageSpeed оценка по A11y была 72, теперь вот так. Мелочь, а приятно. БОльшую часть ошибок плагин помог исправить, остальное - по подсказкам PageSpeed.

Кстати, когда eslint-plugin-vuejs-accessibility показывает ошибку, по ссылке можно попасть на очень хорошее описание в документации плагина соответствующего требования A11y и варианты исправления, так что однозначно рекомендуется.

Чтобы подключить плагин в ESlint flat config (типа того, что используется в antfu eslint-config) нужен примерно такой код (в доке этого нет):

import a11y from "eslint-plugin-vuejs-accessibility";

export default antfu({
plugins: {
"vuejs-accessibility": a11y,
},
rules: {
...a11y.configs.recommended.rules,
"no-console": "off",


#a11y #eslint #artycrafty
Полезный каталог Telegram групп по IT

@it_chats

#tip
Еще одна книжка с громким названием - Design patterns for Vue.js.

Автор - Lachlan Miller, член Vue team, контрибьютор во Vue.js, Vue Test Utils и Cypress

Платная, есть превью с двумя главами

#learning #book
С 1988 года 14 марта отмечается Международный день числа «Пи»
В 15 часов 9 минут 26 секунд

В связи с чем, один и тот же вопрос двум версиям ChatGPT - какая предпоследняя цифра в числе π?

#ai
Эван уже отписался по поводу нового AI Devin, который якобы решает 13% issues на GitHub

Devin не выходит за рамки того, что я себе представлял - и, честно говоря, он меня не впечатляет. Разработчик, который справляется со своими задачами лишь на 13%, - это обуза, а не актив.

Ну и надо заметить, что issues на GitHub бывают очень разные - и элементарные и хорошо сформулированные, и "туманные". Так же как и код, к которому они относятся.

#ai #evanyou
Сегодня день искусственного интеллекта

Обновления у Codeium - бесплатного AI помощника в качестве расширения для IDE.

1. Появился Codeium University (кликнуть иконку "i" справа вверху боковой панели). Подробная информация как работать с инструментом в виде удобной справки

2. Появилась возможность добавлять свои файлы, директории и даже GitHub репозитории в контекст (вкладка Context). По-прежнему по репозиториям есть React и Svelte, но нет Vue ((. Можно скачать и добавить как локальную директорию. В принципе, можно наверно так найти несколько качественных проектов на Vue и добавить в контекст как эталон.

#codeium #ai