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

Contacts: @RuslanMakarov
Download Telegram
При написании своей реализации useLocalStorage для Arty-Crafty родились небольшие размышления о библиотеке VueUse

#vueuse #artycrafty
Моя крайняя критика VueUse была довольно болезненно принята в рунете, и очень агрессивно на Reddit-e, что удивительно - обычно всё наоборот в силу различий в уровнях толерантности. Ощутил себя нечто средним между Гринчем и г-ном Карловским. В связи с чем вспомнилась история.

Много лет назад сидел в горах на нестабильном мобильном EDGE интернете со средней скоростью 3-4Кб/с, хотя бывало и по 0.5Кб/с. Чтобы как-то выжить, написал расширение к браузеру MainPage, даже набравшее свою небольшую популярность в Google Web Store, которое блокировало загрузку любых ресурсов, кроме страницы, на которую обратились.

Потом сделал локальный вебсайт, соответственно, его пользователи примерно на таком же интернете. Начал оптимизировать и дошел до того, что кэшировал статику - css, js, - в localStorage. Получилось очень эффективно. Эра сервис воркеров тогда только занималась.

Ну, вылез на Хабр и написал про это статью. Тут на меня полилось в комментариях - да ты не умеешь Apache настраивать, надо кэширующими заголовками, выкинь свои самоделки, да не будет там пустых запросов, да ты вообще не знаешь как Интернет работает...

Дня через 3-4, когда меня почти убедили, что я дурак, выходит явно не маленький дядька из Яндекса, и говорит: да нормальный метод, мы сами так много лет делали. И начинает рассказывать в подробных технических деталях, как они пробовали разные способы оптимизации трафика, что они давали, и почему выбрали этот. И это про свою главную поисковую страницу, которая ya.ru одной строкой, не про сервис какой-то. А Яндекс в то время ещё был авторитет.

Мораль сей басни такова: можно послушать мнение толпы, но прислушиваться к нему не обязательно. Особенно, если чувствуешь, что прав.

#story #vueuse
Почти два месяца назад создал Pull request во VueUse - небольшое добавление и багфикс в useBreakpoints
На днях его приняли.
Мое мнение за это время только усилилось:

Пишите красивый, эффективный код.
VueUse - это в большинстве случаев использования и некрасиво, и неэффективно.

#vueuse
Выражение "городить свои велосипеды" в IT заиграло новыми красками

Иногда оно используется по делу, но чаще имеет уничижительную форму, показывающую, что человек вместо популярного, раскрученного решения использует что-то свое или малоизвестное.

Если тебе нужен индексируемый поисковиками сайт, надо писать на Nuxt, а не городить отдельную или динамическую отрисовку. Нужно использовать VueUse, потому что это швейцарский нож в любых ситуациях. Для соединения с бэком надо всегда подключать Tanstack vue-query, потому что у него десятки тысяч звезд на GitHub, все его используют, и он легко решает кучу твоих проблем, о которых ты раньше даже не догадывался, но теперь они у тебя есть. Ну и, конечно, Tailwind!

О VueUse уже много говорилось. Как и об #ssr. Как и о Tailwind.

vue-query образовался из react-query, который действительно решал проблемы Реакта. Но во Vue нет этих проблем. Vue предоставляет все инструменты для эффективной и элегантной работы с бэкендом.

Проблема "решений", пришедших и навязываемых из других фреймворков - это действительно проблема. Человек, перешедший с бэкэнда и даже с другого языка программирования возможно будет писать более качественный Vue код, чем переучившийся с Реакта.

"Проверенные" решения зачастую ничего более, чем просто хайпожорские решения. Которые привнесут на проект кучу зависимости, сложности и необходимости решать те проблемы, которых у тебя не было.

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

Ну и не будем забывать, что Vue - это тоже велосипед, написанный в эпоху диктатуры Angular, React, JQuery и других солидных, проверенных и общепризнанных решений.

#esse #architecture