#ссылка дня
Coinbase Design System (CDS) — это библиотека интерфейсных компонентов от Coinbase для React и React Native, которая задаёт единый визуальный язык во всех их продуктах.
Основная цель — консистентность и кроссплатформенность: те же компоненты работают и в вебе, и в мобильных приложениях, без боли с адаптацией.
В арсенале поддержка тёмной и светлой темы, кастомизация через темы и атомарные стили для скорости.
Анимации у них забавные. И, ожидаемо, различные рекламные блоки аж хорошо вышли.
Крипта упадёт, а дизайн-система останется: cds.coinbase.com
#design #system
Coinbase Design System (CDS) — это библиотека интерфейсных компонентов от Coinbase для React и React Native, которая задаёт единый визуальный язык во всех их продуктах.
Основная цель — консистентность и кроссплатформенность: те же компоненты работают и в вебе, и в мобильных приложениях, без боли с адаптацией.
В арсенале поддержка тёмной и светлой темы, кастомизация через темы и атомарные стили для скорости.
Анимации у них забавные. И, ожидаемо, различные рекламные блоки аж хорошо вышли.
Крипта упадёт, а дизайн-система останется: cds.coinbase.com
#design #system
👍10
#статья дня
В Chrome 139 появилась возможность писать собственные функции прямо в CSS. Теперь можно не дублировать
Уна Кравец показала 5 примеров:
—
—
—
—
—
Дальше — больше: в будущем появятся
una.im/5-css-functions
#css #function
В Chrome 139 появилась возможность писать собственные функции прямо в CSS. Теперь можно не дублировать
calc()
и clamp()
, а объявлять их один раз и вызывать как в JS.Уна Кравец показала 5 примеров:
—
--negate()
— переворачивает знак числа;—
--opacity()
— задаёт прозрачность цвета;—
--fluid-type()
— делает адаптивную типографику;—
--conditional-radius()
— убирает скругления у края экрана;—
--layout-sidebar()
— строит сетку с сайдбаром без медиазапросов.Дальше — больше: в будущем появятся
@mixin
и @apply
, и CSS наконец-то получит свои настоящие функции. Ну хоть в Хроме теперь будет счастье.una.im/5-css-functions
#css #function
❤14🫡2
#статья дня
Джейк Арчибальд решил проверить, как браузеры сегодня показывают картинки «по частям» — ту самую прогрессивную отрисовку, где сначала видишь мутное пятно, а потом — полную версию.
Когда-то это было базовой оптимизацией. При медленном интернете пользователю хотелось показать хоть что-то. Кто помнит, что картинки когда-то могли грузиться как сверху вниз, так и снизу вверх? :)
Формат JPEG буквально изобрёл прогрессивную загрузку и до сих пор работает — но Safari показывает картинку пикселями и заметно грубее, чем Chrome и Firefox, где изображение обновляется плавно.
Прогрессивный JPEG также немного дольше декодируется, но разница в миллисекунды.
JPEG XL должен был стать преемником — и вроде умеет прогрессивный рендеринг, но на практике:
— в Safari его нет вообще;
— в Chromium он пока экспериментальный;
— а декодится формат пугающе медленно.
Арчибальд отмечает, что в тестах JPEG XL показывал результат в 2–5 раз хуже AVIF, что делает его пока что малопригодным для реального веба.
Зато на горизонте появился прогрессивный AVIF.
В Chromium уже можно использовать слои. Этот режим разбивает изображение на два слоя — первый лёгкий, размытый и почти мгновенный, второй — финальный, с полным качеством. Правда, для этого надо пересобрать libavif и собрать изображение заново.
При этом информация с размытого слоя переиспользуется в качественном слое. Такой себе SQIP для богатых.
Safari и Firefox пока это не поддерживают, но сам подход перспективный: он даёт ту же визуальную плавность, что и старый прогрессивный JPEG, при гораздо лучшем сжатии.
Арчибальд подчеркивает: прогрессивность не решает проблему responsive изображений — браузеру всё равно нужно заранее знать, какой размер подгружать, иначе можно легко скачать лишние мегабайты.
Так что, возможно, будущее не в прогрессивных кодеках, а в умных форматах, где превью и финальное изображение встроены вместе, но управляются логикой загрузки.
В статье прекрасные имитаторы загрузки, можно прям байт за байтом отследить всю историю демонстрации изображения. Очень круто.
Ну и будьте готовы — лиса с иллюстрации успеет вам надоесть.
https://jakearchibald.com/2025/present-and-future-of-progressive-image-rendering/
#jpeg #img #avif #img
Джейк Арчибальд решил проверить, как браузеры сегодня показывают картинки «по частям» — ту самую прогрессивную отрисовку, где сначала видишь мутное пятно, а потом — полную версию.
Когда-то это было базовой оптимизацией. При медленном интернете пользователю хотелось показать хоть что-то. Кто помнит, что картинки когда-то могли грузиться как сверху вниз, так и снизу вверх? :)
Формат JPEG буквально изобрёл прогрессивную загрузку и до сих пор работает — но Safari показывает картинку пикселями и заметно грубее, чем Chrome и Firefox, где изображение обновляется плавно.
Прогрессивный JPEG также немного дольше декодируется, но разница в миллисекунды.
JPEG XL должен был стать преемником — и вроде умеет прогрессивный рендеринг, но на практике:
— в Safari его нет вообще;
— в Chromium он пока экспериментальный;
— а декодится формат пугающе медленно.
Арчибальд отмечает, что в тестах JPEG XL показывал результат в 2–5 раз хуже AVIF, что делает его пока что малопригодным для реального веба.
Зато на горизонте появился прогрессивный AVIF.
В Chromium уже можно использовать слои. Этот режим разбивает изображение на два слоя — первый лёгкий, размытый и почти мгновенный, второй — финальный, с полным качеством. Правда, для этого надо пересобрать libavif и собрать изображение заново.
При этом информация с размытого слоя переиспользуется в качественном слое. Такой себе SQIP для богатых.
Safari и Firefox пока это не поддерживают, но сам подход перспективный: он даёт ту же визуальную плавность, что и старый прогрессивный JPEG, при гораздо лучшем сжатии.
Арчибальд подчеркивает: прогрессивность не решает проблему responsive изображений — браузеру всё равно нужно заранее знать, какой размер подгружать, иначе можно легко скачать лишние мегабайты.
Так что, возможно, будущее не в прогрессивных кодеках, а в умных форматах, где превью и финальное изображение встроены вместе, но управляются логикой загрузки.
В статье прекрасные имитаторы загрузки, можно прям байт за байтом отследить всю историю демонстрации изображения. Очень круто.
Ну и будьте готовы — лиса с иллюстрации успеет вам надоесть.
https://jakearchibald.com/2025/present-and-future-of-progressive-image-rendering/
#jpeg #img #avif #img
1👍11❤2
#ссылка дня
Сначала Bun сделал вызов Node.js и Deno, впихнув невпихуемое и сделав рантайм быстрым. Теперь он выходит на территорию фронтенд-сборщиков, где позиции Node.js и сопутствующих сборщиков казались весьма стабильными.
С Bun 1.3 можно сёрвить HTML-файлы напрямую, а JavaScript, TypeScript, JSX и CSS обрабатываются автоматически. Горячая перезагрузка позволяет видеть изменения мгновенно, а для проектов на React достаточно
Внутри появились новые возможности: поддержка MySQL наряду с PostgreSQL и SQLite, встроенный Redis-клиент, улучшенная маршрутизация, WebSocket, работа с cookies и новые механизмы изолированных установок пакетов. Всё это делает Bun 1.3 полноценной средой, где фронтенд, бэкенд и сборка объединены в одном инструменте.
Теперь Bun действительно бандлит, простите
https://bun.com/blog/bun-v1.3
#bun #node #bundle #webpack
Сначала Bun сделал вызов Node.js и Deno, впихнув невпихуемое и сделав рантайм быстрым. Теперь он выходит на территорию фронтенд-сборщиков, где позиции Node.js и сопутствующих сборщиков казались весьма стабильными.
С Bun 1.3 можно сёрвить HTML-файлы напрямую, а JavaScript, TypeScript, JSX и CSS обрабатываются автоматически. Горячая перезагрузка позволяет видеть изменения мгновенно, а для проектов на React достаточно
bun init --react
, чтобы получить готовую среду. Сборка для продакшн стала проще: bun build --production
оптимизирует проект без лишних конфигов.Внутри появились новые возможности: поддержка MySQL наряду с PostgreSQL и SQLite, встроенный Redis-клиент, улучшенная маршрутизация, WebSocket, работа с cookies и новые механизмы изолированных установок пакетов. Всё это делает Bun 1.3 полноценной средой, где фронтенд, бэкенд и сборка объединены в одном инструменте.
Теперь Bun действительно бандлит, простите
https://bun.com/blog/bun-v1.3
#bun #node #bundle #webpack
1❤19👎4👍3
#дайджест недели, чуть не забыл!
Понедельник
Telegram на Swift внезапно сделал свои «iOS26-виджеты» под iOS18, не дожидаясь будущего.
https://www.tgoop.com/htmlshit/3841
Вторник
Вытаскиваем список приложений для телевизоров Samsung, рассматривая API магазина приложений.
https://www.tgoop.com/htmlshit/3842
Coinbase Design System (CDS) — единая библиотека для React и React Native.
Общий визуальный язык, темы, атомарные стили, адаптивность.
https://www.tgoop.com/htmlshit/3844
Среда
В Chrome 139 появились функции в CSS — можно объявлять свои
Уна Кравец показывает, как обойтись без бесконечных calc() и clamp().
Следом придут
https://www.tgoop.com/htmlshit/3845
Четверг
Джейк Арчибальд проверил, как браузеры рендерят картинки по частям.
Прогрессивный JPEG жив, Safari груб, AVIF умеет слои.
https://www.tgoop.com/htmlshit/3847
Пятница
Bun 1.3 вышел из роли рантайма — теперь он ещё и сборщик.
Поддержка MySQL, Redis, WebSocket, cookies, горячая перезагрузка и
https://www.tgoop.com/htmlshit/3849
Суббота
Apple Macintosh, 1984: руководство объясняет пользователю, что такое «скроллинг».
Картинки — лучше любых слов.
https://www.tgoop.com/htmlshit/3850
Понедельник
Telegram на Swift внезапно сделал свои «iOS26-виджеты» под iOS18, не дожидаясь будущего.
https://www.tgoop.com/htmlshit/3841
Вторник
Вытаскиваем список приложений для телевизоров Samsung, рассматривая API магазина приложений.
https://www.tgoop.com/htmlshit/3842
Coinbase Design System (CDS) — единая библиотека для React и React Native.
Общий визуальный язык, темы, атомарные стили, адаптивность.
https://www.tgoop.com/htmlshit/3844
Среда
В Chrome 139 появились функции в CSS — можно объявлять свои
--negate()
, --opacity()
, --fluid-type()
.Уна Кравец показывает, как обойтись без бесконечных calc() и clamp().
Следом придут
@mixin
и @apply
.https://www.tgoop.com/htmlshit/3845
Четверг
Джейк Арчибальд проверил, как браузеры рендерят картинки по частям.
Прогрессивный JPEG жив, Safari груб, AVIF умеет слои.
https://www.tgoop.com/htmlshit/3847
Пятница
Bun 1.3 вышел из роли рантайма — теперь он ещё и сборщик.
Поддержка MySQL, Redis, WebSocket, cookies, горячая перезагрузка и
bun build --production
без конфигов.https://www.tgoop.com/htmlshit/3849
Суббота
Apple Macintosh, 1984: руководство объясняет пользователю, что такое «скроллинг».
Картинки — лучше любых слов.
https://www.tgoop.com/htmlshit/3850
❤3🫡1
#заметка дня
Давайте за жизнь поговорим, пока AWS us-east-1 лежит.
Я весьма люблю стендап разного толка. Когда наблюдаешь за развитием персонажей годами (а для особо давних представителей жанра процесс может длиться десятилетия), вполне можно выработать отношение к лирическому герою автора.
Да-да, давайте не забывать, что личность автора и его продукт — вещи разные. Хотя, конечно, без переноса личности автора на личность героя зачастую не обходится.
Ладно, это я к чему. Мне весьма по душе приходится работа Джимми Карра с аудиторией, а особенно — его поздние тейки о жизни, детях и работе. Очень неожиданно получать рабочие советы от автора чаечки, если вы понимаете, о чём я.
Один из таких: «Жизнь, которую ты хочешь получить, лежит за работой, которую ты не хочешь делать».
Где-то здесь кто-то кричит «чекни привилегии», но мы сейчас не об этом.
Так вот, наверное, многие из вас уже прочитали откровение Дмитрия Свиридкина — автора книги про Undefined behaviors в C++ — об уходе из Amazon: https://nekrolm.github.io/blog.html
Я, наверное, никогда не достигну уровня инженеров, подобных Дмитрию, но уровень стресса прекрасно понимаю, ибо кто из нас не пытался яростно рваться наверх, ступая по головам как близких, так и переступая через себя. Стресс, ночная работа, оправдание ночной работы, SMS об упавшем сервере за рулём.
И в моём случае это не то чтобы было совсем в никуда, но точно стоило слишком дорого. И теперь, в почти уже 38, довольно сложно забрутфорсить карьеру. Приходится быть более эффективным.
И тут, собственно, и встаёт вопрос: «А действительно ли я правильно понимаю объём работы, которую я не хочу делать, ради получения той жизни, которую хочу?»
Но при этом есть и люди, которые и в большем возрасте продолжают ловить кайф от подобной скачки. И у них при этом получается! И я очень за них рад.
А мне же остаётся использовать полученный во времена скачек опыт в свою пользу и поднимать планку иначе.
Ведь... Bar is sooooooooo high
А вы, котаны, всё ещё наводите суету или уже иначе карабкаетесь?
Давайте за жизнь поговорим, пока AWS us-east-1 лежит.
Я весьма люблю стендап разного толка. Когда наблюдаешь за развитием персонажей годами (а для особо давних представителей жанра процесс может длиться десятилетия), вполне можно выработать отношение к лирическому герою автора.
Да-да, давайте не забывать, что личность автора и его продукт — вещи разные. Хотя, конечно, без переноса личности автора на личность героя зачастую не обходится.
Ладно, это я к чему. Мне весьма по душе приходится работа Джимми Карра с аудиторией, а особенно — его поздние тейки о жизни, детях и работе. Очень неожиданно получать рабочие советы от автора чаечки, если вы понимаете, о чём я.
Один из таких: «Жизнь, которую ты хочешь получить, лежит за работой, которую ты не хочешь делать».
Где-то здесь кто-то кричит «чекни привилегии», но мы сейчас не об этом.
Так вот, наверное, многие из вас уже прочитали откровение Дмитрия Свиридкина — автора книги про Undefined behaviors в C++ — об уходе из Amazon: https://nekrolm.github.io/blog.html
Я, наверное, никогда не достигну уровня инженеров, подобных Дмитрию, но уровень стресса прекрасно понимаю, ибо кто из нас не пытался яростно рваться наверх, ступая по головам как близких, так и переступая через себя. Стресс, ночная работа, оправдание ночной работы, SMS об упавшем сервере за рулём.
И в моём случае это не то чтобы было совсем в никуда, но точно стоило слишком дорого. И теперь, в почти уже 38, довольно сложно забрутфорсить карьеру. Приходится быть более эффективным.
И тут, собственно, и встаёт вопрос: «А действительно ли я правильно понимаю объём работы, которую я не хочу делать, ради получения той жизни, которую хочу?»
Но при этом есть и люди, которые и в большем возрасте продолжают ловить кайф от подобной скачки. И у них при этом получается! И я очень за них рад.
А мне же остаётся использовать полученный во времена скачек опыт в свою пользу и поднимать планку иначе.
Ведь... Bar is sooooooooo high
А вы, котаны, всё ещё наводите суету или уже иначе карабкаетесь?
🤩5❤1