Технический стек проекта
Фронтенд должен писаться на Vue 3, Vite. Из обязательных библиотек - vue-router
. Действует правило: если можем обойтись без какой-то зависимости - обходимся без нее. Вместо Pinia используется Composition API напрямую.
Используем TypeScript
, но в меру. Типизируем только основные сущности и интерфейсы. TypeScript
должен облегчать работу разработчика, а не превращать её в кошмар.
CSS3 лучше любого CSS фреймворка/библиотеки, поэтому используем его (SCSS).
ESlint
конфигурация от Antony Fu.
Насчет использования библиотек UI компонент - в идеале постараемся иметь только свои компоненты, однако для быстрого прототипирования мы можем задействовать какую-то библиотеку, оборачивая ее компоненты в свои обертки для последующего безболезненного перехода на свой UI kit. То же относится к VueUse.
Для адаптивности мы устанавливаем на тэг body
четыре глобальных класса - mobile
, tablet
, notebook
и desktop
, в зависимости от разрешения экрана, и используем их в стилях в компонентах. Это намного удобней прямой работы с CSS media query.