Рейтинг фронтенд фреймворков по количеству набранных в 2023 году GitHub звезд
Забавно, что Vue 2 набрал не сильно меньше Vue 3. По общему числу звезд Vue 2 уже отстал от React.
Также интересно, что у Svelte и Vue примерно одинаковое количество звезд каждый месяц (что может коррелировать с вливанием новых разработчиков в фреймворк), но число реальных проектов в коммерческой сфере отличается на порядок (или порядки)
#rating #benchmark #framework
Забавно, что Vue 2 набрал не сильно меньше Vue 3. По общему числу звезд Vue 2 уже отстал от React.
Также интересно, что у Svelte и Vue примерно одинаковое количество звезд каждый месяц (что может коррелировать с вливанием новых разработчиков в фреймворк), но число реальных проектов в коммерческой сфере отличается на порядок (или порядки)
#rating #benchmark #framework
🤔3
Proxy - объект, появившийся в JavaScript начиная с ES6, и позволяющий сделать над объектом "обертку" для перехвата операций get, set, defineProperty и некоторых других.Именно он используется во
Vue 3 Reactivity API для реализации Reactive (и Ref на объектах).Однако за это приходится платить производительностью. Доступ к свойству объекта через
Proxy примерно в 30 раз медленней, чем просто к свойству объекта.
let sum = 0
// 1. proxy access
const point = new Proxy({ x: 10, y: 20 }, { get: (t, k) => t[k] })
for (let i = 0; i < 100_000; i++) { sum += point.x }
// 2. direct access
const point = { x: 10, y: 20 }
for (let i = 0; i < 100_000; i++) { sum += point.x }
Это из-за того, что
Proxy плохо поддаётся JIT оптимизации.Разница в производительности простого объекта с
Reactive будет еще больше.Поэтому использовать
ref/reactive на статичных данных или данных, которым не нужна реактивность (например, для хранения JWT токена в сторе) - не очень разумно.#tip #performance #benchmark #proxy #reactive
👍23❤4
Интересное исследование по производительности CSS в scoped областях в браузерах.
Vue использует HTML уникальные атрибуты для обозначения скоупа, Svelte - классы. В статье показаны результаты бенчмарков для различных вариантов скоупинга. Конкретно сравнение подходов разных фреймворков - в самом конце.
Выводы: Shadow DOM самый быстрый, подход Vue с
#css #benchmark
Vue использует HTML уникальные атрибуты для обозначения скоупа, Svelte - классы. В статье показаны результаты бенчмарков для различных вариантов скоупинга. Конкретно сравнение подходов разных фреймворков - в самом конце.
Выводы: Shadow DOM самый быстрый, подход Vue с
data-v- атрибутом тоже вполне эффективен#css #benchmark
Read the Tea Leaves
Style scoping versus shadow DOM: which is fastest?
Update: this post was updated with some new benchmark numbers in October 2022. Last year, I asked the question: Does shadow DOM improve style performance? I didn’t give a clear answer, so per…
👍8
На прошлой неделе у реактеров знатно подгорело, когда были проведены тесты сравнения скорости разных фреймворков в SSR режиме.
Эван тоже озадачился, что
#ssr #evanyou #benchmark #vuejs #nextjs #reactive
Next.js отстал от чистого React в 15 разЭван тоже озадачился, что
Vue болтается где-то в серединке, и за пару дней нашел проблему с Node.js и подготовил патч, который вывел Vue на первое место.#ssr #evanyou #benchmark #vuejs #nextjs #reactive
🔥22👍3😁3❤1
К Дурову можно по-разному относиться, но людей, у которых руки растут не из жопы, он умеет находить
Chrome DevTools -> Memory -> Total JS heap size
#benchmark #telegram #nuxt
Chrome DevTools -> Memory -> Total JS heap size
#benchmark #telegram #nuxt
Web WhatsApp - 170MB
Slack - 125MB
VK.com - 120MB
Dzen.ru - 70MB
Nuxt.com - 40MB
Google Calendar - 40MB
Google.com (пустой) - 30MB
Web Telegram - 25MB
Vuejs.org, vue-faq.org - 5-10MB
👍25
Недавние тесты производительности
Чудес особых не будет -
Поэтому не пишите большие сложные компоненты. Разбиение помогает оптимизировать рендеринг.
Признак хорошего Vue.js кодинга №4.
#vapor #benchmark
Vapor Чудес особых не будет -
Vue и так быстр. Хотя на больших сложных компонентах преимущество может быть уже ощутимей.Поэтому не пишите большие сложные компоненты. Разбиение помогает оптимизировать рендеринг.
Признак хорошего Vue.js кодинга №4.
#vapor #benchmark
👍5
Заспорил тут в Твиттере с создателем
На аргумент о
В итоге получился вот такой бенчмарк на Stackblitz по замеру времени изменения разных массивов
С одной стороны, ужасно, как
С другой, еще раз стало очевидно, что писать программы на
#optimization #benchmark
FormKit Justin Schroeder, который с чего-то призвал отказаться от использования ref в пользу reactiveНа аргумент о
ShallowRef он привел ShallowReactive, и стало интересно, как сильно они отличаютсяВ итоге получился вот такой бенчмарк на Stackblitz по замеру времени изменения разных массивов
ShallowRef не использует JavaScript Proxy, отсюда такая эффективностьС одной стороны, ужасно, как
Proxy уронил общую производительность в JSС другой, еще раз стало очевидно, что писать программы на
Vue надо с умом. Необходимо полностью контролировать модель и потоки данных. Именно поэтому доверять таким библиотекам, как VueUse и Tanstack, это, как минимум, торговать производительностью и архитектурой.#optimization #benchmark
👍12❤1
Vue унизили...Да еще и где - на
LogRocket. Опять она только для маленьких проектов и не поддерживает TS Правда, когда я запускал их варианты
landing page, у меня Vue был на первом месте и локально в LightHouse, и на PageSpeed.Ну и статичный лэндинг ничего не говорит о том, как все это будет быстро работать с динамическими данными.
#benchmark
LogRocket Blog
Angular vs. React vs. Vue.js: Comparing performance - LogRocket Blog
React, Angular, and Vue.js are open source frontend JavaScript frameworks for building web applications. This guide compares their use cases.
😢6😁2🤬1
Принес новогодние подарки
Cтатистика от w3techs.com. Они используют Chrome User Experience Report, так что данные достаточно объективные
По сравнению с прошлым годом - у
А теперь смотрим на
Элита интырнэта
#benchmark #vue #react #angular #stats
Cтатистика от w3techs.com. Они используют Chrome User Experience Report, так что данные достаточно объективные
По сравнению с прошлым годом - у
Vue явная положительная динамикаА теперь смотрим на
top 1000 (сайтов по посещаемости) и... закуриваем безникотиновую сигаруЭлита интырнэта
#benchmark #vue #react #angular #stats
🔥9
jsbenchmark.com - очень удобный сервис для проведения замеров производительности небольших кусков кода
#benchmark
#benchmark
Jsbenchmark
JS Benchmark
A straightforward online JavaScript benchmarking tool and REPL with support for ES modules and libraries.
👍11
Новый индекс Tiobe языков программирования
Сперва подумал, что
Рывок
#lang #stats #benchmark
Рейтинг составляется на основе количества квалифицированных инженеров по всему миру, курсов и сторонних поставщиков.
Сперва подумал, что
TypeScript за язык программирования не считают, но потом нашел его на 37-ом местеРывок
Python это, очевидно, задачи, связанные с AI #lang #stats #benchmark