В этом выпуске работаем с SwiftUI на iOS 14, снова обсуждаем Google I/O 2024 и проводим скриншот-тестирование для превью Compose, оцениваем Flutter 3.22, пишем 2D-игры для кнопочных телефонов нулевых и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• SwiftUI на iOS 14: преодолевая баги и улучшая перформанс в 3 раза
• MVVM: архитектурный шаблон для структурирования представлений SwiftUI
• AVPlayer seek(to:… vs seek(…tolerance
• Apple обновляет Форумы для разработчиков
• Глубокие ссылки для локальных уведомлений в SwiftUI
• Новый App Store Transparency Report
• TOP 10 горячих клавиш для Xcodу
• Swift Plugins: ускоряем сборку проекта
• Объединяем Combine и Swift Concurrency
• MVVM: An architectural coding pattern to structure SwiftUI Views
• Quick guide on Combine essentials in Swift
• How to modularize Monolith iOS App
• Comparing CI/CD tools for iOS
• Unleashing the Power of Web3 and Blockchain in iOS
• Safely distribute new Machine Learning models to millions of iPhones over-the-air
• Reducing iOS Test execution time with Selective Testing
• Reducing the Size of Cash App for iOS
• SwiftUI TabView Offset Reader — Scrollable Tabs
• Meet mergeable libraries
• Fix failures faster with Xcode test reports
• Dive deeper into SwiftData
• CocoaHeadsNL Meetup: Adidas Apps Architecture/Managing our large iOS App
• 3 Advanced Tips to Code Like a Pro in Swift (from an ex-Apple engineer ?)
• Hacker Text Effect — SwiftUI
• Build your next website in Swift
• Unidoc — масштабируемый механизм документирования кода Swift
• Foil — правильная обертка для UserDefaults
• TimecodeKit — таймкоды SMPTE для Swift
Android
• Генеративный ИИ в Android и эффективность фоновой работы приложения — важное с Google I/O 2024
• Скриншот-тестирование для превью Compose
• Пишем plugin для Jetbrains IDE: отображение файлов вне проекта в Project Tool
• Как создать аудиоплеер. Часть 1. Что под капотом
• По обе стороны Android печати
• «Картинка в картинке» приходит на Google TV
• Google запускает новую функцию, чтобы вернуть пользователей к установленным приложениям
• Обсуждаем Google I/O 2024
• Взлом и защита Android-приложений
• Моментальный запуск: как VK Клипы работают с плейбэком видео на Android
• Kotlin 2.0 Release
• Kotlin 2.0 — Android project migration guide
• Why Calling a Composable from a Regular Function Isn’t Possible
• Design Social Media app like TikTok for Android
• Essential Android Design Patterns: MVVM, MVP, and More
• Need of ViewCompositionStrategy in Jetpack Compose
• What’s new in Kotlin 2.0.0
• Mastering Jetpack Compose Performance
• Something Worth Sharing — How to use Composables on Social Media
• Adaptive Compose Layouts
• The Complexities of Clean Architecture Use Cases
• Sustaining best performance with Android adaptability technology
• Advanced graphics features in mobile games with Vulkan
• 3 things to improve your Android App experience: Edge to Edge, Predictive Back, and Glance
• Make it faster — Android Developers Backstage
• How to Use the Google’s New Screenshot Testing Framework for Compose
• KotlinConf’24 — Keynote
• Ketch — загрузчик файлов на основе WorkManager
• ComposeLife — игра «Жизнь» на Jetpack Compose
Кроссплатформа
• Flutter 3.22 — наше мнение
• Победители Global Gamers Challenge
• Яндекс выпустил DivKit. Я – Nui
• Что Flutter 3.22 нам готовит?
• Сравнение архитектурных паттернов GetX и BLoC
• Упрощение тестирования с Approval Tests в Dart
• Qt 6.7.1 Released
• On-device Vector Database for Dart/Flutter
• Essential Libraries for Compose Multiplatform
• 5 extra packages to use with Flutter 3.22 in 2024
• How to Setup a Room DB for Kotlin Multiplatform Compose
Разработка
• Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых
• Создание продуктов — это безжалостный гринд
• Утечки памяти в мобильных приложениях: руководство для QA-инженеров
• Какие возможности клавиатур подглядеть у Tinder, YouTube и Revolut
• Мое решение 3-х проблем MVx
• Как мы спасаем жизни с помощью геймификации
• Пермишены (permissions) для тестировщика: зачем нужно, что такое и как с этим работать
• Новая жизнь или начало экзистенциального кризиса?
• Как я делаю build больших Android/iOS проектов со 128 GB памяти на старом Mac
• Fortran и COBOL снова вошли в Индекс TIOBE
• Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь!
• Проводим и проходим Mobile System Design-интервью
• Стоит ли сегодня идти в айти?
• Как сделать приложение на базе ChatGPT
• Writing commit messages
• How Amazon built a high-performant, durable, & consistent in-memory database
• Test-Driven Development (TDD) is Not the Solution
• Hidden vs. Disabled In UX
• Things You Should Never Do As A Software Engineer
• How I failed at Test-Driven Development and what it took to get it right
Аналитика, маркетинг и монетизация
• Максимальную стоимость покупки в Google Play подняли до $1000
• Praktika использует ИИ-аватаров для более естественного изучения языков
• Multicast Games: как удержаться на высоте в геймдеве (и как на это влияет мобильная аналитика)
• Raya, приложение знакомств для знаменитостей, зарабатывает $100 млн
• Эмуляторы ненадолго захватили App Store и быстро сошли на нет
• Web-To-Web User Acquisition Guide 2024
AI, Устройства, IoT
• Большие языковые модели гораздо линейнее, чем мы думали
• Как устроен рекомендательный сервис, который выдерживает 700 тысяч запросов в секунду. Доклад Яндекса
• Резервный мониторинг послушного дома
• Daylight DC1 — попытка создать спокойный компьютер
• Copilot получает Extensions
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• SwiftUI на iOS 14: преодолевая баги и улучшая перформанс в 3 раза
• MVVM: архитектурный шаблон для структурирования представлений SwiftUI
• AVPlayer seek(to:… vs seek(…tolerance
• Apple обновляет Форумы для разработчиков
• Глубокие ссылки для локальных уведомлений в SwiftUI
• Новый App Store Transparency Report
• TOP 10 горячих клавиш для Xcodу
• Swift Plugins: ускоряем сборку проекта
• Объединяем Combine и Swift Concurrency
• MVVM: An architectural coding pattern to structure SwiftUI Views
• Quick guide on Combine essentials in Swift
• How to modularize Monolith iOS App
• Comparing CI/CD tools for iOS
• Unleashing the Power of Web3 and Blockchain in iOS
• Safely distribute new Machine Learning models to millions of iPhones over-the-air
• Reducing iOS Test execution time with Selective Testing
• Reducing the Size of Cash App for iOS
• SwiftUI TabView Offset Reader — Scrollable Tabs
• Meet mergeable libraries
• Fix failures faster with Xcode test reports
• Dive deeper into SwiftData
• CocoaHeadsNL Meetup: Adidas Apps Architecture/Managing our large iOS App
• 3 Advanced Tips to Code Like a Pro in Swift (from an ex-Apple engineer ?)
• Hacker Text Effect — SwiftUI
• Build your next website in Swift
• Unidoc — масштабируемый механизм документирования кода Swift
• Foil — правильная обертка для UserDefaults
• TimecodeKit — таймкоды SMPTE для Swift
Android
• Генеративный ИИ в Android и эффективность фоновой работы приложения — важное с Google I/O 2024
• Скриншот-тестирование для превью Compose
• Пишем plugin для Jetbrains IDE: отображение файлов вне проекта в Project Tool
• Как создать аудиоплеер. Часть 1. Что под капотом
• По обе стороны Android печати
• «Картинка в картинке» приходит на Google TV
• Google запускает новую функцию, чтобы вернуть пользователей к установленным приложениям
• Обсуждаем Google I/O 2024
• Взлом и защита Android-приложений
• Моментальный запуск: как VK Клипы работают с плейбэком видео на Android
• Kotlin 2.0 Release
• Kotlin 2.0 — Android project migration guide
• Why Calling a Composable from a Regular Function Isn’t Possible
• Design Social Media app like TikTok for Android
• Essential Android Design Patterns: MVVM, MVP, and More
• Need of ViewCompositionStrategy in Jetpack Compose
• What’s new in Kotlin 2.0.0
• Mastering Jetpack Compose Performance
• Something Worth Sharing — How to use Composables on Social Media
• Adaptive Compose Layouts
• The Complexities of Clean Architecture Use Cases
• Sustaining best performance with Android adaptability technology
• Advanced graphics features in mobile games with Vulkan
• 3 things to improve your Android App experience: Edge to Edge, Predictive Back, and Glance
• Make it faster — Android Developers Backstage
• How to Use the Google’s New Screenshot Testing Framework for Compose
• KotlinConf’24 — Keynote
• Ketch — загрузчик файлов на основе WorkManager
• ComposeLife — игра «Жизнь» на Jetpack Compose
Кроссплатформа
• Flutter 3.22 — наше мнение
• Победители Global Gamers Challenge
• Яндекс выпустил DivKit. Я – Nui
• Что Flutter 3.22 нам готовит?
• Сравнение архитектурных паттернов GetX и BLoC
• Упрощение тестирования с Approval Tests в Dart
• Qt 6.7.1 Released
• On-device Vector Database for Dart/Flutter
• Essential Libraries for Compose Multiplatform
• 5 extra packages to use with Flutter 3.22 in 2024
• How to Setup a Room DB for Kotlin Multiplatform Compose
Разработка
• Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых
• Создание продуктов — это безжалостный гринд
• Утечки памяти в мобильных приложениях: руководство для QA-инженеров
• Какие возможности клавиатур подглядеть у Tinder, YouTube и Revolut
• Мое решение 3-х проблем MVx
• Как мы спасаем жизни с помощью геймификации
• Пермишены (permissions) для тестировщика: зачем нужно, что такое и как с этим работать
• Новая жизнь или начало экзистенциального кризиса?
• Как я делаю build больших Android/iOS проектов со 128 GB памяти на старом Mac
• Fortran и COBOL снова вошли в Индекс TIOBE
• Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь!
• Проводим и проходим Mobile System Design-интервью
• Стоит ли сегодня идти в айти?
• Как сделать приложение на базе ChatGPT
• Writing commit messages
• How Amazon built a high-performant, durable, & consistent in-memory database
• Test-Driven Development (TDD) is Not the Solution
• Hidden vs. Disabled In UX
• Things You Should Never Do As A Software Engineer
• How I failed at Test-Driven Development and what it took to get it right
Аналитика, маркетинг и монетизация
• Максимальную стоимость покупки в Google Play подняли до $1000
• Praktika использует ИИ-аватаров для более естественного изучения языков
• Multicast Games: как удержаться на высоте в геймдеве (и как на это влияет мобильная аналитика)
• Raya, приложение знакомств для знаменитостей, зарабатывает $100 млн
• Эмуляторы ненадолго захватили App Store и быстро сошли на нет
• Web-To-Web User Acquisition Guide 2024
AI, Устройства, IoT
• Большие языковые модели гораздо линейнее, чем мы думали
• Как устроен рекомендательный сервис, который выдерживает 700 тысяч запросов в секунду. Доклад Яндекса
• Резервный мониторинг послушного дома
• Daylight DC1 — попытка создать спокойный компьютер
• Copilot получает Extensions
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.