Спасибо за статью. Пишу проекты на разных фреймворках, и каждый раз возвращение к проектам на React сопровождается головной болью.
При этом, если рассматривать рост техдолга, то Vue 3 все же догоняет React. Да, стили и сторы все еще организованы лучше чем React, но вот для разработки компонентов создатели Vue оставили слишком много места. Их теперь можно писать и на JSX, и с render функциями, и темплейты, и с options API, и с setup-функцией, и со script setup.
Видимо, начинающему разработчику будет сложно в любом случае, хоть с React, хоть с Vue.
В использовании нативных CSS-переменных можно добавить отличное CSS-свойство prefers-color-scheme, которое позволяет определить системную тему пользователя и автоматически включить для нее правильные переменные.
Пожалуйста, напишите статью со список стран, самых комфортных для переезда русскому человеку. Туда, где и климат будет подходящий, и менталитет не очень далекий от нашего, и зарплата минус налоги достойная. Или таких не существует?)
Вау! Если честно, в "коммент-баталиях" еще никогда не участвовал. Благо, мы можем общаться конструктивно.
Совсем не хотел в комменте выше показаться токсичным. Мы и правда говорим о разных вещах. Вы – о лучших практиках в верстке, я – о хорошей библиотеке компонентов с архитектурной точки зрения. Уловить вашу точку зрения, правда, было крайне сложно – статья уж слишком большая, и большинство ее просто не осилит.
Одно дело хорошо верстать, другое – качественно создавать архитектуру библиотеки. Важно задумываться о том, что поставляешь пользователю библиотеки, и поэтому vue-cli-service совсем не подходит. В вашем случае было бы уместно обернуть проект в Rollup и настроить оптимизацию и минификацию, выпилить external dependencies из бандла. В конце концов, ни в коем случае нельзя использовать Moment JS, особенно вместе с Date-fns. Во-первых, они делают одно и то же, так что вы просто дублируете код. А во-вторых, просто зайдите в readme moment'а и сами все поймете.
Также хорошая библиотека будет использовать современные инструменты ради улучшения Developer Experience: Vue 3 с composition API для быстродействия, TypeScript для читаемости и документации на уровне кода, Vite для одновременно и бандлинга и настройки демо-проектов.
Иконки в виде .vue компонентов – тоже вредно. Вероятнее всего, у пользователей библиотеки есть свои .svg- иконки, и они захотят прокинуть их в компонент через slots. Говорили о недостатках существующих компонентных библиотек, а сами на них наткнулись.
Используйте только относительные пути для импорта чего-либо в javascript ваших компонентов. Не используйте «абсолютные» алиасы
Зачем? Дайте хоть одно объяснение такому импорту в вашей статье. Кто-то ведь пойдет копировать такой деструктивный код.
Непонятно, зачем вы залили library starter на npm, если это шаблон кода. В тексте статьи всю вторую половину можно было бы опустить в пользу понятного readme на гитхабе, а первую – сделать читабельной с помощью дробления на мелкие абзацы и секции.
Советую посмотреть Pinia в качестве замены Vuex 4. Минималистичная либа разработана основными контрибуторами Vuex, и относительно скоро может стать основой для Vuex 5, решает почти всю головную боль типизации хранилища.
Отодвигаться в транспорте сейчас от вас никто не будет. Но пожилые люди из раза в раз правда ведут себя странно и непредсказуемо. Были случаи, когда к нашей компании приставала бабка, начинала петь и что-то требовать.
Про рамен – чистая правда. Есть дошираки в Корее не считается чем-либо стыдным. И в целом в магазинах есть полки со свежей готовой едой. Взял с полки бургер, проглотил, и работай дальше.
Если в ресторане попросите острое блюдо, готовьтесь – оно будет невероятно острое. По умолчанию же она будет средней остроты. Без нее совсем никак – в большинстве блюд используются соусы, делающие вкус таким… корейским, что ли.
5 из 7 приведенных в пример сайтов – сущий ад эпилептика. Они не подходят под ваше описание «правильного» брутализма. Если хочется сделать чисто дизайнерский сайт – тут все ок. Но если есть хоть капля контента, который хочется донести или продать пользователю, брутализм (опять же такой, как в примерах) не подойдет.
Спасибо за статью! Я как раз возился с их API, разозлился и перешел на другую базу данных. С таким решением будет гораздо проще
Отход от бека в принципе с помощью бесконечных API, serverless и saas-решений
Vitest – инструмент для unit-тестирования. Если вы рассматриваете end-to-end тестирование, то можете посмотреть в сторону Playwright или Cypress
Спасибо за статью. Пишу проекты на разных фреймворках, и каждый раз возвращение к проектам на React сопровождается головной болью.
При этом, если рассматривать рост техдолга, то Vue 3 все же догоняет React. Да, стили и сторы все еще организованы лучше чем React, но вот для разработки компонентов создатели Vue оставили слишком много места. Их теперь можно писать и на JSX, и с render функциями, и темплейты, и с options API, и с setup-функцией, и со script setup.
Видимо, начинающему разработчику будет сложно в любом случае, хоть с React, хоть с Vue.
А зачем нужно сравнение с Bootstrap? Тем более .js файла с .css?
Завезли бы в Playwright такой же удобный тулинг, как в Cypress – сразу перешел бы на него
В использовании нативных CSS-переменных можно добавить отличное CSS-свойство
prefers-color-scheme
, которое позволяет определить системную тему пользователя и автоматически включить для нее правильные переменные.Пожалуйста, напишите статью со список стран, самых комфортных для переезда русскому человеку. Туда, где и климат будет подходящий, и менталитет не очень далекий от нашего, и зарплата минус налоги достойная. Или таких не существует?)
Вау! Если честно, в "коммент-баталиях" еще никогда не участвовал. Благо, мы можем общаться конструктивно.
Совсем не хотел в комменте выше показаться токсичным. Мы и правда говорим о разных вещах. Вы – о лучших практиках в верстке, я – о хорошей библиотеке компонентов с архитектурной точки зрения. Уловить вашу точку зрения, правда, было крайне сложно – статья уж слишком большая, и большинство ее просто не осилит.
Одно дело хорошо верстать, другое – качественно создавать архитектуру библиотеки. Важно задумываться о том, что поставляешь пользователю библиотеки, и поэтому
vue-cli-service
совсем не подходит. В вашем случае было бы уместно обернуть проект в Rollup и настроить оптимизацию и минификацию, выпилить external dependencies из бандла. В конце концов, ни в коем случае нельзя использовать Moment JS, особенно вместе с Date-fns. Во-первых, они делают одно и то же, так что вы просто дублируете код. А во-вторых, просто зайдите в readme moment'а и сами все поймете.Также хорошая библиотека будет использовать современные инструменты ради улучшения Developer Experience: Vue 3 с composition API для быстродействия, TypeScript для читаемости и документации на уровне кода, Vite для одновременно и бандлинга и настройки демо-проектов.
Иконки в виде
.vue
компонентов – тоже вредно. Вероятнее всего, у пользователей библиотеки есть свои.svg
- иконки, и они захотят прокинуть их в компонент черезslots
. Говорили о недостатках существующих компонентных библиотек, а сами на них наткнулись.Зачем? Дайте хоть одно объяснение такому импорту в вашей статье. Кто-то ведь пойдет копировать такой деструктивный код.
Непонятно, зачем вы залили library starter на npm, если это шаблон кода. В тексте статьи всю вторую половину можно было бы опустить в пользу понятного readme на гитхабе, а первую – сделать читабельной с помощью дробления на мелкие абзацы и секции.
Учитывая, что Хабр в последнее время стал показывать только заголовки статей в ленте, Хабра – это как глоток свежего воздуха! Спасибо вам!
Про рамен – чистая правда. Есть дошираки в Корее не считается чем-либо стыдным. И в целом в магазинах есть полки со свежей готовой едой. Взял с полки бургер, проглотил, и работай дальше.
Если в ресторане попросите острое блюдо, готовьтесь – оно будет невероятно острое. По умолчанию же она будет средней остроты. Без нее совсем никак – в большинстве блюд используются соусы, делающие вкус таким… корейским, что ли.
Спасибо за пример! Отлично мотивирует