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

Contacts: @RuslanMakarov
Download Telegram
Тем временем вышли результаты State of JS 2024

Vite и Vue укрепили свои лидирующие позиции

Evan You - однозначно самый крутой известный человек на фронтенде последние годы.

#stats #evanyou #js #vite #vuejs
👍16🔥3🥱2
Предлагаю поделиться в комментариях тремя вещами, которые делают вашу работу комфортной и эффективной. Что-то неординарное, а не такое банальное и мастхэвное, как Vite, например.

Начну:

1. Remote разработка на мини пк
2. Cursor IDE (AI помощник)
3. @sxzz/eslint-config

#dx
1. Утром пришло "письмо счастья"

2. Кликнул на ссылку

3. Вспомнилось...

#ai
😁22👍6
Кто занимается микрофронтендами - познавательная статья Micro Frontends на сайте Мартина Фаулера

#microfrontends #architecture #bestpractices
👍21🔥1👏1
Примеры файловых структур Vue проекта для плоской, атомарной, модульной и FSD архитектур

Предпочитаю всегда модульную с небольшими вариациями

#architecture #fsd
👍221🐳1
Комментарии к прошлому посту ярко показывают, стоит ли тащить в свой проект чудо природы под названием FSD.

Модульная архитектура даёт понятную четкую декомпозицию проекта, хорошо разделяя ShoppingCart от UserAccount, например. Позволяя видеть в файловой панели только относящиеся к нужному модулю ресурсы, и работать над модулями независимо.

Общие элементы типа BaseButton можно держать в App, а можно выделить под них отдельный проект (вроде своей дизайн системы) и подключать папкой ui через git submodules. Так же, как и объекты типа api.

Между модулем и однофайловым компонентом есть промежуточные структуры - виджеты типа FileUploader, например, в которых есть чисто их композаблы, утилиты, компоненты, типы. Их удобно держать в своих папках без разделения по поддиректориям.

Довольно сложный вопрос, где держать и как наименовать файлы с бизнес-логикой - как реактивной, так и обычной. Однозначного совета пока нет. Скорей тут надо использовать программерские подходы из обычного ООП.

#architecture
👍8👎62🔥1
Одна из проблем при разработке нативных js бандлеров типа Rolldown и Rspack - они должны работать в WASM для возможности их запуска в браузере ( StackBlitz, Bolt.new и т.п.)

Это довольно сложно реализовать, и Rspack отказался от этого. Но Rolldown, по словам Эвана Ю, будет поддерживать билд в браузерных средах и уже показывает хорошую производительность в них.

#rolldown #rspack
👍6😭1
Несколько цитат о TypeScript

«TypeScript - это куча лишней работы для решения проблем, которых у меня нет, способами, которые мне не нравятся».

Kyle Simpson, автор очень влиятельной серии книг «Вы не знаете JS».


«Мы переписали нашу кодовую базу на TypeScript и стали получать на 30 % больше багов».


«Если у вас уже есть очень строгий линтинг и высокое тестовое покрытие, то время, потраченное на попытки заставить TypeScript работать хорошо, принесет только убытки. Идите по этому пути, только если стиль кодирования очень нравится команде».


«95 % того, что дает TypeScript, можно сделать с меньшими усилиями и инструментами, просто используя строгий линтинг и JSDocs».


«Я просмотрел всего около 10 кодовых баз TypeScript, но ни в одной из них я буквально не смог прочитать код. Он настолько уродлив и плохо продуман. Какое чудовище придумало это?»


«У JavaScript есть проблемы. Если вы работаете с ним достаточно долго, вы столкнетесь с ними, и вам нужно будет найти способ их решить. TypeScript решает большинство из этих проблем «из коробки». Поэтому он может хорошо подойти тем, кто пришел с другого языка и не заинтересован в глубоком изучении JavaScript»


«Я беспокоюсь, что те новые разработчики, которые хотят со временем стать JavaScript-разработчиками, будут лишены возможности научиться обходить опасности JavaScript, имея при этом доступ к возможностям свободно типизированного языка. Я вижу, как они находят TypeScript и используют его как костыль, не понимая, на что способен JavaScript в полной мере.»


Источник

#typescript #quote
💩29👍10💯21🤮1🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
Как AI заменит программистов

#ai #humor #video
😁15
Мэйнтенер Volar Джонсон со своим помощником последние недели носятся с alien-signals - своей реализацией Signals в JS

Уверяют, что она самая быстрая, и пытаются встроить ее везде где могут - в системы стейт менеджмента для Solid.js, Dart, Lua. Движение unjs выходит за рамки js.

Пока наталкиваются на "непонимание".

Также хотят встроить ее во Vue. Эван, вроде, одобряет.

Но по поводу увеличения скорости на проценты хотелось бы спросить Эвана - зачем же он тогда перешел на js Proxy в своей системе реактивности и ухудшил производительность в десятки и сотни раз, если скорость так важна?

#vuejs #performance #reactivity
🤡5💩4🥴3
Попалось полезное VS Code расширение

На больших проектах вместо того, чтобы выносить часто используемые файлы в Favorites, можно прятать редко используемые в Hide files

От автора React SFC

#vscode
💩6
Присоединяюсь к трём китам современной эпохи.

Наш ответ всем мудакам.

#qoute
🤡20💩13🤮121🔥1
Раскрывающиеся аккордеоны удобно делать через стандартный details HTML элемент.

Чтобы сделать группу (раскрытым может быть только один элемент единовременно), нужно добавить атрибут name с одним и тем же значением.


<details name="some-group">
<summary>1</summary>
<p>…</p>
</details>
<details name="some-group">
<summary>2</summary>
<p>…</p>
</details>
<details name="some-group">
<summary>3</summary>
<p>…</p>
</details>


Также details поддерживает хорошую стилизацию - пример
(Небольшая часть этого работает пока только в Chromium)

#html #accordion
👍23