Язык от Apple развивается с поддержкой других платформ. Можно попробовать ранний прототип интерорпа в обе стороны для работы с Java.
Язык постепенно ступает на территорию Kotlin. Про аналог мультиплафтормы конечно не говорится пока, но чем чёрт не щутит
#swift #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Что нового
👉 Новый график релиза версий Android
👉 Обязательный Edge-to-edge
👉 Live Updates уведомления
👉 Все приложения принудительно растягиваются на больших экранах
👉 Лучшая производительность и время жизни батареи
Обзор всех изменений можно найти в канале по тегу #android16 (кликайте нам сам тег)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AvitoTech
Официально: Android 16 только что вышел🤖
И мы уже разобрали его самые интересные фичи
Все они уже в новом выпуске AviCast! В нём Кирилл Розов, ведущий Android Broadcast, и Денис Стародубов, Android-инженер нашей команды Mobile Architecture, обсудили:
☑️ текущие обновления;
☑️ потенциальные ограничения для разработчиков и пользователей;
☑️ сходства и различия Android и iOS между собой.
Смотрим тут⬇️
📺 YouTube
🔵 ВК Видео
💻 RuTube
#mobile_android
И мы уже разобрали его самые интересные фичи
Все они уже в новом выпуске AviCast! В нём Кирилл Розов, ведущий Android Broadcast, и Денис Стародубов, Android-инженер нашей команды Mobile Architecture, обсудили:
Смотрим тут
#mobile_android
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
В этом выпуске мы говорим с инженером по производительности из команды Яндекс Go: обсуждаем, как замеряют и оптимизируют работу Android-приложений, какие инструменты используют, и насколько важна низкоуровневая оптимизация на современных устройствах.
👨💻 Эксперт - Вадим Мезенцев, Android разработчик в Яндекс GO
Занимается платформенными задачами в мобильной разработкe. Некоторые из направлений: улучшение производительности приложений, CI/CD, архитектура, работа с сетью
📺 RuTube
#AndroidBroadcast #интервью #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Google обязует всех поддерживать Edge-to-edge в приложениях, при это системный UI для разработчиков такой 🫣 Ну а чё... стерпят
#android #android16
#android #android16
Как часть улучшения качества работы WearOS компания отказывается от использования старых инструментов для создания циферблатов и переходит на Watch Face Format (уже скоро будет версия 4) - декларативный XML формат без написания кода для создания циферблатов 🤯
Все изменения вступают с 14 января 2026, а именно:
Подробнее про новый формат циферблатов в официальной документации
#android #wearos #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Демонстрация возможностей Preview для Compose в Android Stduio: базовые возможности, интерактивный режим, превью анимаций и UI Check Mode
#andoidstudio #androd #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Впервые за свой опыт использования Android столкнулся, что приложение требовало отключить USB Debugging в настройках. Приложение для покупки проходок в бизнес залы аэропорта.
Знаю что есть проверки на root и эмуляторы, но вот на USB Debugging впервые 🤯
❓Кто знает зачем такое требование? От чего происходит защита?
#android #безопасность
Знаю что есть проверки на root и эмуляторы, но вот на USB Debugging впервые 🤯
❓Кто знает зачем такое требование? От чего происходит защита?
#android #безопасность
Media is too big
VIEW IN TELEGRAM
Рассказ про основные принципы новой навигации от Google для Compose - Jetpack Navigation 3
0:00 Вступление
1:05 Что есть Навигация
2:08 Архитектура
4:40 Требования
5:26 Почему это так сложно
7:01 Задачи Navigation 3
9:02 Владение Backstack-ом
10:04 Будущее
#android #jetpack #compose #навигация
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчик решил оценить влияние логирования на работу приложения и описал в статье. Проблема только если создаете лишние объекты
#android #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
fun logD(tag: String, messageBuilder: () -> String) {
if (loggingEnabled) {
Log.d(tag, messageBuilder())
}
}
но автор еще не учел проверку уровня логирования:
fun logD(tag: String, messageBuilder: () -> String) {
if (loggingEnabled && Log.isLoggable(tag, Log.DEBUG)) {
Log.d(tag, messageBuilder())
}
}
или прийти к более общей функции
inline fun log(tag: String, level: Int, messageBuilder: () -> String) {
if (loggingEnabled && Log.isLoggable(tag, level)) {
when (level) {
Log.VERBOSE -> Log.v(tag, messageBuilder())
Log.DEBUG -> Log.d(tag, messageBuilder())
Log.INFO -> Log.i(tag, messageBuilder())
Log.WARN -> Log.w(tag, messageBuilder())
Log.ERROR -> Log.e(tag, messageBuilder())
else -> Log.d(tag, messageBuilder()) // fallback
}
}
}
#android #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Еще одна рекомендация - используйте минификацию кода через R8/ProGuard чтобы удалить весь код логирования. Ничего лишнего не уйдёт в логи, а также повысите скорость работы
Добавьте в правила следующие инструкции
# Удаляем Log.v()
-assumenosideeffects class android.util.Log {
public static int v(...);
}
# Удаляем Log.d()
-assumenosideeffects class android.util.Log {
public static int d(...);
}
# Удаляем Log.i()
-assumenosideeffects class android.util.Log {
public static int i(...);
}
Подробнее про инструкцию
assumenosideeffects
читайте в документации#android #proguard #r8 #оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
В Android 16 QRP1 появилась поддержка десктопного режима при подключении внешних дисплеях. Включается режим плавающих окон, а значит приложения смогут иметь произвольный размер, управление перейдет в мышку и клавиатуру (а смысл иначе от внешнего дисплея?)
Совсем уже не новинка в мире Android, но какому количеству людей это будет необходимо? Делитесь своим мнением в комментариях
#android #android16 #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Используете подход Documentation-as-Code ? (не про документация в коде)
Anonymous Poll
13%
Да
14%
Нет
58%
Что это?
7%
Не пишу документацию вокруг проекта
1%
Другой вариант
7%
Не участвую в опросе
В этот раз вас жду багфиксы: Room 2.7.2 и WorkManager 2.10.2, а также первая RC версия Benchmark Version 1.4.0
#android #androiddev #jetpack #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
Показали первую альфа версию Jetpack Test Uiautomator Shell - решения для выполнения команд в терминале. Фактически это backport UiAutomation.executeShellCommandRwe из API 34 (Android 14).
#android #androiddev #тестирование #автотесты
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kotlin Multiplatform Broadcast
Все сессии можно найти в расписании. Пока только на сайте, но там встроен YouTube плеер, так что позже выпустят плейлист. В @kotlin_broadcast буду выкладывать доклады и рассказывать самое интересное
#kotlin #kotlinconf
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
В новом видео погружаюсь в особенности того как работает Context, а именно:
👉 какие типы Context бывают
👉 почему Application класс != Application Context
👉 как Android ОС создает экземпляр Context и передает его в компоненты приложения
👉 советы по работе с Context
Подписку на видео можно также оформить через Telegram
#AndroidBroadcast #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда разработчик использует NotificationCompat.Builder для создания уведомлений из Android приложения, может показаться, что прямого контроля на внешний вид нету 🤯 На самом деле формируется не визуальный компонент, а объект данных, который описывает что есть в уведомление.
Этот объект — это просто структура, сериализуемая через Parcelable. Он передаётся в системный процесс через Binder — механизм межпроцессного взаимодействия в Android. А вот принимать и интерпретировать этот объект будет специальное системное приложение — SystemUI.
Уведомления отображаются не Android сам по себе, а конкретное приложение, которое называется
com.android.systemui
. И это приложение полностью отвечает за то, как будет выглядеть уведомление. Оно решает, какие поля отобразить, где их разместить, какой стиль применить, как будет выглядеть кнопка, будут ли видны иконки — и многое другое. Часть из данных может игнорироваться.Вот почему одно и то же уведомление может выглядеть совершенно по-разному на разных устройствах и версиях ОС. Один и тот же вызов setContentTitle("Новость") может дать совершенно разный результат на Pixel с чистым Android и на Xiaomi с MIUI. Более того, даже RemoteViews, которые позволяют задавать кастомные layout’ы для уведомлений, могут игнорироваться или ограничиваться прошивками производителей.
Именно по этой причине я не люблю когда в уведомления вставляют Custom View, который выбивается из стиля и часто портит визуал системы и поведение. Мечтаю чтобы его поскорее запретили в Android. Пожалуйста, хотя бы в Android 17 🙏
Запомните
#android #androiddev
Please open Telegram to view this post
VIEW IN TELEGRAM