This media is not supported in your browser
VIEW IN TELEGRAM
И снова про шейдеры. Finger Shadows
Ещё один эстетичный эффект, которым хотелось бы поделиться. Маловероятно, что вы сразу внедрите его в свой рабочий проект, но это отличное упражнение для отработки навыков создания красоты с помощью шейдеров
Эффект на видео, а применяется тот же
Статья тут, исходники тоже.
Ещё один эстетичный эффект, которым хотелось бы поделиться. Маловероятно, что вы сразу внедрите его в свой рабочий проект, но это отличное упражнение для отработки навыков создания красоты с помощью шейдеров
Эффект на видео, а применяется тот же
RuntimeShader, что и из предыдущего примера. Статья тут, исходники тоже.
🔥9👍2
Какую библиотеку используете для похода в сеть?
Anonymous Poll
64%
Retrofit
26%
Ktor
4%
Другую либу
7%
Не скажу. Но результаты интересны
👍2
Java Memory Model
Для тех, кто любит копаться в том, что и как работает под капотом. Отличная статья, где описываются механизмы работы JMM.
Тема непростая, однако автор довольно хорошо объясняет сложные вещи простым языком. Ну и на собесе можно выпендриться, если что.
Для тех, кто любит копаться в том, что и как работает под капотом. Отличная статья, где описываются механизмы работы JMM.
Тема непростая, однако автор довольно хорошо объясняет сложные вещи простым языком. Ну и на собесе можно выпендриться, если что.
Хабр
Глубокое погружение в Java Memory Model
Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме. В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да,...
🔥9👍3❤2
Styles API в Jetpack Compose 🚀
Интересного завезли. В Compose появился экспериментальный API для работы со стилями, который делает их изменение гораздо удобнее.
Сейчас работа с динамическими стилями требует немало ручного труда. И хотя
Ниже приведён пример кнопки, которая меняет цвет при состояниях
Выглядит неплохо, посмотрим, что будет дальше. Детали тут.
Интересного завезли. В Compose появился экспериментальный API для работы со стилями, который делает их изменение гораздо удобнее.
Сейчас работа с динамическими стилями требует немало ручного труда. И хотя
InteractionSource неплохо приспособлен для этих задач, Styles API упрощает процесс в разы.Ниже приведён пример кнопки, которая меняет цвет при состояниях
hovered и pressed.
@Composable
fun InteractiveButton(onClick: () -> Unit) {
ClickableStyleableBox(
onClick = onClick,
style = {
background(Color.Green)
size(150.dp)
hovered { animate { background(Color.Yellow) } }
pressed { animate { background(Color.Red) } }
}
)
}
Выглядит неплохо, посмотрим, что будет дальше. Детали тут.
Dove Letter
Introducing the Experimental Styles API in Jetpack Compose
Explore the new experimental Styles API in Jetpack Compose. Learn how to create reusable, composable styling patterns for your Android UI components.
🔥15👍6👎1
Google Checks
На днях наткнулся на полезный, но не очень популярный сервис от Google — Checks.
Платформа предназначена для автоматической проверки кода на compliance, безопасность и другие подобные штуки.
Если их не мониторить в больших компаниях можно отрести прилично проблем, а данный сервис помогает их предотвратить. Пока всё бесплатно, можно пробовать и решить, надо ли оно вам. Подходит для Android и iOS.
Пробовали? Поделитесь опытом в комментариях. Я вот добавил себе задачку, чтобы не забыть попробовать.
На днях наткнулся на полезный, но не очень популярный сервис от Google — Checks.
Платформа предназначена для автоматической проверки кода на compliance, безопасность и другие подобные штуки.
Если их не мониторить в больших компаниях можно отрести прилично проблем, а данный сервис помогает их предотвратить. Пока всё бесплатно, можно пробовать и решить, надо ли оно вам. Подходит для Android и iOS.
Пробовали? Поделитесь опытом в комментариях. Я вот добавил себе задачку, чтобы не забыть попробовать.
Google
Simplify compliance with Google | Checks
Discover an easier path to compliance with Google. Checks takes the guesswork out of building safer products by bringing privacy and engineering teams together through automated analysis.
👍6❤2🔥2
Samsung One UI fix
Если вы пользователь Samsung с последним обновлением One UI, то вас, как и меня, мог раздражать новый двойной свайп для открытия панели быстрых настроек.
Оказывается — можно это вернуть! Один из немногих YouTube Shorts, который сэкономил время.😄
Если вы пользователь Samsung с последним обновлением One UI, то вас, как и меня, мог раздражать новый двойной свайп для открытия панели быстрых настроек.
Оказывается — можно это вернуть! Один из немногих YouTube Shorts, который сэкономил время.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Samsung broke this
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
😐8🔥4❤2👍1
Обновление зависимостей с Gemini
Может вы, как и я, пропустили, что начиная с Android Studio Otter можно обновлять зависимости в toml-каталогах при помощи Gemini.
Процесс обновления зависимостей хоть и простойшах и мат AGP 9 , но довольно затратный по времени. Gemini может решить эту проблему, хотя в идеале такие задачи стоит выносить на CI/CD
Попробовать новую фичу просто:
🔴 открываем toml-каталог;
🔴 нажимаем на зависимость, требующую обновления;
🔴 выбираем пункт «Update all libraries with Gemini».✨
Может вы, как и я, пропустили, что начиная с Android Studio Otter можно обновлять зависимости в toml-каталогах при помощи Gemini.
Процесс обновления зависимостей хоть и простой
Попробовать новую фичу просто:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3👎2🔥2
Local History в Android Studio
Мне кажется, что это довольно полезная функция Android Studio, о которой знают далеко не все разработчики.
Если вы случайно дропнули важный код и не успели закоммитить его в Git, данные можно восстановить при помощи Local History.
Для этого кликаем в IDE правой кнопкой и нажимаем на LocalHistory -> Show History. Ну и а затем найдите наиболее подходящую версию.
Важно помнить, что этот инструмент не заменяет Git: локальная история хранится только на вашем компьютере. Кроме того, её легко стереть при очистке кэша. Будьте бдительны!
Мне кажется, что это довольно полезная функция Android Studio, о которой знают далеко не все разработчики.
Если вы случайно дропнули важный код и не успели закоммитить его в Git, данные можно восстановить при помощи Local History.
Для этого кликаем в IDE правой кнопкой и нажимаем на LocalHistory -> Show History. Ну и а затем найдите наиболее подходящую версию.
Важно помнить, что этот инструмент не заменяет Git: локальная история хранится только на вашем компьютере. Кроме того, её легко стереть при очистке кэша. Будьте бдительны!
🔥15👍7🥴5🤡2❤1👎1
Ну что, Android юзеры, как вам новое обновление Telegram?
Anonymous Poll
44%
Дно полное, зачем мне настройки в основном меню?
21%
Вроде ничего так, красиво
17%
Пользуюсь iOS
18%
Хочу просто результаты посмотреть
😁3🤔3👀2❤1
Project Accessors
На днях узнал о полезной настройке в Gradle, которая пригодится проектам с большим количеством модулей. Даже если она не решит критических проблем, то как минимум сделает код чище и эстетичнее.
Предположим, у нас есть модули
В целом, ок, но можно сделать аналогично тому, как мы работаем с зависимостями из toml-каталога:
Для этого достаточно зайти в корневой
Хотя фича и считается «экспериментальной», вроде работает вполне себе стабильно. Надеюсь, было полезно.
На днях узнал о полезной настройке в Gradle, которая пригодится проектам с большим количеством модулей. Даже если она не решит критических проблем, то как минимум сделает код чище и эстетичнее.
Предположим, у нас есть модули
core-ui и core-common. Обычно при их добавлении в другой модуль используется такой синтаксис:
implementation(project(":core:common"))
implementation(project(":core:ui"))
В целом, ок, но можно сделать аналогично тому, как мы работаем с зависимостями из toml-каталога:
implementation(projects.core.common)
implementation(projects.core.ui)
Для этого достаточно зайти в корневой
settings.gradle и добавить там строку enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS»)Хотя фича и считается «экспериментальной», вроде работает вполне себе стабильно. Надеюсь, было полезно.
👍19🥱12👏6
Дано: большой проект из 180 модулей и Claude Sonnet 4.5.
Сможет ли модель осуществить миграцию на AGP 9.0 без внешнего вмешательства? То есть начинаем с промта в любом виде -> модель шуршит -> успешный запуск проекта. Ваши прогнозы:👇
Сможет ли модель осуществить миграцию на AGP 9.0 без внешнего вмешательства? То есть начинаем с промта в любом виде -> модель шуршит -> успешный запуск проекта. Ваши прогнозы:
Anonymous Poll
19%
Да, всё получится: не самая сложная задача для модели
12%
Нет, захлохнет на полпути
50%
Нет, миграцию «сделает», но проект не запустится
0%
Свой вариант ответа
19%
Просто. Покажи. Результаты
❤1
AGP 9.0 — миграция через Claude Sonnet 4.5
Спасибо за ваши комментарии и обратную связь.
На самом деле в вопросе не было опечаток, хотя он и звучал довольно абстрактно. Попробую рассказать подробнее.
Ещё до выхода Sonnet 4.6 я решил попробовать перевести рабочий проект на последний AGP. Стандартный «мигратор» Android Studio не втащил: добавил какие-то необходимые файлы, но после него даже не вышло собрать проект. А вот Sonnet — смог.
Не скажу, что это сверхсложная задача с точки зрения программирования, но она весьма монотонная для ручного выполнения. Как раз то, что идеально подходит для ИИ.
Для начала я объяснил задачу в режиме планирования (plan-mode). Промт был довольно простым, но я добавил в него несколько официальных гайдов по переходу. После корректировки плана мной — агент начал рабоать… и справился!
Проект успешно собрался, зависимые библиотеки обновились до совместимых версий, а модель самостоятельно «протестировала» результат, проверив сборку всех конфигураций. У меня, кстати, в проекте есть KMP-модули, хотя и довольно простые с бизнес-логикой.
Так что AI сегодня — инструмент, который не стоит игнорировать. Просто пробуйте некоторые задачи доверять ИИ, попутно смотря, что он там делает.
Спасибо за ваши комментарии и обратную связь.
На самом деле в вопросе не было опечаток, хотя он и звучал довольно абстрактно. Попробую рассказать подробнее.
Ещё до выхода Sonnet 4.6 я решил попробовать перевести рабочий проект на последний AGP. Стандартный «мигратор» Android Studio не втащил: добавил какие-то необходимые файлы, но после него даже не вышло собрать проект. А вот Sonnet — смог.
Не скажу, что это сверхсложная задача с точки зрения программирования, но она весьма монотонная для ручного выполнения. Как раз то, что идеально подходит для ИИ.
Для начала я объяснил задачу в режиме планирования (plan-mode). Промт был довольно простым, но я добавил в него несколько официальных гайдов по переходу. После корректировки плана мной — агент начал рабоать… и справился!
Проект успешно собрался, зависимые библиотеки обновились до совместимых версий, а модель самостоятельно «протестировала» результат, проверив сборку всех конфигураций. У меня, кстати, в проекте есть KMP-модули, хотя и довольно простые с бизнес-логикой.
Так что AI сегодня — инструмент, который не стоит игнорировать. Просто пробуйте некоторые задачи доверять ИИ, попутно смотря, что он там делает.
🔥23🤔4👍3
Решил помочь ребятам сделать исследование мобильного рынка за текущий год. Опрос займёт около 10 минут, а результатами я поделюсь уже в апреле.
Зачем оно нужно?
🟢 можно сверить себя с рынком и понять, молодец ли я по ЗП или пора расти;
🟢 что там с актуальным стеком, и правда ли что всем давно пора на KMP писать;
🟢 как дела с AI, а то может и KMP учить поздно. 🤖
Сам опрос тут, думаю, что в итоге всем нам будет эта инфа полезна.
Зачем оно нужно?
Сам опрос тут, думаю, что в итоге всем нам будет эта инфа полезна.
Please open Telegram to view this post
VIEW IN TELEGRAM
survey.alchemer.eu
Исследование мобильных разработчиков, 2026
Исследование мобильных разработчиков, 2026.
🤮16🔥6👍4👌3