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

Contacts: @RuslanMakarov
Download Telegram
Довольно приятная для глаз малоизвестная библиотека UI компонент - Equal UI
Использует Tailwind

#ui #lib
Порядок свойств в js объекте важен для оптимизации js движком, и лучше его сохранять

Такая функция:

function add(a, b) {
return {
x: a.x + b.x,
y: a.y + b.y,
}
}


на таких объектах:

const o1 = { a: 1, b: 2};
const o2 = { a: 3, b: 4};


будет выполняться в 7-10 раз быстрее, чем на таких:

const o1 = { a: 1, b: 2};
const o2 = { b: 4, a: 3};


#js #optimization
Media is too big
VIEW IN TELEGRAM
Отрывок из интервью Дуглаcа Крокфорда, изобретателя JSON, где он рассуждает о современных фронтенд фреймворках и TypeScript

#crockfold #interview #video #typescript
На CSS тоже можно писать полифилы

Не забываем, что :has() - относительно ресурсо-затратная функция, и всегда лучше её ограничивать родительским селектором

#tip #css
SVG тоже могут иметь реактивные свойства

<template>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="50" :fill="color" />
</svg>
</template>

<script setup lang="ts">
defineProps<{
color: string
}>();
</script>


#tip #svg
Известно, что несколько пропсов можно передать как объект через v-bind

<template>
<UserAccount
:name="user.name"
:profile="user.profile"
:location="user.location"
/>
</template>

// равносильно

<template>
<UserAccount v-bind="user"/>
</template>


Но это же верно и для событий:

<template>
<UserAccount v-on="userEventHandlers"/>
</template>

<script setup>
const userEventHandlers = {
updateName(newName) { ... },
deleteUser() { ... },
addFriend(friend) { ... }
};
</script>


Названия функций должны совпадать с названиями событий.

#tip #events
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Иван Бочкарев
Коллеги, всем привет!

С сегодняшнего дня доступен официальный перевод документации Vue js на русский язык!

https://ru.vuejs.org/
Семь признаков хорошего Vue.js кодинга:

1) ESlint и авто-форматирование
2) Следование Vue style guide
3) Осмысленное наименование переменных, функций, компонент; семантические тэги в шаблоне и CSS классы
4) За редким исключением размер компонента со стилями и шаблоном не превышает 200 строк
5) Отсутствие дублирования кода
6) Комментирование с JSDoc
7) Простой, легко-читабельный код

#bestpractices #styleguide #architecture
Микрософт и Open AI собираются построить AI суперкомпьютер стоимостью 100 миллиардов долларов

В нем будет миллион GPU

#ai
Для накстовцев наконец тоже придумали свою сертификацию

Кстати, если кто встречал в интернете образцы вопросов для Vue.js Developer сертификации, оставьте в комментариях ссылку, пожалуйста.

#nuxt #certification
В целях оптимизации времени выхода постов небольшой опрос.

В какой временной зоне вы находитесь?
Anonymous Poll
1%
GMT+1
8%
GMT+2
55%
GMT+3
2%
GMT+4
1%
GMT+4
18%
GMT+5
2%
GMT+6
5%
GMT+7
1%
Другая
6%
Не сплю
Vue-FAQ pinned «Семь признаков хорошего Vue.js кодинга: 1) ESlint и авто-форматирование 2) Следование Vue style guide 3) Осмысленное наименование переменных, функций, компонент; семантические тэги в шаблоне и CSS классы 4) За редким исключением размер компонента со стилями…»
Мы уже писали про инициативу jsr.io, продвигаемую Deno, создатель которого Ryan Dahl был также создателем Node.js

Бывший создатель NPM, разработчик Node.js, а также CEO компании npm Inc. Darcy Clarke и другие известные люди начали еще одну похожую инициативу - vlt, который называют новым домом для open source:

Нам очень важны платформы и инструменты для разработчиков, поэтому мы так много времени уделяем этому направлению. Однако экосистема управления пакетами стагнирует, и это открывает широкие возможности для инноваций. Наша миссия всегда заключалась в улучшении опыта разработчиков, и мы рады снова работать вместе над этим.

Заявленные проблемы NPM:

- манифест пакета npm публикуется независимо от его тарбола
- манифесты никогда полностью не проверяются на соответствие содержимому тарбола
- в экосистеме принято считать, что содержимое манифеста и тарбола совпадает
- любые инструменты или идеи, использующие публичный реестр, восприимчивы к эксплоитам/возможно неточны
- злоумышленники могут скрывать вредоносное ПО и скрипты в прямых или транзитивных зависимостях, которые остаются незамеченными


Выпустили пока только общее коммюнике, никакой конкретики, ходя идее уже почти год

Примечательно, что Evan You в vlt выступает в качестве инвестора

#jsr #evanyou #vlt
Обнаружил Telegram канал с глубоким и интересным аналитическим разбором различных фронтендных тем - @frontend_almanac_ru

#tg
Добрый человек сделал перевод на русский язык документации VitePress
Чтобы его PR приняли, нужно сделать ревью.
Документация немаленькая, предлагаю разделить нескольким добровольцам и проверить по частям.

#vitepress #translation
Использование функций на массивах, типа filter, map и других, очень удобно и даёт красивый код, но может создавать проблемы в производительности из-за:

1. Выделения и потом уничтожения промежуточных массивов
2. Cоздавания циклов в циклах ( сложность O(N^2) ), хотя весь код можно разместить в одном цикле ( O(N) )

Например, код 1. ниже выполняется в 2-3 раза дольше, чем код 2.

// setup:
const numbers = Array.from({ length: 10000 }).map(() => Math.random())

// 1. functional
const result =
numbers
.map(n => Math.round(n * 10))
.filter(n => n % 2 === 0)
.reduce((a, n) => a + n, 0)

// 2. imperative
let result = 0
for (let i = 0; i < numbers.length; i++) {
let n = Math.round(numbers[i] * 10)
if (n % 2 !== 0) continue
result = result + n
}


#js #optimization
Интересно, если у такой конторы как VueSchool месяцами висит объявление о найме Vue/Nuxt мидл-левел фронтендера, то это что значит?

#vueschool
Толстосумы тоже решили подкинуть немножко на Volar.

Интересно, сколько денег они потратили на свою заброшенную реализацию?

#jetbrains #webstorm #volar
Рейтинг фронтенд фреймворков по количеству набранных в 2023 году GitHub звезд

Забавно, что Vue 2 набрал не сильно меньше Vue 3. По общему числу звезд Vue 2 уже отстал от React.

Также интересно, что у Svelte и Vue примерно одинаковое количество звезд каждый месяц (что может коррелировать с вливанием новых разработчиков в фреймворк), но число реальных проектов в коммерческой сфере отличается на порядок (или порядки)

#rating #benchmark #framework