Developer Box
33 subscribers
51 photos
8 videos
38 links
channel unstoppable developer

author: @normno
github: github.com/NORMss
website: normno.ru
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Что это у нас такое? Неужели что-то полезное для обычных пользователей?
🔥4
Не прошло и года...

Официально выпускаю первую версию своего небольшого приложения для скачивания видео с RuTube для Windows и Android. Спасибо "блокировке" YouTube и всем, кто начал терабайтами грузить весь контент на RuTube и VK видео. По большей степени, приложение нужно для скачивания фильмов и сериалов

Вот ссылка на репозиторий со всем необходимом для установки: https://github.com/NORMss/RutubeDowloader (там правда ничего сложного)

Много полезных штук получилось поместить в этот релиз. Надеюсь получится записать короткое видео с показом всего, а пока все красиво расписал в репозитории GitHub. В будущем хочу сделать: больше подсказок, обработку ошибок пользователя и самое главное - скачивание в фоне на android

KMP показал себя во всей красе, жаль только не могу протестировать на macOs и iOS
По своим предложениям пишите в директ канала - это БЕСПЛАТНО
🔥4🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Есть такой классный инструмент в Compose, который всегда был доступен веб-разработчикам, как Hot Reload

Благодаря ему можно без перезапуска приложения изменить UI в коде и сразу (после нажатия Ctrl + S) увидеть изменения в запущенном приложении. На Android это уже было давно, но теперь это доступно и в KMP

В закрепе можете увидеть пример на Windows - сделали очень стильно

Если ваш IntelliJ или Android Studio не поддерживает KMP и сам не предлагает запустить приложение в режиме Hot Reload, то можно без проблем создать свой вариант сборки Gradle с параметрами
composeApp:desktopRunHot --autoReload --mainClass=ru.normno.hotreloadcmp.MainKt


Подробнее про работу с Hot Reload и внедрением его в проект можно узнать на сайте JetBrains
🔥31
Маленько офтопа

Сегодня утром Windows решил обновиться до 24H2 (26100.4652) и у меня впервые в жизни слетел активатор
Так что будьте аккуратнее

UPD: всеми известные программы-активаторы исправили ситуацию
🤯2
Захотелось немного красоты

Уже дважды видел как в приложениях делают градиент вставляя видео, вместо программной реализации. Решил осуществить давние желание и научиться создавать такие градиенты

Существует один талант в мире красивого UI на Compose под псевдонимом Sinasamaki. У него есть множество уроков по созданию красивых штук на Compose и чуть-чуть XML. Один из таких - это Mesh Gradients in Jetpack Compose. Все было бы хорошо, если автор не предложил использовать не пойми откуда взявшийся модификатор meshGradient. Я так понимаю это модификатор из его UiKit за подписку.
Не сильно отчаявшись, начал делать все по урокам Google Brush: gradients and shaders через шейдеры на AGSL

Пока что получилось сделать небольшую анимацию
This media is not supported in your browser
VIEW IN TELEGRAM
💯3🔥1
Идет первый meetup про Android (здесь сохранится запись) у Сбера. На нем узнал, что Kaspersky использует Decompose для навигации. Пока очень интересная конференция получается

UPD: Выбрали они Decompose из-за более гибкой работы с жизненным циклом android
😭1
Еще на этой конференции рассказывали как Сберу удалось внедрить шрифт Брайля в устройство с плоским экраном, то есть в их терминал оплаты. Сделано это было для того, чтобы незрячие люди могли вводить пин-код без помощи других. Также был сделан крутой инструмент где вы можете научиться вводить пин-код на терминале прямо сейчас:
https://braille-trainer.vercel.app/

Разработку вела команда android
This media is not supported in your browser
VIEW IN TELEGRAM
Google, вы адекватные?
За последнюю неделю сильно изменились стандартные приложения на Android в плане шрифтов, размеров и положений элементов. Вот такое я сейчас заметил в часах...

Скорее всего это из-за нового элемента TextAutoSize, который сам подгоняет размер шрифта в зависимости от размера экрана, но видимо шрифты поменяли в последний момент и получилось это
🤯2😭2
This media is not supported in your browser
VIEW IN TELEGRAM
Сошлись 3 мои любимые вещи (жанр музыки Drum&Bass, программирование и красивые IDE) в одном Open Source проекте под названием Strudel

У этого проекта есть web приложение: strudel.cc
И репозиторий с кодом: codeberg.org/uzu/strudel

Я не смотрю вертикальные видео - это просто хороший пример
🔥3
Вот и прошла презентация Apple

Новый iPhone Air - вот это действительно AMAZING
🔥1
Нет, я не пропал, а все также продолжаю увлекаться Kotlin и KMP разработкой. Теперь будем пробовать macOs и iOS. Плюс на тайного Санту получил вот такую вот книжку
🔥5💩2
Как давно я это мечтал увидеть
🔥2
Мои рекомендации YouTube в 4 часа ночи

Git в Minecraft кажется очень необходимой вещью для строителей крупных проектов

Сразу вспоминается как я на первых курсах сохранял копии курсовой работы во время разработки, чтобы не потерять рабочие версии

https://youtu.be/ZdM-iNpv3nU?si=D3NUnNgtpS7gE3Vc
🔥2
В Material3 версии 1.5.0 добавили предустановки для анимаций, которые можно включить в Theme.kt

MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
motionScheme = MotionScheme.expressive(),
content = content,
)

Затем в animationSpec прописываем предустановку из MaterialTheme по аналогии с typography или colorScheme

val animationProgress by animateFloatAsState(
...
animationSpec = MaterialTheme.motionScheme.slowSpatialSpec(),
)

На видео и в примере кода новые анимации из M3 Expressive
This media is not supported in your browser
VIEW IN TELEGRAM
2💯1
Google уже сделала Compose основным инструментом для разработки UI в Android и собирается постепенно прекращать поддержку XML в новых версиях Android Studio. Compose тоже не идеален и имеет свои проблемы. Одна из таких проблем - это лишние рекомпозиции. В каждой новой версии Compose появляются улучшения механизмов отрисовки UI, но что-то приходится улучшать самому используя лучшие концепции для создания динамичного UI

В последнем очень сильно может помочь плагин Compose Stability Analyzer для отслеживания стабильности UI от легенды Android разработки Jaewoong Eum
💯5
Дошли руки и до моего любимого pet проекта - RutubeDownloader, которым я пользуюсь регулярно

Получилось интегрировать iOS таргет в проект и успешно запустить приложение на эмуляторе через XCode. Вот коммит со всеми изменениями, которые пришлось сделать

Есть небольшие платформенные особенности которые быстро получится исправить. На macOs заработало сразу, благодаря JVM
🔥5
https://normno.ru/

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

Для этого понадобилось:
1. Создать макет сайта в Claude Design
2. Закинуть макет и написать ТЗ в Claude Code
3. Развернуть контейнер с сайтом на своем VPS

На все ушло в сумме 3 часа чистой работы. В этом репозиторий можно подробнее узнать о сайте: https://github.com/NORMss/ProfileWebNORM
🤯2🔥1
Это тестовый пост из сайта

Да, этот пост я написал не в telegram, а на сайте normno.ru
Теперь у меня работает синхронизация постов с сайтом и теперь без разницы где их читать и писать. Жаль что писать нечего(((
🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3