Why Android? 🌚
Статистика"Why Android?" is an informal community to share with everyone personal development experience in different areas, latest news, or just talk about everything :)
- Последний пост
- 19 мар.
- Последнее чтение
- 08:52
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- Категория
- Новости и СМИ
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Я ждал этого момента пару лет 😁 Наконец-то можно будет мигрировать с Cocoapods на Swift Package Manager (SPM) и использовать без костылей (на самом деле один 🌚) https://kotlinlang.org/docs/multiplatform/multiplatform-spm-import.html
Просто гляньте на этот прототип (да это WASM) 🌚
Релиз Valkyrie 1.0.0 🌚💫 Что нового одной строкой: • Миграция всего плагина на Jewel 💅, минимальная версия IntelliJ IDEA 2025.3+ • Размер плагина уменьшился в 10 раз!! (со 128 мб до 11 мб) • Добавили превью ImageVector вместо стандартной иконки файла • Импорт иконок с Lucide сайта • Fuzzy-search для поиска иконок • Конвертация ImageVector обратно в XML • Обработка ошибок при конвертации иконок и еще много мелочей
Тебя давно не было в Android Studio! Заходи! 🌚
Сделал прожарку канала через @ScratchAuthorEgoBot 😁 И да, пост пятничный🌚 Слушай, ты, наш главный "Иконочник" и "Навигатор" всея Руси, ну и затейник же ты! Вечно ты там что-то "киллер-фичами" называешь, а на деле просто пишешь то, что Google или JetBrains должны были сделать пять лет назад. И ладно бы молча, но нет же – сначала "подгорает", потом "сгораешь", а потом выпускаешь свою "Valkyrie", которая, конечно, лучше, но эмоций-то сколько! Тебе бы в стендап, а не в разработчики. И этот твой смайлик 🌚 – это уже отдельная песня! Его больше, чем кода в твоих проектах. Кажется, если бы ты его не использовал, то сообщения просто не отправлялись бы. Он у тебя и вместо запятой, и вместо точки, и вместо мата, когда очередной баг ловишь. Вот кто твой личный мем-генератор? Или это у тебя встроенный эмодзи-плагин, который ты, конечно же, сам написал, потому что "на рынке не было нормальных решений"? Твоя одержимость Compose – это что-то! Кажется, если бы тебе предложили выбрать между едой и новой фичей в Compose, ты бы голодал, но изучал бы "shared element transition" или "Lookahead". И эти постоянные "вечерние" и "пятничные" посты с мемами и всякой крипотой из Android SDK – ты что, забыл, что люди по пятницам отдыхают, а не сидят и не гуглят "SexualActivityRecord"? Или это твой способ убедиться, что никто не расслабляется, пока ты работаешь? А эти твои "баги" – вечно ты вляпываешься в самые неочевидные. Ну кто, скажи на милость, додумается, что плагин не ставится из-за названия папки "idea-plugin", а не потому что ты что-то там накосячил?! И потом еще JetBrains виноваты. А то, что Koin issues закрывает, а не фиксит – ну это вообще святое! Сам-то небось тоже свои баги в Valkyrie так "фиксишь" – просто ждешь, пока люди перестанут на них жаловаться! И еще ты любишь поныть, что "не было нормальных простых решений" – да ты сам эти "простые" решения потом так усложняешь, что тебе приходится свою навигацию писать, свою CLI тулу, и вообще весь мир переделывать под себя. В общем, ты наш местный супергерой, который спасает мир от "консольной шляпы" и "ужасного выравнивания", но в процессе сам же и генерирует новые мемы для нашего чатика! Ну а что, главное, чтобы "по фактам", да? 🌚
Она Он сказал да 😍🌚 Главная новость недели заключается в том, что в Valkyrie законтрибьютил разработчик, который тоже пишет свою конвертацию svg/xml в ImageVector. Я как-то натыкался на его решение, но особо не смотрел реализацию) А тут глянул и немного офигел. Если коротко он написал свой кастомный мультиплатформенный парсер напрямую SVG -> ImageVector и XML -> ImageVector. Ключевое и самое интересное это мультиплатформенный, потому что у меня давно есть идеи выйти за пределы плагина и запилить WASM/CMP приложение, но писать с нуля парсер нету времени. Так вот, дальше всё как в тумане 🌚 Я создаю issue, пару дней взаимных подписок и обдумываний, в итоге он соглашается, я добавляю его в mainteiners и мы уже начали миграцию 😏
Интересный баг 🌚🌝 Перед новым годом тестировал поддержку K2 мода в Valkyrie и заметил, что после установки пропадают некоторые плагины. Думал просто какой-то глюк в IntelliJ IDEA EAP🌚 Месяц назад прилетает issue, что мой плагин не может быть установлен одновременно с Compose Multiplatform плагином 😳 Ставишь Valkyrie - удаляется Compose, ставишь Compose - удаляется Valkyrie (видео есть в issue) 😱 И это всё происходит без каких-либо ошибок и сообщений в логах. Помогли ребята из JetBrains. Оказывается, проблема была в названии папки плагина, который находится внутри архива после сборки. У меня gradle модуль на гитхабе всегда был с именем "idea-plugin" и в архиве была соответствующая папка. В Compose Plugin до версии 1.7.1 включительно было свое уникальное имя, но после 1.7.3 и рефакторинга имя слетело на такое же "idea-plugin". В итоге, при установке один плагин просто перезаписывал другой без каких-либо ошибок и предупреждений 😁
Такой вот подарок от жены на 512 звёздочек в Valkyrie ☺️
Начиная с IntelliJ IDEA 2025.1 EAP можно запускать адекватное Compose Preview прямо из commonMain и без всяких костылей 🌚 youtrack
Введем новую рубрику предновогодний опрос 🎄 Через год вместе посмотрим что вы наванговали на 2024й год, что сбылось 🌝, что не сбылось. 🌚 Что ждём от следующего года глобально в Android, в Compose и в целом в программировании?
Хотите новость? 🌝 в macOS 15.2 обновили Safari и в нем теперь работает Compose WASM 🌚
видео или голосовое, без подписи
Перед новым релизом Tiamat 1.3.0 решили полностью обновить семпл 🌚 Об нововведениях расскажу чуть позже, не хочу в пятницу ничего писать 😁
А это уже конвертация 6000 иконок через cli 🌚 логи для дебага через -v, чтобы видео было интереснее 😁
Демка работы 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 тула для конвертации 🌚🤓 пока на уровне прототипа 🌚
Готовлю релиз новой версии Valkyrie с обновленным Simple Mode 🤓 из нового: - поддержка вставки файла или текста иконки с буфера обмена - возможность заренеймить иконку - превью текущей иконки
Листал issues связанные с IntelliJ IDEA и попалась фича, о которой я не знал 😁 Если у вас MacBook, то вместо хоткея cmd+b можно использовать тачпад 🌚 Сильнее нажав, провалитесь либо в сорцы, либо в использование метода 🤫
а че так можно было? 🌚