Дайджест недели



Решил запостить большой и мощный 💪 2-ух недельный дайджест сегодня, т.к. впереди майские праздники, хочется отдохнуть.



Из интересных новостей. Вышла первая бета Android 13, подробности тут. За 2021 Google заблокировала более 1 миллиона приложений, нарушающих политику. Apple снова начала удалять приложения из App Store, которые давно не обновлялись – на решение вопроса с обновлением, разработчикам дают 30 дней, в противном случае будут удалять.



Всех с наступающими праздниками!!! Увидимся на следующей неделе)



Android 🤖



• Clean Architecture: Android App

• Android Architecture Blueprints v2

• Kotlin Tips: Operators and Nullable Values

• Интеграция Huawei Mobile Services (HMS)

• Modeling Retrofit Responses With Sealed Classes and Coroutines

• How ViewModels survive configuration changes

• Отменяем операции правильно на примере корутин

• Keep Rules in the Age of Kotlin

• Нативные автотесты Android: Наш путь

• Slack-Gradle-Plugin

• Gradle for Beginners (Build Types, Product Flavors, Build Variants, Source Sets)

• Kotlin Sequences: Getting Started

• Object equality in Java and Kotlin

• Twitter going all in on Jetpack Compose for feature development: greater productivity, less bugs

• Measure and improve performance with Macrobenchmark

• To Compose, or Not to Compose, That is the Question

• Exploring Google Map Compose Library For Android

• Kotlin Coroutine (High-quality Course)

• Android code style using Spotless and Ktlint

• How to Format All Possible Errors From API Calls in Android With Clean Architecture



iOS
🍏



• Обзор решений для навигации в iOS

• Swift Heroes: The Extra. "ServerDriven SwiftUI. Managing declarative UI"

• Type placeholders in Swift

• The Golden Rules of weak self

• Transitions in SwiftUI

• Exploring SwiftUI Sample Apps

• [boringssl] Failed to log metrics

• SwiftUI Case Study: Data modelling of Brotherhood Alchemist

• Downloading and Caching images in SwiftUI

• The S in SOLID - Swift Edition

• Unit Testing and UI Testing in Swift

• Using new Swift Async Algorithms package to close the gap on Combine

• Building an Accessible Custom Tab Bar

• How to Use Generics in Swift

• Core Image Tutorial: Getting Started

• Use Dependency Injection to Unit Test a ViewModel in Swift

• Localization in iOS App using MapKit and CoreLocation

• Write Cleaner Swift Using MVVM With Property Wrappers

• Простой способ обнаружить retain cycle в UIViewController

• Top 7 Subtle Swift Features



Кроссплатформа / Разработка
💻



• MVC, MVP, MVI, MVVM and VIPER Design Patterns

• SwiftUI vs Jetpack Compose by an Android Engineer

• Clean Code — A practical approach

• Как мы в QIWI внедряли Kotlin Multiplatform Mobile Часть 2: Смотрим шире

• Стелем мягкую соломку на жёсткий Flutter: как подготовиться к первому проекту, чтобы не провалить его

• Better API calls in Flutter

• Kotlin Multiplatform Mobile — sharing the UI State management

• Как работает Backend-Driven UI на мобильном клиенте

• Practical Guide: Flutter + Firebase + FlutterFire CLI + CI (Codemagic)

• Top Flutter & Dart packages in 2022



Previous | Next



Предложить материал: @artemiygreg

Митапы и конференции: @meetup_today

Подписаться: @mobile_native

Чат: @mobile_native_chat