Заспорил тут в Твиттере с создателем
На аргумент о
В итоге получился вот такой бенчмарк на Stackblitz по замеру времени изменения разных массивов
С одной стороны, ужасно, как
С другой, еще раз стало очевидно, что писать программы на
#optimization #benchmark
FormKit
Justin Schroeder
, который с чего-то призвал отказаться от использования ref
в пользу reactive
На аргумент о
ShallowRef
он привел ShallowReactive
, и стало интересно, как сильно они отличаютсяВ итоге получился вот такой бенчмарк на Stackblitz по замеру времени изменения разных массивов
ShallowRef
не использует JavaScript Proxy
, отсюда такая эффективностьС одной стороны, ужасно, как
Proxy
уронил общую производительность в JS
С другой, еще раз стало очевидно, что писать программы на
Vue
надо с умом. Необходимо полностью контролировать модель и потоки данных. Именно поэтому доверять таким библиотекам, как VueUse
и Tanstack
, это, как минимум, торговать производительностью и архитектурой.#optimization #benchmark
👍12❤1
Сперва они советуют всегда для роутов использовать динамичные роуты, потом учат делать префетчинг...
Этот совет из документации
#routing #optimization
Этот совет из документации
Vue Router
- самое глупое что есть в ближайшей Vue
экосистеме.#routing #optimization
💩9💯1
// useUserService.ts
function isAuthenticated() {
return !!user.value;
}
// Component A
<script>
const { isAuthenticated } = useUserService();
</script>
<template>
<p v-if="isAuthenticated()">hello</p>
</template>
Функции во
Vue
ведут себя не совсем как функцииВ данном примере функция
isAuthenticated()
ведет себя как computed
и будет вызываться каждый раз, когда user
изменится или компонент А
будет перерисовываться.Происходит это из-за того, что
Vue
определяет все реактивные зависимости внутри тела функции и перерендивает компонент, когда кто-то из них меняется.Таким образом, большой разницы в использовании функции вместо
computed
нет. Но если внутри большая логика, то лучше использовать computed
, потому что он будет пересчитываться только когда его зависимости изменились, а функция - при любом рендеринге#reactivity #tip #optimization
❤10💩3👍2😁2👎1🌚1
Время от времени можно удалять локальный
#npm #pnpm #optimization
npm
/yarn
/ pnpm
кэш, чтобы освободить место на диске от устаревших версий пакетов.#npm #pnpm #optimization
👍3👌1
Датацентры всего мира производят 3.7% мирового CO2 (carbon footprint, углекислый газ)
Каждый показ вашего сайта является причиной выделения CO2 - в среднем 0.8 грамм.
Замерьте карбоновый след вашего сайта
Еще одна причина писать эффективные
#pwa #optimization
Каждый показ вашего сайта является причиной выделения CO2 - в среднем 0.8 грамм.
Замерьте карбоновый след вашего сайта
Еще одна причина писать эффективные
PWA
#pwa #optimization
Website Carbon Calculator
Website Carbon™ Calculator v4 | What's your site's carbon footprint?
The original website carbon calculator tool, brought to you by Wholegrain Digital,London's original sustainable WordPress agency.
🤡10🔥3