Что такое дизайн-система?
- Цветовые палитры: Основные и дополнительные цвета, используемые в интерфейсе.
- Типографика: Шрифты, размеры, межстрочные интервалы и другие параметры текста.
- Компоненты: Готовые элементы интерфейса (кнопки, формы, карточки и т.д.), которые можно повторно использовать.
- Отступы и размеры: Стандартные значения для отступов, размеров элементов и других пространственных характеристик.
- Использование CSS свойств
Шаги по созданию дизайн-системы
1. Определение базовых стилей:
- Нормализация: Использование нормализатора (например, Normalize.css) для устранения различий в стилях браузеров.
- Переменные: Объявление основных цветов, шрифтов, отступов и других значений в виде CSS переменных.
- Базовые стили: Определение базовых стилей для элементов (например, body, h1, p).
2. Создание компонентов:
- Визуальные компоненты: Создание компонентов, которые отображают пользовательский интерфейс (кнопки, формы, карточки и т.д.).
- Абстрактные компоненты: Создание компонентов, которые не имеют визуального представления, но содержат логику и стили (например, компоненты для работы с цветом, типографикой).
Ключевые моменты для запоминания:
- Постоянство: Придерживайтесь единого стиля во всех компонентах.
- Модульность: Разбивайте дизайн-систему на небольшие, независимые компоненты.
- Гибкость: Создавайте компоненты, которые можно адаптировать под различные сценарии использования.
- Тестирование: Регулярно тестируйте дизайн-систему, чтобы убедиться в ее корректной работе.
Пример:
#webdesign #css
Дизайн-система
— это набор правил и компонентов, которые обеспечивают согласованность и масштабируемость интерфейса. Она включает в себя:- Цветовые палитры: Основные и дополнительные цвета, используемые в интерфейсе.
- Типографика: Шрифты, размеры, межстрочные интервалы и другие параметры текста.
- Компоненты: Готовые элементы интерфейса (кнопки, формы, карточки и т.д.), которые можно повторно использовать.
- Отступы и размеры: Стандартные значения для отступов, размеров элементов и других пространственных характеристик.
- Использование CSS свойств
Шаги по созданию дизайн-системы
1. Определение базовых стилей:
- Нормализация: Использование нормализатора (например, Normalize.css) для устранения различий в стилях браузеров.
- Переменные: Объявление основных цветов, шрифтов, отступов и других значений в виде CSS переменных.
- Базовые стили: Определение базовых стилей для элементов (например, body, h1, p).
2. Создание компонентов:
- Визуальные компоненты: Создание компонентов, которые отображают пользовательский интерфейс (кнопки, формы, карточки и т.д.).
- Абстрактные компоненты: Создание компонентов, которые не имеют визуального представления, но содержат логику и стили (например, компоненты для работы с цветом, типографикой).
Ключевые моменты для запоминания:
- Постоянство: Придерживайтесь единого стиля во всех компонентах.
- Модульность: Разбивайте дизайн-систему на небольшие, независимые компоненты.
- Гибкость: Создавайте компоненты, которые можно адаптировать под различные сценарии использования.
- Тестирование: Регулярно тестируйте дизайн-систему, чтобы убедиться в ее корректной работе.
Пример:
/* variables.css */
:root {
--primary-color: #007bff;
--font-family: sans-serif;
}
/* BaseButton.vue */
.button {
background-color: var(--primary-color);
padding: 1rem 2rem;
cursor: pointer;
...
}
#webdesign #css
Вышел Deno 2.0
- Аналогично
- Отличительная особенность - работа с
- Заявляется о полной обратной совместимости с
- Поддерживает частные
- Хорошая поддержка
- Интегрировал в себя много утилит типа
- Можно использовать с
- Имеет свой веб фреймворк, основанный на
В общем, далеко не киллер и довольно спорные решения, но конкуренция всегда полезна
Ну и
#deno #nodejs #jsr
RC
, js/ts runtime environment
и движок. Развивает проект бывший создатель Node.js
Ryan Dahl
- Аналогично
Bun
, является комбайном, содержащий линтер, тестер, форматер, компайлер и бандлер.- Отличительная особенность - работа с
TS
напрямую в рантайме, а не компиляция в js
c удалением всех типов как делает Node.js
- Заявляется о полной обратной совместимости с
NPM
пакетами и Node.js
, хотя развивают свой репозиторий typescript
-ных библиотек JSR.- Поддерживает частные
npm
репозитории.- Хорошая поддержка
Web API
- Интегрировал в себя много утилит типа
lodash
(как и Bun
) - Можно использовать с
Vue
проектами- Имеет свой веб фреймворк, основанный на
Preact
и со вшитым Tailwind
В общем, далеко не киллер и довольно спорные решения, но конкуренция всегда полезна
Ну и
De-no
<= No-de
если что.#deno #nodejs #jsr
Deno
Deno, the next-generation JavaScript runtime
Deno features improved security, performance, and developer experience compared to its predecessor. It's a great time to upgrade your Node.js project to run on Deno.
VueSchool
не останавливается в попытках монетизации Vue.js
паствы и добавила к себе еще и JavaScript
сертификацию#certification
Вслед за Amazon и
#ai #microsoft
Microsoft
выкупила на 20 лет атомную электростанцию, чтобы питать ей свои AI
ресурсы.#ai #microsoft
3 и 4 октября будет проходить ViteConf 2024
Онлайн и бесплатно
Там бывают интересные доклады
#vite #conf
Онлайн и бесплатно
Там бывают интересные доклады
#vite #conf
viteconf.amsterdam
The Official in-person Vite Conference organised in collaboration with the Creator of Vite, Evan You and Vite Core Team!
Недавние тесты производительности
Чудес особых не будет -
Поэтому не пишите большие сложные компоненты. Разбиение помогает оптимизировать рендеринг.
Признак хорошего Vue.js кодинга №4.
#vapor #benchmark
Vapor
Чудес особых не будет -
Vue
и так быстр. Хотя на больших сложных компонентах преимущество может быть уже ощутимей.Поэтому не пишите большие сложные компоненты. Разбиение помогает оптимизировать рендеринг.
Признак хорошего Vue.js кодинга №4.
#vapor #benchmark
Не стоит завидовать программистам с родным английским
#humor
включить "отмеченный" из "отмеченный";
включить "vue" из "vue";
включить "использоватьМаршрут" из "vue-маршрутизатор";
постоян маршрут = использоватьМаршрут();
консоль.регистрировать(маршрут.параметры.ид);
постоян свойства = определитьСвойства<{
рекомендация: Рекомендация;
}>();
постоян htmlДанные = вычисляемое(() => {
если (!свойства.рекомендация) {
вернуть "";
}
постоян данные = JSON.разобрать(свойства.рекомендация.данные);
вернуть отмеченный.преобразовать(данные.рекомендация) как строка;
});
#humor
Понадобилось как-то стилизовать содержимое
Прокидывать всё через
на элементе с
#css
v-html
(html
, преобразованный из markdown
) в нескольких компонентахПрокидывать всё через
:deep()
было как-то совсем грустно, поэтому придумал такой вариант// import в main.ts или так один раз:
<style>
@import "@/app/assets/styles/md.css";
</style>
// md.css
.md {
table {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
display: block;
overflow-x: auto;
td,
...
на элементе с
v-html
в шаблоне ставится class="md"
#css
Новость, о которой на прошлой неделе говорил Эван, и которую не угадал никто (ну и я её явно в опрос не догадался поставить)
Эван создал компанию, которая будет делать "an open-source, high-performance, and unified development toolchain for the JavaScript ecosystem" (ну то бишь как сейчас
Это очень хорошая новость. Я давно говорил, в том числе Эвану, что
В итоге, Эван оформил права на
Разработчики, работающие над
То, что Эван никому не отдаст
Кстати, посмотрите внимательно на сайт voidzero.dev. Это пример того, что может
Ну и название зачетное.
#evanyou #vitepress #rolldown #voidzero #oxc
Эван создал компанию, которая будет делать "an open-source, high-performance, and unified development toolchain for the JavaScript ecosystem" (ну то бишь как сейчас
bun
или deno
только без js
движка), и в первом раунде поднял $4.6 млн за нее (то есть продал инвесторам процентов 10-20 её акций за эту сумму)Это очень хорошая новость. Я давно говорил, в том числе Эвану, что
Vue
давно перерос уровень любительского опен-сорса, и ему нужен бэкап в форме бизнеса. Потому что смотреть на депрессивные каминг-ауты Энтони, или нытье Джонсона про mucho trabajo poco dinero, или заброшенный по той же причине Vapor
совсем не комильфо.В итоге, Эван оформил права на
Oxc
и Rolldown
на созданную компанию VoidZero Inc
и продал ее часть инвесторам. Vue
экосистема не затронута вообще. То есть, работа Эвана над этими новыми проектами за прошлый год оценена рынком миллионов так в 20. Нормально.Разработчики, работающие над
Vue
или Vite
, скорей всего будут сотрудниками этой новой компании и будут получать там зарплату за свою работу - это и называется бэкап бизнесом.То, что Эван никому не отдаст
Vue
, можно было не сомневаться. Его пост настоятельно рекомендуется к прочтению.Кстати, посмотрите внимательно на сайт voidzero.dev. Это пример того, что может
VitePress
. Ну и название зачетное.
#evanyou #vitepress #rolldown #voidzero #oxc
void(0)
Announcing VoidZero - Next Generation Toolchain for JavaScript
Read the founding announcement of VoidZero, a company dedicated to building the next generation of toolchain for JavaScript.
This media is not supported in your browser
VIEW IN TELEGRAM
А вы заценили анимацию и вообще весь дизайн сайта voidzero.dev?
Мастерство не пропьешь...
#webdesign #evanyou #voidzero
Мастерство не пропьешь...
#webdesign #evanyou #voidzero
Начинается онлайн конференция ViteConf
Через пятнадцать минут выступает Эван, должен рассказать о
#conf #vite
Через пятнадцать минут выступает Эван, должен рассказать о
Voidzero
#conf #vite
viteconf.amsterdam
The Official in-person Vite Conference organised in collaboration with the Creator of Vite, Evan You and Vite Core Team!
При верстке кроме
Например, малоиспользуемое
Еще одно
Вместе они могут облегчить верстку, когда, например, в трехблочном макете надо боковую колонку засунуть в мобильном виде между двумя блоками основной. Если используется лэйаут
#css
flex
и grid
есть и другие варианты создания адаптивного шаблонаНапример, малоиспользуемое
display: contents
как бы "удаляет" контейнер, и все его потомки переходят на уровень выше.Еще одно
CSS
правило order
"меняет" порядок потомковВместе они могут облегчить верстку, когда, например, в трехблочном макете надо боковую колонку засунуть в мобильном виде между двумя блоками основной. Если используется лэйаут
flex
, то можно обойтись без смены на grid
#css
Недавно вышел первый публичный драфт спецификации для
Сразу с двумя вариантами реализации
#css #masonry
masonry
лэйаута в CSS Сразу с двумя вариантами реализации
#css #masonry