Наш небольшой, но очень интересный дайджест за четыре дня — искрящиеся и переливающиеся кнопки с помощью Metal и SwiftUI, суперкастомизированное Android-приложение в 2024 году, антитренды в мобильной разработке на Flutter, почему спринты отнимают радость от создания программного обеспечения и многое другое. Подключайтесь!
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
![](https://habrastorage.org/webt/5r/3w/d4/5r3wd4d9tm84d8g5cep1n1scyvo.png)
iOS
• Искрящаяся переливающаяся кнопка с помощью Metal и SwiftUI
• App Intents: новые возможности для разработчиков в iOS 18
• Как использовать URLSession с Async/Await для сетевых запросов в Swift
• Управление памятью в ассемблере для Apple Silicon
• История одного модального окна или переходим с UIKit на SwiftUI. Часть 3. ProgressView vs SkeletonView
• SDK и BDUI в Яндекс Пэй и Яндекс Банке
• Xcode становится все хуже и хуже — Обсуждение на Reddit
• Apple грозит штраф за нарушение DMA
•
Introducing Swift Testing. Traits.
•
Getting started with LiteRT (Tensorflow Lite)
•
SwiftUI Self-Sizing Flow Layouts
•
New in SwiftUI: the macro @Entry
•
Automatic Dependency Injection (DI) for your Swift application to make your code clean
•
Swift Format in Xcode
•
Prevent screenshot capture of sensitive SwiftUI views
•
Master Xcode 16: Essential Navigation Shortcuts for Faster Coding
•
Custom TextField Menu Actions
•
Optional View Modifiers
•
LNPopupUI — View как попапы
•
Ultraviolence — декларативный Metal
Android
• Как я писал суперкастомизированное Android-приложение в 2024 году
• Лучшая работа с Android Studio: 5 советов
• Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов
• Поющий молится дважды или пишем приложение в помощь хористу
• Диалог — часть навигации или нет?
• Красота системы типов Kotlin
• Обзор решений описания и обновления state экрана в Сompose
• Apex Architecture: Модульность и стабильность в Android-разработке
• Сравнение операторов RxJava 3 и Kotlin Coroutines Flow
• 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!
•
Compose Navigation The Old Way
•
Widgets with Glance: Blending in
•
Parameterized Android Tests with Burst 2.0
•
Picasso is formally deprecated
•
Kotlin Tips: Keep Your Code Clean
•
Kotlin Under the Hood: Exploring Objects, Companion Objects, and Annotations
•
Top 10 Coroutine Mistakes We All Have Made as Android Developers
•
Subtyping Composables
•
Now in Android: 111 — Android API level and schedule updates, Gemini in Android Studio, Google Play
•
Subtyping Composables
•
How Compose Compiler Plugin Works
•
Talaiot — отслеживания времени выполнения задач в Gradle
Кроссплатформа
• Антитренды в мобильной разработке на Flutter
• Flutter Web. Часть 2
•
We’ve just finished migrating the Shopify mobile app to React Native
•
Getting Started with Koin Annotations 1.4 in Compose Multiplatform
•
How to add multiple Flutter modules to native projects?
•
Unpacking Compose Multiplatform Accessibility
•
FilmSimulator — фильтры для изображений на KMM
Разработка
• Почему спринты отнимают радость от создания программного обеспечения
• Как инженеру техподдержки трансформироваться в мобильного разработчика
• Telegram web apps как альтернатива мобильным приложениям
• Surf QA Meetup: доклады о моках в автотестах, человеческом факторе QA и работе Device Holder
• ОС Аврора 5 глазами мобильного разработчика. Разработка и функциональность
• Мобильная ферма: тесты мобильных приложений без телефона и эмулятора
• AIOps — grafana, observability, aiops, ai
•
If you need the money, don’t take the job
•
How to Say No
•
Power Up Your Brain with Mental Models
•
Seeing Like a Programmer
Аналитика, маркетинг и монетизация
• Пока все спят: звуки мошенничества
• ИИ соберет главное из отзывов на приложения в RuStore
AI, Устройства, IoT
• KAN: Kolmogorov–Arnold Networks
• Оценка токопотребления батарейных радиоканальных устройств
• SIP для Интернета вещей: почему устройствам нужны голосовые возможности
• Квантизация позволяет запускать Llama 3.2 на мобилках
• Обзор Apple Mac Mini M4: маленькое чудо
• Mistral запустил новый API для модерации контента
• Google запускает курс по генеративному ИИ
•
Build and Deploy a RAG Chatbot
•
AI Foundations Course – Python, Machine Learning, Deep Learning, Data Science
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
![](https://habrastorage.org/webt/5r/3w/d4/5r3wd4d9tm84d8g5cep1n1scyvo.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Искрящаяся переливающаяся кнопка с помощью Metal и SwiftUI
• App Intents: новые возможности для разработчиков в iOS 18
• Как использовать URLSession с Async/Await для сетевых запросов в Swift
• Управление памятью в ассемблере для Apple Silicon
• История одного модального окна или переходим с UIKit на SwiftUI. Часть 3. ProgressView vs SkeletonView
• SDK и BDUI в Яндекс Пэй и Яндекс Банке
• Xcode становится все хуже и хуже — Обсуждение на Reddit
• Apple грозит штраф за нарушение DMA
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Как я писал суперкастомизированное Android-приложение в 2024 году
• Лучшая работа с Android Studio: 5 советов
• Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов
• Поющий молится дважды или пишем приложение в помощь хористу
• Диалог — часть навигации или нет?
• Красота системы типов Kotlin
• Обзор решений описания и обновления state экрана в Сompose
• Apex Architecture: Модульность и стабильность в Android-разработке
• Сравнение операторов RxJava 3 и Kotlin Coroutines Flow
• 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Антитренды в мобильной разработке на Flutter
• Flutter Web. Часть 2
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Почему спринты отнимают радость от создания программного обеспечения
• Как инженеру техподдержки трансформироваться в мобильного разработчика
• Telegram web apps как альтернатива мобильным приложениям
• Surf QA Meetup: доклады о моках в автотестах, человеческом факторе QA и работе Device Holder
• ОС Аврора 5 глазами мобильного разработчика. Разработка и функциональность
• Мобильная ферма: тесты мобильных приложений без телефона и эмулятора
• AIOps — grafana, observability, aiops, ai
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Пока все спят: звуки мошенничества
• ИИ соберет главное из отзывов на приложения в RuStore
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• KAN: Kolmogorov–Arnold Networks
• Оценка токопотребления батарейных радиоканальных устройств
• SIP для Интернета вещей: почему устройствам нужны голосовые возможности
• Квантизация позволяет запускать Llama 3.2 на мобилках
• Обзор Apple Mac Mini M4: маленькое чудо
• Mistral запустил новый API для модерации контента
• Google запускает курс по генеративному ИИ
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
•
![](https://habrastorage.org/webt/gt/u1/ia/gtu1iaz0-ajkbqpeq8n6dmql4zq.png)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.