Why Android? 🌚


Kanal geosi va tili: Belarus, Ruscha


"Why Android?" is an informal community to share with everyone personal development experience in different areas, latest news, or just talk about everything :)

Связанные каналы  |  Похожие каналы

Kanal geosi va tili
Belarus, Ruscha
Statistika
Postlar filtri


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
А это уже конвертация 6000 иконок через cli 🌚

логи для дебага через -v, чтобы видео было интереснее 😁


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Демка работы CLI тулы для генерации IconPack 🌚


Когда у нас на кмп проекте выкатили фичу с форматированием даты и времени на все таргеты через expect/actual - я чуть не умер ☠️🫨

Оказывается многие не в курсе, что в kotlinx-datetime появилось мультиплатформенное форматирование.

API довольно простое 🌚
Допустим мы хотим конвертировать UNIX в строку формата:
10 March, 2024


Тогда весь код сведется к 2 шагам:

1. Создание форматтера через dsl в необходимом стиле:

private val formatter = LocalDateTime.Format {
dayOfMonth(padding = Padding.NONE)
char(' ')
monthName(MonthNames.ENGLISH_FULL)
char(',')
char(' ')
year()
}


2. Конвертация с использованием format() функции:

fun format(timestamp: Long): String {
return Instant.fromEpochMilliseconds(timestamp)
.toLocalDateTime()
.format(formatter)
}

P.S: Форматирование без учета локали!


Раз у Valkyrie 400 ⭐️ звездочек, то держите небольшой анонс - CLI тула для конвертации 🌚🤓

пока на уровне прототипа 🌚


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Готовлю релиз новой версии Valkyrie с обновленным Simple Mode 🤓

из нового:
- поддержка вставки файла или текста иконки с буфера обмена
- возможность заренеймить иконку
- превью текущей иконки


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Листал issues связанные с IntelliJ IDEA и попалась фича, о которой я не знал 😁

Если у вас MacBook, то вместо хоткея cmd+b можно использовать тачпад 🌚
Сильнее нажав, провалитесь либо в сорцы, либо в использование метода 🤫


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
а че так можно было? 🌚


Круто-круто, плагин используют в VK ❤️🌚

https://habr.com/ru/companies/vk/articles/840862/


Релиз Valkyrie 0.7.0 с фичей по предпросмотру ImageVector в студии (по аналогии с SVG) 🌚

• Превью иконок в Backing и Lazy проперти стилях (#136)
• Поддержка превью Google Material иконок (хоть они и deprecated)
• Базовые экшены для изменения подложки иконки и зума (#151)
• Редизайн настроек (#157)

и поддержка K2 мода (начиная с IntelliJ IDEA 2024.2.1) 🙂


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Выкатил первый снапшот фичи для предпросмотра ImageVector без @Preview аннотации прямо в студии:

- Сделал превью для backing property и lazy property форматов 🌚
- Превью работает даже с material иконками от Google ❤️

все сделано на базе парсинга PSI дерева
в целом это большая подготовка к новым фичам по оптимизации иконок, переноса между паками и многое другое 🌚

p.s. чтобы не спамить канал, буду кидать новые демки в комментарии


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Я долго думал как можно в Valkyrie сделать шаринг конфигурации иконок между командой.

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

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

И я подумал, зачем изобретать что-то, если у нас уже есть готовый Kotlin объект и из него можно легко выгрузить нужные данные через PSI Tree.

Демка фичи выше, а тут релиз 0.6.0 с кучей улучшений и новым README 🌚


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Работаю над киллер фичей: превью ImageVector прямо в студии без @Preview аннотаций и компиляции 🌚

вот небольшая демка прототипа


Анонос EAP релиза нового декларативного Gradle:
- новый формат файлов .gradle.dcl c синтаксисом Kotlin
- ускорили работу автокомплита в IDE
- в планах поддержка AGP и Kotlin Multiplatform
- пример миграции Now In Android приложения

Попробовать у себя можно уже сейчас 🌚

Blog post


если баг репорты - то только такие 🌚

Issue


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Из интересного за последнее время🌚

Valkyrie получил 100+ ⭐️ на Github

А еще ко мне пришел один из разработчиков Lawnchair лаунчера и заводит issue: плагин падает по памяти, когда я конвертирую 5400+ иконок за раз (к такому плагин конечно же не готовили 😄)

на видео демка как это работает сейчас🌚


А плагин одобрили и он доступен для установки 🌚

Marketplace - Github


официально самая багованая версия студии 🌚


Опять что-то в пятницу показываю 🌚

В Valkyrie теперь будет 2 режима:
📍 Simple - просто конвертация в ImageVector с возможностью скопировать в буфер обмена

📍 IconPack
Тут уже интереснее, не видел такого еще нигде в виде плагина

Режим позволяет сделать свой пак иконок и экспортировать их батчем в нужный вам модуль по папочкам (и мамочкам 🌝) со всеми нужными импортами.


Что думаете о демках?💀


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Решил в пятницу тизернуть демку плагина для конвертации в ImageVector 🌚
предыстория 👆

❗️Пока что на этапе тестирования

Из интересного:
- написан на Compose Multiplatform, навигация на Tiamat
- поддерживает конвертацию SVG и XML
- написанный с нуля генератор с красивым форматированием и со скипом дефолтных параметров

Буду рад фидбеку ❤️

Сорцы и артефакт: https://github.com/ComposeGears/Valkyrie

487 1 4 10 14

Официального анонса еще не было, но вы узнаете первыми 🌚

Мы добавили поддержку Wasm в Tiamat и немного психанули. Собирать каждому локально и запускать семпл - уже не модно😄

Встречайте семпл на Github Pages:
https://composegears.github.io/Tiamat/

P.s: Safari и мобилки пока не поддерживают Wasm

20 ta oxirgi post ko‘rsatilgan.