На сайте Android Developers появилась документация с рекомендациями по разработке приложений и циферблатов для детей на WearOS
#android #wearos
#android #wearos
🎉13👍7
Какие типы Android устройств вы поддерживаете в приложениях? (команда проводит тестирование, используете фичи и др.)
Anonymous Poll
92%
Смартфоны
24%
Планшеты
7%
Складные устройства
1%
Android на ChromeOS
2%
Google WearOS
7%
AndroidTV
3%
Android Auto
1%
Не пишу код
6%
Не участвую в опросе
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Goose - open-source ИИ-ассистент , который заберет рутину у программистов и сократит время на выполнение задач
Ключевые особенности:
👉 Работает локально на вашем компьютере без интернета
👉 Расширяемый: можно подключить сторонние сервисы через API
👉 Может работать с разными провайдерами AI: OpenAI, Gemini, Groq и другие
👉 Есть интеграция с IDE от JetBrains
@mobi_dev
Ключевые особенности:
👉 Работает локально на вашем компьютере без интернета
👉 Расширяемый: можно подключить сторонние сервисы через API
👉 Может работать с разными провайдерами AI: OpenAI, Gemini, Groq и другие
👉 Есть интеграция с IDE от JetBrains
@mobi_dev
🤯31👍12
Библиотека мигрирует на Kotlin 2.0+ и весь проект должен будет тоже использовать её. Хотите KMP - точно надо будет мигрировать на Kotlin 2.0
Это последний альфа релиз и дальше будет Beta и уже совсем скоро релиз.
#android #kmp #jetpack #jetpackupdate #sqlite
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤4👍2
На какой версии Kotlin ваш Android проект?
Anonymous Poll
24%
Kotlin 2.1.X
29%
Kotlin 2.0.X
28%
Kotlin 1.9.X
5%
Kotlin 1.X
3%
Всё на Java 😁
2%
Пишу на Flutter
1%
Пишу на ReactNative
0%
Другой язык/технология
8%
Не участвую в опросе
👍5🤯1
Media is too big
VIEW IN TELEGRAM
Мне понадобилось сделать рабочее место дома, а места для этого не так много. Решением послужил компактный стол - Ergostol One 2.0. Попользовался им практически месяц и делюсь впечатлениями.
Промокод со скидкой на 10% на всю продукцию Ergostol в описание к видео
#AndroidBroadcast #ergostol
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥7🤯7
У Qualcomm есть собственная технология апскейла для игр - Snapdragon Game Super Resolution 2. Полезно разработчикам игр с 3D. Короткое знакомство в статье (EN,4м)
Ссылка без VPN
#qualcomm #gpu
Ссылка без VPN
#qualcomm #gpu
👍20
Как команда Контура объединила CI/CD для мобильных платформ (5м)
Команда мобильной разработки Контура столкнулась с проблемой разного CI/CD для Android и iOS. Разные пайплайны, gitflow, подходы к секретам и использование сабмодулей создавали сложности в сопровождении и развитии инфраструктуры.
Как было:
👉 Разные процессы CI для Android и iOS
👉 Submodules, не подтягивающие обновления
👉 Дублирование кода
👉 Сложности с мультиплатформенным подходом
Как стало:
👉 Перевели CI на единый шаблон
👉 Отказались от сабмодулей
👉 Унифицировали работу с секретами
👉 Перешли на модульную структуру fastlane
Теперь CI/CD работает как сервис: разработчики могут быстро подключать обновления и собирать пайплайны под новые платформы. Даже после ухода ключевых инженеров система продолжает стабильно работать.
UPD1: Этот процесс был выполнен давно и в Контур уже отказались от Fastlane.
#fastlane #android #ios #ci #автоматизация
Команда мобильной разработки Контура столкнулась с проблемой разного CI/CD для Android и iOS. Разные пайплайны, gitflow, подходы к секретам и использование сабмодулей создавали сложности в сопровождении и развитии инфраструктуры.
Как было:
👉 Разные процессы CI для Android и iOS
👉 Submodules, не подтягивающие обновления
👉 Дублирование кода
👉 Сложности с мультиплатформенным подходом
Как стало:
👉 Перевели CI на единый шаблон
👉 Отказались от сабмодулей
👉 Унифицировали работу с секретами
👉 Перешли на модульную структуру fastlane
Теперь CI/CD работает как сервис: разработчики могут быстро подключать обновления и собирать пайплайны под новые платформы. Даже после ухода ключевых инженеров система продолжает стабильно работать.
UPD1: Этот процесс был выполнен давно и в Контур уже отказались от Fastlane.
#fastlane #android #ios #ci #автоматизация
👍19❤2
Все мы уже привыкли выкладывать сборки в Google Play через AAB, которые передаст на устройство только необходимое для устройства нативные библиотеки. Некоторым приходится раздавать сборку в APK формате. Банальный кейс - отдавать сборку на проверку QA.
Универсальное APK - содержит ресурсы и библиотеки под все возможные устройства, даже те которые не нужны на устройстве пользователя. Обычно нативные библиотеки делают наибольший вклад в конечный размер приложения на устройстве пользователя. Отказ от ненужных позволит снизить размер и скорость доставки до устройства пользователя.
Android Gradle плагин позволяет указать какие ABI нужно добавлять в сборку. Сложность в том, что для финальной сборки обычно надо добавить ABI
Пример задания через параметр
Если вы запускаете приложения из Android Studio на устройстве/эмуляторе, то IDE понимает какую ABI из поддерживаемых стоит включить в APK, чтобы приложение смогло работать. Все остальные исключается. Сборка компактнее - меньше время на передачу и установку тестового билда.
#android #gradle #ndk
Универсальное APK - содержит ресурсы и библиотеки под все возможные устройства, даже те которые не нужны на устройстве пользователя. Обычно нативные библиотеки делают наибольший вклад в конечный размер приложения на устройстве пользователя. Отказ от ненужных позволит снизить размер и скорость доставки до устройства пользователя.
Android Gradle плагин позволяет указать какие ABI нужно добавлять в сборку. Сложность в том, что для финальной сборки обычно надо добавить ABI
arm64-v8a и armeabi-v7a, а вот для Intel эмуляторов нужны x86 и x86-64. Чтобы делать это эффективно, я делал механизм передачи значений ABI через переменные при сборке. Это позволяет задавать локально и на CI разные значения, а локальные задавать через файл local.properties или переменную окружения// Код в Gradle KTS скрипте
fun resolveAbiFilters(): List<String> {
val abisString =
project.findProperty("abiFilter") as String? // Параметр командной строки
?: readFromLocalProperties("abi.filter") // Значение из local.properties
?: System.getenv("ABI_FILTER") // Переменная окружения
return abisString?.split(",") ?: emptyList()
}
fun readFromLocalProperties(key: String): String? {
val localPropertiesFile = rootProject.file("local.properties")
if (!localPropertiesFile.exists()) return null
val localProperties = Properties().apply {
localPropertiesFile.inputStream().use(::load)
}
return localProperties.getProperty(key)
}
// В Android application модуле указываем
android {
defaultConfig {
ndk {
abiFilters = resolveAbiFilters()
}
}
}
Пример задания через параметр
./gradlew assembleRelease -PabiFilter=arm64-v8a,armeabi-v7a
Если вы запускаете приложения из Android Studio на устройстве/эмуляторе, то IDE понимает какую ABI из поддерживаемых стоит включить в APK, чтобы приложение смогло работать. Все остальные исключается. Сборка компактнее - меньше время на передачу и установку тестового билда.
#android #gradle #ndk
👍48🔥10❤2
Знаете ли вы что такое Docker ?
Anonymous Poll
50%
Знаю
39%
Имею представление
9%
Нет
0%
Не занимаюсь разработкой
2%
Не участвую в опросе
👍10🎉1
Получали недавно такое письмо от Google Play? Так вот вам пора переходить на Photo Picker или направить обоснование доступа к картинкам и видео напрямую. Подробности решения в статье (EN,5м)
🔗 Ссылка без VPN
#android #googleplay #permission
🔗 Ссылка без VPN
#android #googleplay #permission
👍37🤯13🔥4👏1🎉1
Google объвила об отказе разработки Relay - инструмента для генерации Compose кода на основе макетов в Figma. Срок закрытия поддержки - 30 апреля 2025.
Причина закрытия проекта - появление Figma Code Connect с поддержкой Compose
#compose #figma
Причина закрытия проекта - появление Figma Code Connect с поддержкой Compose
#compose #figma
🤯34👍16
Media is too big
VIEW IN TELEGRAM
Сам не знал что это за зверь такой и буду изучать
UPD. Понял почему не знал - у меня нет денег на такую лицензию 😂
#figma
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27
Существенный минус Code Connect - фича доступна только на планах Organization и Enterprise, которые стоят 45$ и 75$ в месяц за Full Seat или 25$ и 35$ в месяц за место с Dev Mode 🤯
Обязательно надо купить не меньше чем 3 Full Seat, оплата сразу за год и выходит минимум 1620$ в год 🤯 за Organization план
По итогу Code Connect будет доступен только большим компаниям, которые готовы столько потратить на Figma. А я думал попробовать её при разработке своего личного проекта - FrameIO 😔 Простым смертным, да и большинству разработчиков в компаниях придется всё дальше писать ручками.
Я думаю, что Google всетаки делает ставку именно на AI генерацию на основе макетов. Это уже показывали на Google IO при помощи Gemini
#figma
Обязательно надо купить не меньше чем 3 Full Seat, оплата сразу за год и выходит минимум 1620$ в год 🤯 за Organization план
По итогу Code Connect будет доступен только большим компаниям, которые готовы столько потратить на Figma. А я думал попробовать её при разработке своего личного проекта - FrameIO 😔 Простым смертным, да и большинству разработчиков в компаниях придется всё дальше писать ручками.
Я думаю, что Google всетаки делает ставку именно на AI генерацию на основе макетов. Это уже показывали на Google IO при помощи Gemini
#figma
👍10🤯5❤4
Media is too big
VIEW IN TELEGRAM
Запрос, который ввел разработчик
Act as an Android app developer, analyze the project provided, generate an updated Profile.kt file for this project so that the Compose Preview is as close to the provided image as possible. Make sure to Include imports. Use Jetpack Compose and Kotlin. Use as many components as possible from the project. Don't omit code, provide the full solution. Do not include any previous responses as context.
@project
#android #compose #gemini #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47👍5
Как вы используете AI в разработке?
Anonymous Poll
28%
Использую AI автокомплит кода
17%
Переписываюсь в чате внутри IDE для вопросов по коду
5%
Генерирую код на основе скриншотов
59%
Ищу ответы на вопросы по программированию через AI, а не поисковики
7%
Другие способы использования AI для разработки (пиши в комментах как)
21%
Не использую AI (пиши в комментах почему)
8%
Не участвую в опросе
👍9❤1
Google напомнила про возможность настройки Firebase AppCheck на основе Play Integrity API в вашем приложении, чтобы убедиться, что доступ к бэку происходит из авторизованного приложения и на Android устройстве, которому можно доверять
#android #безопасность
#android #безопасность
👍23
Forwarded from Kotlin Multiplatform Broadcast
Вышел Coil 3.1.0 - популярный загрузчик картинок с поддержкой KMP
👉 Улучшили производительность AsyncImage: скорость работы стала лучше на 25-40%, а потребление памяти - на 35-48%
👉 FakeImage теперь deprecated
👉 Появился ColorImage - полезен для возвращения фейковых значений в тестах и для Compose превью
👉 coil-compose-core больше не зависит от
🛠 Множество других исправлений и улучшений API
#kmp #android #compose
👉 Улучшили производительность AsyncImage: скорость работы стала лучше на 25-40%, а потребление памяти - на 35-48%
👉 FakeImage теперь deprecated
👉 Появился ColorImage - полезен для возвращения фейковых значений в тестах и для Compose превью
👉 coil-compose-core больше не зависит от
Dispatchers.Main.immedate, что позволило исправить баги в работе Paparazzi и Roborazzi🛠 Множество других исправлений и улучшений API
#kmp #android #compose
🔥48👍8