Android
• Введение в Trio
• Keyguard: красивый клиент Bitwarden
• Что нужно учить в 2024
• SimpMusic: музыкальный плеер на основе YouTube Music
• Kotlin: An Illustrated Guide - Generics
• Styling Internationalized Text in Jetpack Compose
• How to safely update state in your Kotlin apps
• Fun with the circle shape in Compose
• Introduction to using Kotlin Serialization
• Understanding Window Insets in Jetpack Compose
#android
Самые скачиваемые и зарабатывающие приложения в России в марте 2024
Обозрел российские топы.
1. Телеграм наконец обогнал всех и и занял первое место в рейтинге самых скачиваемых приложений.
2. Он же возглавляет рейтинг самых зарабатывающих приложений. Его доход вырос почти на 50% и за месяц наш любимый мессенджер заработал более $2.127 млн, против $1.4 в прошлом месяце. Это исторический рекорд для него.
3. На втором месте PUBG MOBILE, который поднялся на 2 позиции в рейтинге с $1.34 млн, а на третьем Royal Match с $1 млн.
4. Интересный рост - у PetTalk. Приложение, вышедшее в начале марте и доступное только на Android, получило менее чем за месяц более 1.2 млн установок и 98% из них из России. При этом рейтинг приложения составляет всего 1.9 ⭐️, большинство оценок в одну звезду и пользователи жалуются на обилие рекламы. Судя по отзывам, приложение активно рекламируется, так что, в теории, ему даже не обязательно хорошо работать - миллион пользователей не может ошибаться вполне может окупить его даже при отсутствии возвратов. Странно и то, что это единственное приложение автора и к тому же доступно оно только на русском языке, что наводит на мысли о скаме.
Инженер Microsoft случайно обнаружил вредоносный код в версии инструмента сжатия XZ Utils, что предотвратило тысячи заражений
Уязвимость в xz Utils была построена по схеме supply chain attack, атака на цепочку поставок. Для её реализации злоумышленнику (или их группе) пришлось два года втираться в доверие сообществу открытого программного обеспечения, чтобы получить права мейнтейнера и внедрить нужный код.
Однако о весь двухлетний план злоумышленников провалился из-за плохой оптимизации бэкдора. Один из наблюдаемых эффектов — это замедление логина в SSH, если в системе присутствует бэкдор. В сообщении от 29 марта Андрес Фройнд указал, что на его старом компьютере sshd стала медленнее на полсекунды. Фройнд занимался микробенчмаркингом и настройкой компьютера, когда обратил внимание на необычно высокую нагрузку на процессор от sshd даже в тех случаях, когда, например, пароль не подходил. Подозрения Андрес связал с прошлыми результатами автоматизированных тестов от Valgrind, поэтому провёл более детальный анализ. Как говорит Фройнд, обнаружение бэкдора — это результат череды случайных совпадений.
И что: оптимизация, оптимизация и еще раз оптимизация!
Видео и подкасты за неделю:
• (iOS En)
Stacked Cards Effect using SwiftUI
• (iOS En)
Pinch to Zoom - SwiftUI
• (iOS En)
Rebuild Spotify in SwiftUI
• (iOS En)
Swift has more formatters than you know
• (iOS En)
XCTest Tutorial: How to add automated UI tests for Better iOS App Quality
• (iOS En)
Horizontal Wheel Picker
• (iOS En)
Create Realistic Particle Effects for visionOS
• (And Ru)
Что нужно учить в 2024
• (And En)
Time for Playtime - Android Developers Backstage
• (And En)
How to Implement a Pull-to-Refresh LazyColumn with Material3 in Android
• (And En)
If You're Making These 5 Use Case Mistakes, You Haven't Understood Clean Architecture
• (And En)
Material You Review
• (Crs Ru)
Flutter Dev Podcast #45: Собеседования на позицию Flutter-разработчика
• (Crs En)
Display images with Custom Paint using Supabase Storage
• (Crs En)
Flutter Responsive UI Design
• (Dev Ru)
Пишем рекомендательную систему музыки на Java
• (Dev Ru)
Задача из Моего Собеседования в Amazon
• (Dev Ru)
Ада Лавлейс и программирование
• (Dev Ru)
Осознанный подход к метрикам
• (Dev En)
AI Flutter Code Generator with Gemini API
Посоветуйет в комментах интересные каналы по мобильной разработке? 🌐 @AppFiles
Если раньше говорили, что будет "одно сплошное телевидение", то теперь уже "будет один сплошной TikTok". Кажется, последним сдался LinkedIn - в приложении запустили ленту коротких видео. Правда, пока она действительно касается карьерный рост, поиск работы и профессиональное развитие и к тому же находится в стадии тестирования. Но, видимо, до появления магазинов на диване и Hashtag Challenge осталось совсем немного. К чему это - если у вас в приложении, то вы уже опоздали. Время внедрять было еще пару лет назад. Раз сейчас сам LinkedIn начал 😊
Разработка
• LinkedIn тестирует ленту с короткими видео
• На Raspberry Pi 5 запустили Steam и некоторые игры
• Playtime Engineering хочет упростить создание музыки для детей
• Эволюция главного экрана: хаос, исследования и редизайн
• Адаптация мобильного приложения для пользователей скринридеров. Опыт Яндекс Лавки
• Запуск AI приложения за месяц - от идеи до публикации
• 10 Elegant and Handy User Interface Design Projects
• Consistent Data Encryption in Android, iOS, and Flutter Apps with AES
Маркетинг
• The AppsFlyer Performance Index: 2024 Country Edition
Кроссплатформа
• younasud/common-mistakes-in-flutter-and-how-to-fix-them-2f3739741f6e">Common Mistakes in Flutter and How to Fix Them
• Display images with Custom Paint using Supabase Storage
iOS
• Поваренная книга SwiftUI: тексты и шрифты — часть 2
• Privacy Manifest: что нужно о нём знать для внедрения в проект
• SQLite.swift: обертка для SQLite3
• Осваиваем ViewThatFits. Часть 1
• Date decoding strategies in Swift
• valentinjahanmanesh/swift-actors-in-depth-19c8b3dbd85a">Swift Actors — in depth
• Framework Creation And Code Visibility Control Using Binary
#ios
Лучший пост недели в сабреддите про программирование - физические упражнения для разработчиков. Из них одна прогулка, две растяжки, но семь вполне занятных и полезных, которые можно делать на стуле или около стола. Давно хотел сделать такое, у меня даже навык в Алисе есть про 7-минутную тренировку (поставьте там оценочку, если не лень :)). Интересен вам был бы бот в Телеграме, который с определенным интервалом присылал бы вам упражнения?
Разработка
• 10 упражнений от боли в спине, которые помогут программистам
• Самые высокооплачиваемые вакансии марта в сфере разработки приложений
• Временное решение просуществовало в Windows уже 30 лет
• Инклюзивность и цифровая доступность в дизайне: почему это важно для всех
• Сложная архитектура простых приложений
• 6 лет из жизни инди-разработчика
• За кем сейчас охотятся крупные работодатели в IT?
• techworldwithmilan/what-i-learned-from-the-software-architecture-the-hard-parts-0498c9eae88e">What I learned from the book Software Architecture: The Hard Parts
• 10 Core Product Design Principles
• I'm A Developer Not A Compiler
Маркетинг
• Go for the gold: How to ace your 2024 Olympics campaign
Кроссплатформа
• Мобильное приложение на Flutter для АЗС за 2 месяца
• Flutter’s InheritedWidgets: Getting Started
iOS
• Apple запустила на YouTube канал для разработчиков
• Iterating over websocket messages with async / await in Swift
• shahriarhossain_dev/swift-closures-explained-from-beginner-to-advanced-05323a87ca1e">Swift Closures Explained: From Beginner to Advanced
• hitesh.trivedi1987/swiftui-modifier-mastery-enhancing-views-and-layout-control-3f20359aed76">SwiftUI Modifier Mastery: Enhancing Views and Layout Control
• azalazar/using-viewmodel-protocols-in-swiftui-7f8818342af1">Using ViewModel with Protocols in SwiftUI
• Rebuild Spotify in SwiftUI
#ios
Нашел интересную статью о том, как руководить более умными людьми. Дураками тоже, наверное, непросто Ответа на главный вопрос сразу 4 - через ожидания, через задачи, а не решения, через цели и с помощью принципов. В общем-то каждый из пунктов ведет на другую статью автора, но в целом представление о том, как управлять коллективом более опытных и иногда умных разработчиков вы получить можете. Так что если планируете свою карьеру в этом направлении, то рекомендую ознакомиться.
Dev
• Как руководить командой Senior-инженеров
• How Uber increased developer productivity and what you can learn from that
• Design better alerts
• 10 Essential Exercises for Programmers to Prevent Back Pain
Marketing
• Spotify тестирует видеокурсы для обучения всему — от создания музыки до Excel
• Gamification in Product Design (UI/UX)
CrossPlatform
• 7 стратегий ускорения приложений React Native
• Intro to Metaprogramming in Dart
• Optimizing Configuration time for Android apps that use React Native
• hpatilabhi10/optimizing-flutter-performance-techniques-to-enhance-your-apps-speed-and-efficiency-987f2600837f">Optimizing Flutter Performance: Techniques to Enhance Your App’s Speed and Efficiency
iOS
• Ignite: конструктор статических сайтов для Swift-разработчиков
• Adwaita for Swift: GNOME приложения на SwiftUI
• WWDC 2024 пройдет с 10 по 14 июня
• veeranjain04/top-10-swiftui-features-every-app-developer-should-know-c784b4cadc7c">Top 10 SwiftUI Features Every App Developer Should Know
• Swift 6 New Features
• Key press events detection in SwiftUI
• Safe array subscription in Swift
• Exploring SwiftUI: Orientation Property Wrapper
#ios
В iOS ностальгическая статья про то, как самому сделать DVD-заставку на SwiftUI. Для тех, кто помнит, и кто действительно долго наблюдал, попадет она в угол или нет. Теперь можно тренироваться на кошках iPhone ☺️
Разработка
• Исследователи обнаружили неисправимую уязвимость в чипах Apple Silicon
• Евросоюз расследует несоблюдение Apple закона о Цифровых рынках
• Собеседование по System Design: проектируем клон Авито
• Демистифицируем машинное обучение – из разработчика в ML-инженеры
• Не работал в FAANG — не программист: полгода работы в Apple
• Программисты не нужны
• AutoDev: ИИ-помощник для разработки
• Экспортируем иконки из Figma в проект одним кликом: история одной автоматизации
• Create Visual Stories Without Drawing
• Industrial Product Design Trends for 2024
• How to lead a team of senior engineers
Маркетинг
• Приложение для ведения бюджета Copilot переживает бум после закрытия Mint
Кроссплатформа
• Рецепт приготовления кроссплатформенного мобильного видеоредактора
• Эффективный Dart
• How to Use and Create Streams from Scratch in Dart and Flutter
• Flutter Responsive UI Design
iOS
• Делаем DVD-заставку на SwiftUI
• Разработка под Apple Vision Pro
• Как встроить в TextField индикатор загрузки и кастомную View
• Вопросы с собеседований: Что такое дженерики
• Introducing the Benchmark Package: Complementing Unit Tests with Performance Checks
• Guide to Naming SwiftUI Components
• Mobile System Design (iOS): Swiggy/Zomato App
• Dependency Injection for Modern Swift Applications
• How to use Swift's logging API
#ios
Быстрый старт в растрату карьеры
Подборка всех материалов за прошлую неделю - быстрый старт iOS-приложений и дело правительства США против Apple, цена Чистой Архитектуры и Android 15 Developer Preview 2, современный способ организации зависимостей, сила последовательности, топ быстрорастущих приложений в России в марте и многое другое. Заходите!
Видео и подкасты за неделю:
• (iOS Ru)
Разработка под Apple Vision Pro
• (iOS Ru)
Как встроить в TextField индикатор загрузки и кастомную View
• (iOS En)
JSON Parsing With Pagination
• (iOS En)
Build 3D content for visionOS Apps
• (iOS En)
Long Press Button With Progress Bar
• (iOS En)
Create a 3D shiny card in SwiftUI
• (iOS En)
Sign In With Apple - Firebase
• (iOS En)
SwiftUI Horizontal Wheel Picker
• (And Ru)
Разработка новостного приложения. Часть 4
• (And Ru)
Мапим данные из domain в ui модуль в многомодульном проекте
• (And En)
Now in Android: 101 - Android 15 Developer Preview 2, TheAndroidShow, the Google I/O date, & more
• (And En)
How to Implement Biometric Auth in Your Android App
• (And En)
This Is My FAVORITE Error Handling Class
• (And En)
Java vs. Kotlin: The Ultimate Showdown of Virtual Threads & Coroutines
• (Crs Ru)
Рецепт приготовления кроссплатформенного мобильного видеоредактора
• (Dev Ru)
Собеседование по System Design: проектируем клон Авито (все собеседования 🧠)
• (Dev Ru)
Демистифицируем машинное обучение – из разработчика в ML-инженеры
• (Dev Ru)
Не работал в FAANG — не программист: полгода работы в Apple
• (Dev Ru)
Программисты не нужны
Что вы интересного посмотрели/послушали про разработку на этой неделе? 🌐 @AppFiles
В Gett написали занятную статью о том, как они делали выбор профиля пользователя в своем приложении (личный или бизнес) и в поисках вдохновения обратились к Netfix. Собственно, главный вывод: не стоит искать вдохновение только в очевидных источниках, а лучше мыслить нестандартно, даже в рамках ваших повседневных задач. Используйте все направления, которые могут вообще не иметь прямого отношения к естественной сфере вашей деятельности.
Разработка
• Как инсайт Netflix удвоил конверсию Gett
• Shattered Pixel Dungeon: кроссплатформенный «рогалик»
• GitHub предлагает автоматическое исправление уязвимостей в коде с помощью ИИ
• Will AI Devices Kill UX?
Маркетинг
• Epic Games запускает магазин на iOS и Android
• Casual Gaming in 2024: Using Insights From 2023
Кроссплатформа
• Advanced Theming Techniques in Flutter: Leveraging Extensions for Dynamic UIs
iOS
• AltStore выходит на iOS и добавляет оплату через Patreon
• Сделайте ваше iOS-приложение меньше с помощью динамических фреймворков
• Вопросы с собеседований: Жизненный цикл UIViewController
• Benchmark: производительность Swift с поддержкой CI
• TipKit чтобы подсветить функции в приложении
• Gifu: высокопроизводительная поддержка анимированных GIF в Swift
• Осваиваем ViewThatFits. Часть 2
• Recreating Apple's beautiful visionOS search bar
• Swift Isolation Intuition
• Identifiable protocol in SwiftUI explained with code examples
• Using closures for dependencies instead of protocols
• How to avoid using AnyView in SwiftUI
#ios
Анализ производительности React Native редко бывает хорошей идеей
Подборка всех материалов за прошлую неделю - WWDC 2024 и DVD-заставка на SwiftUI, более старый Android и инструментальные цепочки Gradle, анализ производительности React Native, инклюзивность и цифровая доступность, временное решение на 30 лет и многое другое. Заходите!
Что дает VK Cloud разработчику, инженеру или админу
VK Cloud — безопасная и технологичная платформа с широким набором облачных сервисов для эффективной разработки и работы с данными.
🔹 Все, что нужно для разработки: виртуальные машины, базы данных, GPU, Kubernetes, S3-хранилище, бэкапы, решения для машинного обучения и работы с Big Data.
🔹 Аудит, миграция, мониторинг и другие лучшие практики VK от команды опытных инженеров
🔹 Комплексная защита веб-сервисов от атак и взломов.
Зарегистрируйтесь в VK Cloud и получите 3 000 ₽ для тестирования облачных сервисов в течение 60 дней!
Для Swift сделали библиотеку Benchmark для оценки производительности с поддержкой CI
Производительность - ключевая характеристика для многих приложений и фреймворков. Пакет Benchmark позволяет легко измерять и отслеживать множество различных показателей, влияющих на производительность, таких как загрузка процессора, ARC-трафик, использование памяти, использование ресурсов операционной системы, таких как потоки и системные вызовы, а также полностью пользовательские счетчики метрик.
Benchmark работает как на macOS, так и на Linux и поддерживает несколько ключевых рабочих сценариев:
• Автоматизированная проверка регрессии производительности пул-реквеста путем сравнения показателей с основной веткой
• Автоматизированная проверка пул-реквеста по сравнению с предварительно записанным абсолютным пороговым значением, подходящая, например, для регрессионных тестов
• Ручное сравнение нескольких базовых показателей производительности для итеративной или A/B работы отдельного разработчика
• Экспорт результатов бенчмарка в нескольких форматах для анализа или визуализации
• Запуск профилировщика Instruments на наборе бенчмарков непосредственно из Xcode
Benchmark подходит как для небольших специальных бенчмарков, ориентированных на рантайм, так и для более масштабных бенчмарков, которые заботятся о нескольких расширенных метриках.
Benchmark на GitHub: https://github.com/ordo-one/package-benchmark
#ios
Android
• Important Coroutine Interview Questions for Experienced Android Developers
• Introduction to ML Kit Document Scanner for Android
• vivekbansal19/optimizing-lazy-list-in-jetpack-compose-best-practices-8da06a5dd472">Optimizing Lazy List in Jetpack Compose: Best Practices
• Scooping Out Vanilla Ice Cream
#android
Чувствуете, что делаете лучший продукт, а роста все нет? Ищите новые точки роста? Рекомендую команду мобильного маркетинга HolyUnicorn.
Фишка команды - комплексный подход к вашему мобильному продукту, kpi и достижениям. Ребята делают качественный перфоманс-маркетинг с прицелом на потребности стартапов.
В арсенале команды 20+ методов раскрутки приложений. Они проверяют бизнес-гипотезы и улучшают воронки. Внедряют аналитику, запускают рекламные кампании, тестируют юнит-экономику, проводят A/B-тестирования, занимаются ASO с выводом в ТОП. Все это, чтобы дать качественную обратную связь и вместе с вами найти возможности для роста. 😊
Если вам нужно решить какой-то вопрос с продвижением приложения - стучитесь в телеграм.
Сайт и услуги: https://holyunic.com/marketing-services
Контакты для прямого общения: @holyunicorn
Реклама. Булахова А.И. ИНН 781698869126. erid: LjN8KMqMM
Android
• Better Open With: диалог открытия файлов для Android
• Реализация Lazy Dependency Holder (Продвинутая ленивая инициализация зависимостей) для больших команд
• Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска
• Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?
• hunterfreas/handling-ui-events-in-jetpack-compose-a-clean-approach-c8fd1bfc6231">Handling UI Events in Jetpack Compose: A Clean Approach
• Performance Impact Analysis of Gradle 8.7 in Android Projects
• Build a Real-Time Zoom Clone with Jetpack Compose
• gregkorossy/animating-lazylist-items-in-jetpack-compose-6b40f94aaa1a">A preview of Animating LazyList items in Jetpack Compose
#android
"Временное решение" просуществовало в Windows уже 30 лет
Дэйв Пламмер, бывший разработчик Microsoft, рассказал интересную историю о том, как было создано окно форматирования диска много лет назад.
Мы переносили миллиард строк кода из пользовательского интерфейса Windows 95 на NT, и Format был одной из тех областей, где WindowsNT настолько отличалась от Windows95, что нам пришлось придумывать собственный пользовательский интерфейс. Я достал лист бумаги и записал все опции и варианты, которые можно было выбрать при форматировании диска: файловая система, метка, размер кластера, сжатие, шифрование и так далее. Затем я открыл VC++2.0 и с помощью редактора ресурсов создал простую вертикальную стопку всех вариантов, которые вам нужно было выбрать, в примерном порядке. Это не было элегантно, но до появления элегантного пользовательского интерфейса сойдет.
Это было около 30 лет назад, и этот диалог до сих пор воплощает мое временное решение того утра четверга. Так что будьте осторожны с проверкой «временных» решений!Читать полностью…
Android
• Инструментальные цепочки Gradle редко бывают хорошей идеей
• К чему с годами приводит работа с Dependency Injection и Service Locator
• Context receivers — новые extension functions
• Drawing a Football Ground with Jetpack Compose
• mahmoudnabil54321/starting-lineups-on-football-pitch-with-jetpack-compose-894f17ea8c0c">Starting Lineups on Football Pitch with Jetpack Compose
• How to build a custom design system with Jetpack compose
• Exploring Kotlin Coroutines Dispatchers: A Look at Dispatchers.Main.immediate
#android
WWDC 2024 пройдет с 10 по 14 июня
В Apple Park будет презентация для ограниченного круга участников, которая продлится целый день в понедельник, 10 июня. Вы сможете увидеть основной доклад и новые захватывающие программы, встретиться с экспертами Apple и принять участие в специальных мероприятиях. Регистрация доступна на сайте.
Для всех остальных будет онлайн-трансляция на сайте Apple и в YouTube.
Ожидается презентация iOS 18, iPadOS 18, visionOS 2, tvOS 18, macOS 15 и watchOS 11.
Android
• Вышел Android 15 Developer Preview 2
• AboutLibraries: сведения о зависимостях и лицензиях
• Разработка новостного приложения. Часть 4
• Мапим данные из domain в ui модуль в многомодульном проекте
• Retaining beyond ViewModels
• Create Instagram-like Long Press and Draggable Carousel Indicators in Jetpack Compose
• Random Musings on the Android 15 Developer Preview 2
• Gradle toolchains are rarely a good idea
• sandeepkella23/what-is-frida-why-every-android-developer-should-it-f8ec6368c019">What is FRIDA ? Why Every Android Developer should it?
#android
Евросоюз расследует несоблюдение Apple закона о Цифровых рынках
Комиссия начала расследование в отношении новой структуры сборов Apple для альтернативных магазинов приложений. Этот налог и другие условия Apple для альтернативных магазинов приложений и распространения приложений из Интернета могут противоречить целям и обязательствам DMA.
1. Если расследование подтвердит, что Apple не соблюдала антимонопольное законодательство, то производитель iPhone может быть оштрафован на сумму до 10% от своего мирового оборота — с увеличением до 20% за повторные нарушения.
2. Евросоюз объявил, что его не устраивают изменения, внесенные Apple, и в отношении компании начато расследование на предмет несоответствия требованиям.
3. Google и **** также находятся под расследованием в связи с их собственными реализациями DMA.
4. Расследование планируется завершить менее чем за год. По корпоративным меркам это молниеносно. Однако на этом дело не закончится. Если ЕС все-таки признает Apple не соответствующей требованиям, компания из Купертино подаст апелляцию, и тогда нас ждут буквально годы судебных баталий, пока дело будет продвигаться по судебной иерархии.
И что: похоже, европейские регуляторы нашли неиссякаемый источник дохода — штрафы американского бигтеха (С)
Привет! На связи Podlodka Crew, организатор онлайн IT-конференций по разным специализациям. Одна из них — мобильная разработка под Android. Пришли с подробностями нового сезона на тему «Оптимизация UI».
Мобильные разработчики недаром тратят на это много времени, хотя бизнес часто не понимает зачем. В этот раз мы решили выяснить, как сделать, чтоб процесс оптимизации не вызывал головной боли. Предлагаем рассмотреть тему со всех сторон: как добиваться выделения ресурсов, чем и как измерять UI, какие инструменты внедрять и что предпринимать, чтобы убедиться, что всё работает как надо.
Вместе с экспертами из топовых компаний научимся:
🟢 Продавать ценность UI бизнесу. Павел Королёв из Beeline Казахстан поделится кейсами о том, что даёт оптимизация UI работе приложения. Ведь бизнес часто не хочет выделять на это ресурсов и денег, а требует новых фич. Павел расскажет, как продвигать инициативу внутри компании и какими аргументами мотивировать коллег.
🟢 Находить регрессии производительности. Владимир Черезов из VK проведёт воркшоп по работе с Perfetto UI. Покажет, как делать отладку производительности и автоматизировать тестирование.
🟢 Справляться с заиканием интерфейса с помощью JankStats — инструмента мониторинга проблем производительности. Алексей Туркин из Dodo Engineering объяснит, как интегрировать этот tool, чтобы с его помощью решать ключевые проблемы приложения. Узнаем, как собирать ценные метрики с продуктивных сборок и связывать эти данные с системами аналитики.
🎁 Бонус: баттл экспертов. Обсудим аргументы, когда производительности пользовательского опыта необходимо уделять время, а когда это избыточно.
Это не все сессии сезона. Скоро раскроем ещё больше подробностей. А билеты уже можно забрать на сайте: https://podlodka.io/droidcrew
Для ранних пташек действует скидка. Поспеши!Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjdidaS5
Вышел Android 15 Developer Preview 2
Сегодня открывается вторая глава истории Android 15 - Google выпустил Android 15 Developer Preview 2.
• Добавлены некоторые элементы пользовательского интерфейса, чтобы обеспечить «согласованный пользовательский опыт» для устройств с поддержкой спутникового подключения.
• Добавлено свойство, которое разработчики могут использовать для отображения приложения или активити на маленьком экране-крышке телефона-раскладушки.
• DP2 позволяет приложениям определять, когда их записывают.
• PdfRenderer API получил множество улучшений. Сам PdfRenderer переведен в модуль Mainline.
• Обновлён стек NFC, добавлен новый «режим наблюдения».
• Предоставлен контроль над диапазоном HDR. Это позволяет приложениям решать, как найти баланс между SDR и HDR-контентом.
• Поддерживается стандарт CTA-2075, который помогает пользователям избежать несоответствия громкости звука и избавляет их от необходимости постоянно регулировать громкость при переключении контента.
• Расширен AutomaticZenRules API, который позволяет приложениям настраивать правила «Не беспокоить».
• В TextView добавлены элементы управления разрывом строки, чтобы приложения могли сохранять определенную часть текста в одной строке для улучшения читабельности.
• Сделан еще ряд улучшений.
Образ уже доступен для Pixel 6, 7 и 8.
Android
• Зачем в мобильной разработке использовать Flow, если есть мощный ChannelFlow?
• Kotlin's JDK release compatibility flag
• Build Wear OS application using Jetpack Compose
• Detecting Banker Malware Installed on Android Devices
• Optimizing CI/CD Processes with Selective Testing
#android