В этом дайджесте сторонние загрузки в iOS и ускорение дебага на Android, схемы кампусов и неочевидные палки в колеса, свои “Герои”, артефакты пришельцев в вашем коде, руководство для начинающих по автономным агентам и многое другое.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
iOS
• Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи
• Coffee&Code #4: Анастасия Улитина (Amazon Prime Video)
• SKAdNetwork 4.0 для приложений с подписками
• Пользователи iOS смогут менять оплату подписки прямо из приложений
• Apple готовит множество приложений для AR/VR-гарнитуры
• iOS 17, как сообщается, создаст условия для сторонней загрузки приложений
• An Autopsy of SKEmitterNode (With a Conversion to SwiftUI)
• The “some” keyword in Swift
• Understanding the Role of Expressions in Swift Programming
• Understanding unstructured and detached tasks in Swift
• Apple’s Hello animation
• Don’t Destroy Swift’s Performance with These mistakes
• Implement Your First Swift Package Build Plugin
• Cryptography in iOS Applications: Techniques and Code Examples
• Deeplink URL handling in SwiftUI
• Preparing My App for Swift 6
• Handling Network calls in Swift with Moya
• How the relative size modifier interacts with stack views
• Presenting Expandable Text Fields In SwiftUI
• Recreate Adobe AfterEffects With SFX Using SwiftUI
• ImageRenderer in SwiftUI
• 2,000 Imports: Organizing My Apps’ SwiftPM Modules
• How Senior iOS Engineers Style Code: Performance And Clarity
• How I would solve the Facebook iOS App Design Interview
• HealthGPT: запросы на естественном языке к Apple Health
• Mockingbird: фреймворк мокирования для Swift и Objective-C
Android
• Ускоряем дебаг в разы. Зачем и как использовать брейкпоинты
• Собеседование Middle Android разработчика
• Схема кампуса в Android приложении
• Запускаем Android Emulator на процессорах AMD под управлением Windows 10/11 Home
• Пишем Android-приложение с ChatGPT
• Ultron — самый простой фреймворк для разработки UI тестов Android
• CustomView Android. Кольцевая диаграмма для отображения статистики
• Написали UI для чата поддержки с помощью Jetpack Compose: как это было
• Берём Glance Widgets под контроль
• Что нового в Android и куда нас приведут нейронки
• Google Play будет автоматически предлагать обновить сбоящие приложения
• Android 13 вдвое увеличил распространение с января
• Главный доклад KotlinConf 2023
• Random Musings on the Android 14 Developer Beta 1
• Drawing edge to edge in Jetpack Compose
• Synking all the things with CRDTs: Local first development
• Bump version code for Android apps using GitHub Actions
• Hey Google, It’s Your Bug!
• Create your own Gradle Tasks and Plugins in less than 10 minutes
• 3 Common Ways To Retry Network Requests Automatically in Android
• 10 Useful Kotlin Extension Functions for Simplifying Your Code
• Sharesheet custom actions — Android14
• Android modularization from MVP to Enterprise
• Improvements and Changes to Compose’s Pointer Input
• An Android Studio Template Project for Your Android Apps
• Improvements and Changes to Compose’s Pointer Input
• Level Up your Bottom Navigation with Lottie Animations
• Bazel: The Revolutionary Build System for Android App Development
• Supercharge your (Android) terminal experience
• State Flow and Shared Flow in Kotlin
• The Shape of Things to Come
• Ultron: простое UI-тестирование для Android
• Redukks: Redux/Uniflow для Kotlin Multiplatform
Кроссплатформа
• Почему так удобно использовать паттерн MVI в KMM
• Как мы стриминг пилили, или 5 неочевидных палок в колеса от Flutter
• Почему вам стоит использовать Unity Simulator при разработке под мобильные платформы
• Создаем клон Instagram при помощи Flutter и Feeds. Часть 2
• Google’s Recommended Flutter App State Management
• React Native’s New Architecture: A New Era of Performance
• Records & Patterns — Dart | Flutter ?
• Redukks: Redux/Uniflow для Kotlin Multiplatform
• Can React Native Close the Performance Gap? A Dive into C++ Turbo Native Modules
• How to Use Mixin to Create Reusable Multi Selection Logic
• Understanding KMM: Beginners guide
• Visual Studio Code Extensions to Improve Your Flutter App Development
Разработка
• О, «Герои»? Дайте две! Как я писал очередной браузерный клон легендарной стратегии, в который уже почти* можно играть
• Как Slack отправляет миллионы сообщений в режиме реального времени
• GraphQL: от восторга до разочарования
• Требования к графическим интерфейсам: одна памятка ответит на все ваши вопросы
• Intern Meetup Week. Mobile
• $45 млн в Серии А: Ditto — база данных для мобильных, веб, IoT и серверных приложений
• $53 млн в Серии D: Odeko — платформа для кофеен
• Секрет идеально сбалансированных пустых пространств
• Артефакты пришельцев
• Apache EventMesh стал проектом верхнего уровня
• When Can I Call Myself a Senior Developer?
• Mastering the Amazon Interview: A Comprehensive Guide to Amazon’s 16 Leadership Principles
• Protecting Your API from App Impersonation: Token Hijacking Guide and Mitigation of JWT Theft
• Onboarding: 10 Tips for Designing the Great UX
• I asked this system design question to 3 guys during a developer interview and none of them gave the answer
• Software Architecture Is For Suckers
• Firebase Firestore — List of Essential Security Rules
• Cheetah: ИИ-помощник в прохождении интервью
Аналитика, маркетинг и монетизация
• Sega покупает Rovio
• В RuStore появилась авторизация через Tinkoff ID и мгновенная оплата с Tinkoff Pay
• Google предложит альтернативные системы оплаты в Великобритании
• Marvel Move — фитнес с супергероями
• BeReal продолжает расти
• Самые скачиваемые приложения в марте 2023
AI, Устройства, IoT
• Полное руководство для начинающих по автономным агентам
• ChatGPT — лучший помощник программиста. Примеры реальных задач. Плагины и инструменты
• Осваивают ли LLM модели мира, или лишь поверхностную статистику?
• Как мы перепридумали сценарии умного дома для Zigbee-устройств
• Ещё один Хаброметр
• Kandinsky создаёт игры
• Кормушка для собак с интеграцией Bitcoin и Lightning Network
• Потоковый проект в режиме реального времени с использованием данных смартфона
• Новые устройства Яндекса для умного дома
• List of Open Sourced Fine-Tuned Large Language Models (LLM)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
iOS
• Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи
• Coffee&Code #4: Анастасия Улитина (Amazon Prime Video)
• SKAdNetwork 4.0 для приложений с подписками
• Пользователи iOS смогут менять оплату подписки прямо из приложений
• Apple готовит множество приложений для AR/VR-гарнитуры
• iOS 17, как сообщается, создаст условия для сторонней загрузки приложений
Марк Гурман из Блумберг докладывает, что в iOS 17, которую скоро презентуют на WWDC, сделают решение для сторонней загрузки приложений. Как и когда это начнет работать неизвестно (а может и вообще не начнет), но в Европе в 2024 вступает в силу Закон о цифровых рынках, так что, видимо, это крайний срок для реализации задуманного.• Цикломатическая сложность в Swift
• An Autopsy of SKEmitterNode (With a Conversion to SwiftUI)
• The “some” keyword in Swift
• Understanding the Role of Expressions in Swift Programming
• Understanding unstructured and detached tasks in Swift
• Apple’s Hello animation
• Don’t Destroy Swift’s Performance with These mistakes
• Implement Your First Swift Package Build Plugin
• Cryptography in iOS Applications: Techniques and Code Examples
• Deeplink URL handling in SwiftUI
• Preparing My App for Swift 6
• Handling Network calls in Swift with Moya
• How the relative size modifier interacts with stack views
• Presenting Expandable Text Fields In SwiftUI
• Recreate Adobe AfterEffects With SFX Using SwiftUI
• ImageRenderer in SwiftUI
• 2,000 Imports: Organizing My Apps’ SwiftPM Modules
• How Senior iOS Engineers Style Code: Performance And Clarity
• How I would solve the Facebook iOS App Design Interview
• HealthGPT: запросы на естественном языке к Apple Health
• Mockingbird: фреймворк мокирования для Swift и Objective-C
Android
• Ускоряем дебаг в разы. Зачем и как использовать брейкпоинты
• Собеседование Middle Android разработчика
• Схема кампуса в Android приложении
• Запускаем Android Emulator на процессорах AMD под управлением Windows 10/11 Home
• Пишем Android-приложение с ChatGPT
• Ultron — самый простой фреймворк для разработки UI тестов Android
• CustomView Android. Кольцевая диаграмма для отображения статистики
• Написали UI для чата поддержки с помощью Jetpack Compose: как это было
• Берём Glance Widgets под контроль
• Что нового в Android и куда нас приведут нейронки
• Google Play будет автоматически предлагать обновить сбоящие приложения
• Android 13 вдвое увеличил распространение с января
• Главный доклад KotlinConf 2023
• Random Musings on the Android 14 Developer Beta 1
• Drawing edge to edge in Jetpack Compose
• Synking all the things with CRDTs: Local first development
• Bump version code for Android apps using GitHub Actions
• Hey Google, It’s Your Bug!
• Create your own Gradle Tasks and Plugins in less than 10 minutes
• 3 Common Ways To Retry Network Requests Automatically in Android
• 10 Useful Kotlin Extension Functions for Simplifying Your Code
• Sharesheet custom actions — Android14
• Android modularization from MVP to Enterprise
• Improvements and Changes to Compose’s Pointer Input
• An Android Studio Template Project for Your Android Apps
• Improvements and Changes to Compose’s Pointer Input
• Level Up your Bottom Navigation with Lottie Animations
• Bazel: The Revolutionary Build System for Android App Development
• Supercharge your (Android) terminal experience
• State Flow and Shared Flow in Kotlin
• The Shape of Things to Come
• Ultron: простое UI-тестирование для Android
• Redukks: Redux/Uniflow для Kotlin Multiplatform
Кроссплатформа
• Почему так удобно использовать паттерн MVI в KMM
• Как мы стриминг пилили, или 5 неочевидных палок в колеса от Flutter
• Почему вам стоит использовать Unity Simulator при разработке под мобильные платформы
• Создаем клон Instagram при помощи Flutter и Feeds. Часть 2
• Google’s Recommended Flutter App State Management
• React Native’s New Architecture: A New Era of Performance
• Records & Patterns — Dart | Flutter ?
• Redukks: Redux/Uniflow для Kotlin Multiplatform
• Can React Native Close the Performance Gap? A Dive into C++ Turbo Native Modules
• How to Use Mixin to Create Reusable Multi Selection Logic
• Understanding KMM: Beginners guide
• Visual Studio Code Extensions to Improve Your Flutter App Development
Разработка
• О, «Герои»? Дайте две! Как я писал очередной браузерный клон легендарной стратегии, в который уже почти* можно играть
• Как Slack отправляет миллионы сообщений в режиме реального времени
• GraphQL: от восторга до разочарования
• Требования к графическим интерфейсам: одна памятка ответит на все ваши вопросы
• Intern Meetup Week. Mobile
• $45 млн в Серии А: Ditto — база данных для мобильных, веб, IoT и серверных приложений
• $53 млн в Серии D: Odeko — платформа для кофеен
• Секрет идеально сбалансированных пустых пространств
• Артефакты пришельцев
• Apache EventMesh стал проектом верхнего уровня
• When Can I Call Myself a Senior Developer?
• Mastering the Amazon Interview: A Comprehensive Guide to Amazon’s 16 Leadership Principles
• Protecting Your API from App Impersonation: Token Hijacking Guide and Mitigation of JWT Theft
• Onboarding: 10 Tips for Designing the Great UX
• I asked this system design question to 3 guys during a developer interview and none of them gave the answer
• Software Architecture Is For Suckers
• Firebase Firestore — List of Essential Security Rules
• Cheetah: ИИ-помощник в прохождении интервью
Аналитика, маркетинг и монетизация
• Sega покупает Rovio
Про покупку Rovio не могу не процитировать Александра Горного: «Есть популярная история с бизнес-тренингов: Angry Birds это сорок-какая-то игра из тех, что делали Rovio. Все провалились, одна взлетела. И вывод – нет везения, есть работа, пробуйте-пробуйте-пробуйте, и у вас обязательно получится мегахит. Сейчас, после продажи студии, подумалось, что у истории вышло продолжение. Вот они уже десять с лишним лет после первого успеха пытаются выпустить второй хит. Ресурсов стало непредставимо больше, попыток наверняка было больше сорока. Результат – ноль. Не работает работа, нужно везение». И что: ничего не работает ☹️• Airbnb: 5 продуктовых уроков о том, как вводить новые функции
• В RuStore появилась авторизация через Tinkoff ID и мгновенная оплата с Tinkoff Pay
• Google предложит альтернативные системы оплаты в Великобритании
• Marvel Move — фитнес с супергероями
И что: еще пример Zombies, Run! показал, как интересно можно дополнить любое занятие нарративом. А как ваш продукт можно улучшить рассказами о зомби? А если зомби заменить супергероями, то можно сразу х2 к цене ставить.• Winamp возвращается с новыми приложениями
• BeReal продолжает расти
• Самые скачиваемые приложения в марте 2023
AI, Устройства, IoT
• Полное руководство для начинающих по автономным агентам
• ChatGPT — лучший помощник программиста. Примеры реальных задач. Плагины и инструменты
• Осваивают ли LLM модели мира, или лишь поверхностную статистику?
• Как мы перепридумали сценарии умного дома для Zigbee-устройств
• Ещё один Хаброметр
• Kandinsky создаёт игры
• Кормушка для собак с интеграцией Bitcoin и Lightning Network
• Потоковый проект в режиме реального времени с использованием данных смартфона
• Новые устройства Яндекса для умного дома
• List of Open Sourced Fine-Tuned Large Language Models (LLM)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.