Дайджест недели
Пока Google фиксит баги с эмуляторами после релиза Android Studio Bumblebee, Apple блокирует аккаунты iOS-разработчиков с беларусской регистрацией и удаляет приложения из App Store.
Android
• Awesome Android Security
• Complete guide to LiveData and Flow: Answering — Why, Where, When, and Which
• Navigation in Jetpack Compose using ViewModel state
• Clean Architecture + MVVM
• Build Single Activity Apps With Jetpack Compose
• All about Proto DataStore
• Every Composable deserves a ViewModel
• Accessing App Usage History In Android
• Getting Started with ConstraintLayout in Jetpack Compose
• Firestore Pagination with Realtime Updates — Android
• Improving App Performance with Baseline Profiles
• Tracing main thread messages
• Android 12. Splash Screen API. Делаем анимированный экран загрузки
• VK Tech Talks · Android
iOS
• Microapps architecture in Swift. Resources and localization.
• Память в Swift (куча, стек, ARC)
• Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU
• 4,5 года из жизни iOS-команды в пяти историях и одном техрадаре
• 15 стран, 9 языков: трудности перевода одного iOS-приложения
• Web API Client in Swift
• @EnvironmentObject explained for sharing data between views in SwiftUI
• Tasks in Swift explained with code examples
• SortComparator and SortDenoscriptor
• Backgrounds and overlays in SwiftUI
• Xcode 13.3 Beta Release Notes
• Судебный комитет Сената США одобрил законопроект, позволяющий загружать приложения iOS не из App Store
• Apple блокирует аккаунты разработчиков с беларусской регистрацией
• Apple разрешила выкладывать приложение в App Store с доступом по ссылке
Кроссплатформа / Разработка
• Flutter vs Native: почему мы переходим с первого на второй
• Flutter теперь полноценно поддерживает разработку приложений для Windows
• Рекомендации по оптимизации кампаний для привлечения установок
• Настройка GitLab CI/CD (iOS / Android)
• High performance with idiomatic Kotlin
• Lucilla is an in-memory Full Text Search library for Kotlin
• Testing on Kotlin Multiplatform Mobile and a Strategy to Speed Up Development Time
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Пока Google фиксит баги с эмуляторами после релиза Android Studio Bumblebee, Apple блокирует аккаунты iOS-разработчиков с беларусской регистрацией и удаляет приложения из App Store.
Android
• Awesome Android Security
• Complete guide to LiveData and Flow: Answering — Why, Where, When, and Which
• Navigation in Jetpack Compose using ViewModel state
• Clean Architecture + MVVM
• Build Single Activity Apps With Jetpack Compose
• All about Proto DataStore
• Every Composable deserves a ViewModel
• Accessing App Usage History In Android
• Getting Started with ConstraintLayout in Jetpack Compose
• Firestore Pagination with Realtime Updates — Android
• Improving App Performance with Baseline Profiles
• Tracing main thread messages
• Android 12. Splash Screen API. Делаем анимированный экран загрузки
• VK Tech Talks · Android
iOS
• Microapps architecture in Swift. Resources and localization.
• Память в Swift (куча, стек, ARC)
• Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU
• 4,5 года из жизни iOS-команды в пяти историях и одном техрадаре
• 15 стран, 9 языков: трудности перевода одного iOS-приложения
• Web API Client in Swift
• @EnvironmentObject explained for sharing data between views in SwiftUI
• Tasks in Swift explained with code examples
• SortComparator and SortDenoscriptor
• Backgrounds and overlays in SwiftUI
• Xcode 13.3 Beta Release Notes
• Судебный комитет Сената США одобрил законопроект, позволяющий загружать приложения iOS не из App Store
• Apple блокирует аккаунты разработчиков с беларусской регистрацией
• Apple разрешила выкладывать приложение в App Store с доступом по ссылке
Кроссплатформа / Разработка
• Flutter vs Native: почему мы переходим с первого на второй
• Flutter теперь полноценно поддерживает разработку приложений для Windows
• Рекомендации по оптимизации кампаний для привлечения установок
• Настройка GitLab CI/CD (iOS / Android)
• High performance with idiomatic Kotlin
• Lucilla is an in-memory Full Text Search library for Kotlin
• Testing on Kotlin Multiplatform Mobile and a Strategy to Speed Up Development Time
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍9🔥2👏1
System Design Interview For Mobile Engineers
В последнее время очень много наблюдаю инфы про System Design, часто встречаются вопросы и на собесах. Тема сейчас довольно актуальная.
Вот неплохой список вопросов и тем, для собеседования по System Design в мобилках.
Читать (En)
В последнее время очень много наблюдаю инфы про System Design, часто встречаются вопросы и на собесах. Тема сейчас довольно актуальная.
Вот неплохой список вопросов и тем, для собеседования по System Design в мобилках.
Читать (En)
🔥12👍1
Android RecyclerView — Creating a Custom File Template
Пример того, как с помощью file template быстро создавать базовые файлы/классы. В статье рассматривается кейс с RecyclerView, но применить это можно где угодно.
Читать (En)
Пример того, как с помощью file template быстро создавать базовые файлы/классы. В статье рассматривается кейс с RecyclerView, но применить это можно где угодно.
Читать (En)
👍22🔥8😁1🤔1
Microapps architecture in Swift. Dependency Injection.
Новая часть из цикла "Microapps architecture in Swift", про внедрение зависимостей в фича модулях.
Читать (En)
Новая часть из цикла "Microapps architecture in Swift", про внедрение зависимостей в фича модулях.
Читать (En)
👍4
3 Android Techs That Are Sunsetting in 2022
Интересная статья, с несколькими технологиями, которые по мнению автора станут не актуальные в 2022 году и будут заменены.
Спойлерну про что там, но обязательно почитайте.
👉 Android View (Xml) -> Jetpack Compose
👉 LiveData -> StateFlow
👉 Activity Lifecycle APIs -> Lifecycle Aware Coroutine
Читать (En)
Интересная статья, с несколькими технологиями, которые по мнению автора станут не актуальные в 2022 году и будут заменены.
Спойлерну про что там, но обязательно почитайте.
👉 Android View (Xml) -> Jetpack Compose
👉 LiveData -> StateFlow
👉 Activity Lifecycle APIs -> Lifecycle Aware Coroutine
Читать (En)
🔥6👎1
Top iOS Fundamental Interview Questions and Answers
Несколько статей с вопросами/ответами для собесов iOS.
👉 Top iOS Fundamental Interview Questions and Answers
👉 iOS Interview Questions on Application States
Несколько статей с вопросами/ответами для собесов iOS.
👉 Top iOS Fundamental Interview Questions and Answers
👉 iOS Interview Questions on Application States
🔥15🤮2
Memory management when using async/await in Swift
Cтатья про особенности управления памятью при работе с async/await.
👉 Implicit captures
👉 Cancelling tasks
👉 Long-running observations
Читать (En)
Cтатья про особенности управления памятью при работе с async/await.
👉 Implicit captures
👉 Cancelling tasks
👉 Long-running observations
Читать (En)
👍6🔥2
Android Developer News
Вчера вышла первая Developer Preview версия Android 13. Первую бету обещают в апреле, а стабильный релиз где-нибудь к сентябрю. Подробности о сроках релизов тут. И наверное уже видели, вышел Jetpack Compose 1.1.
👉 The first developer preview of Android 13
👉 Jetpack Compose 1.1 is now stable
👉 Jetpack Compose Roadmap
Вчера вышла первая Developer Preview версия Android 13. Первую бету обещают в апреле, а стабильный релиз где-нибудь к сентябрю. Подробности о сроках релизов тут. И наверное уже видели, вышел Jetpack Compose 1.1.
👉 The first developer preview of Android 13
👉 Jetpack Compose 1.1 is now stable
👉 Jetpack Compose Roadmap
Android Modularization Preps: Things to know Before Modularizing Your App
А вот вам еще одна статейка на тему многомодульности.
👉 Разделение слоев и фичей
👉 Инкрементная сборка Gradle
👉 Циклические зависимости
👉 Динамические фичи
Читать (En)
А вот вам еще одна статейка на тему многомодульности.
👉 Разделение слоев и фичей
👉 Инкрементная сборка Gradle
👉 Циклические зависимости
👉 Динамические фичи
Читать (En)
👍11🔥5
Clean Architecture on iOS
Про архитектуру, как и про SOLID много не бывает 😁, поэтому ловите статейку, про чистую архитектуру в iOS. Там про основные принципы Clean Architecture, такие как тестируемость, разделение на слои т.д., про SOLID, про UI паттерны (MVC, MVVM, MVP, VIPER) и вот это вот всё.
Читать (En)
Про архитектуру, как и про SOLID много не бывает 😁, поэтому ловите статейку, про чистую архитектуру в iOS. Там про основные принципы Clean Architecture, такие как тестируемость, разделение на слои т.д., про SOLID, про UI паттерны (MVC, MVVM, MVP, VIPER) и вот это вот всё.
Читать (En)
🔥10👍5
Дайджест недели
Из интересного, на этой недели вышла первая Developer Preview версия Android 13 и вышел Jetpack Compose 1.1, а Apple показала интересную фичу Tap to Pay, которая позволит использовать iPhone в качестве платежного терминала через NFC.
Android
• Android RecyclerView — Creating a Custom File Template
• 3 Android Techs That Are Sunsetting in 2022
• The first developer preview of Android 13
• Jetpack Compose 1.1 is now stable
• Android 12L Beta 3
• Android Modularization Preps: Things to know Before Modularizing Your App
• Where should you store your secret keys in Android?
• Maps Compose
• JankStats Goes Alpha
• Authenticating on Android with the AppAuth Library
• How I hacked an Android app for a premium feature
• Как мы перешли с kotlinx.synthetics на Android View Binding
• How To Use Hilt to Setup a Solid Architecture in Android
iOS
• Microapps architecture in Swift. Dependency Injection.
• Top iOS Fundamental Interview Questions and Answers
• Memory management when using async/await in Swift
• When should you use Decimal instead of Double?
• Управление памятью в Swift
• Как устроен счетчик ссылок в Swift
• Clean Architecture on iOS
• Разбираем SceneDelegate и AppDelegate в iOS 13
• Идентификаторы элементов в XCUITest
• Xcode 13.3 Beta 2 Release Notes
• Почему я против enum
• Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта
• SwiftUI Live-Coding Surf: продолжение
Кроссплатформа / Разработка
• System Design Interview For Mobile Engineers
• Kotlin Multiplatform Mobile and how to share ViewModel: An architecture proposal
• Screen templates — using Compose, SwiftUI & KMM
• Flutter: Run code in the background
• Preview of Kotlin 1.6.20
• How to Code Push Notifications for React Native Apps
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Из интересного, на этой недели вышла первая Developer Preview версия Android 13 и вышел Jetpack Compose 1.1, а Apple показала интересную фичу Tap to Pay, которая позволит использовать iPhone в качестве платежного терминала через NFC.
Android
• Android RecyclerView — Creating a Custom File Template
• 3 Android Techs That Are Sunsetting in 2022
• The first developer preview of Android 13
• Jetpack Compose 1.1 is now stable
• Android 12L Beta 3
• Android Modularization Preps: Things to know Before Modularizing Your App
• Where should you store your secret keys in Android?
• Maps Compose
• JankStats Goes Alpha
• Authenticating on Android with the AppAuth Library
• How I hacked an Android app for a premium feature
• Как мы перешли с kotlinx.synthetics на Android View Binding
• How To Use Hilt to Setup a Solid Architecture in Android
iOS
• Microapps architecture in Swift. Dependency Injection.
• Top iOS Fundamental Interview Questions and Answers
• Memory management when using async/await in Swift
• When should you use Decimal instead of Double?
• Управление памятью в Swift
• Как устроен счетчик ссылок в Swift
• Clean Architecture on iOS
• Разбираем SceneDelegate и AppDelegate в iOS 13
• Идентификаторы элементов в XCUITest
• Xcode 13.3 Beta 2 Release Notes
• Почему я против enum
• Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта
• SwiftUI Live-Coding Surf: продолжение
Кроссплатформа / Разработка
• System Design Interview For Mobile Engineers
• Kotlin Multiplatform Mobile and how to share ViewModel: An architecture proposal
• Screen templates — using Compose, SwiftUI & KMM
• Flutter: Run code in the background
• Preview of Kotlin 1.6.20
• How to Code Push Notifications for React Native Apps
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍8🔥4
Android 13 deep dive: Every change, thoroughly documented
Если еще не успели ознакомиться со всеми изменениями в Android 13, вот вам статья с подробным описанием и скринами.
Читать (En)
Если еще не успели ознакомиться со всеми изменениями в Android 13, вот вам статья с подробным описанием и скринами.
Читать (En)
👍7
Error Handling with Combine and SwiftUI
Статья, в которой рассматривается обработка ошибок с помощью Combine и SwiftUI (Network Errors, HTTP status code, Server errors, Retry).
Читать (En)
Статья, в которой рассматривается обработка ошибок с помощью Combine и SwiftUI (Network Errors, HTTP status code, Server errors, Retry).
Читать (En)
👍6🔥3
Avoid Memory Leak Recommendations For Android Application
Рекомендации по предотвращению утечек памяти. Какие-то пункты могут быть очевидными, но освежить память не помешает.
Так же, напоминаю о существовании библиотеки LeakCanary и официальном гайде Profile memory usage.
Читать (En)
Рекомендации по предотвращению утечек памяти. Какие-то пункты могут быть очевидными, но освежить память не помешает.
Так же, напоминаю о существовании библиотеки LeakCanary и официальном гайде Profile memory usage.
Читать (En)
👍7🔥3
Jetpack DataStore series
Собрал все части цикла статей Jetpack DataStore series, по работе с DataStore.
👉 Introduction to Jetpack DataStore
👉 All about Preferences DataStore
👉 All about Proto DataStore
👉 DataStore and dependency injection
👉 DataStore and Kotlin serialization
👉 DataStore and synchronous work
👉 DataStore and data migration
👉 DataStore and testing
Собрал все части цикла статей Jetpack DataStore series, по работе с DataStore.
👉 Introduction to Jetpack DataStore
👉 All about Preferences DataStore
👉 All about Proto DataStore
👉 DataStore and dependency injection
👉 DataStore and Kotlin serialization
👉 DataStore and synchronous work
👉 DataStore and data migration
👉 DataStore and testing
🔥13👍2
У Appodeal вышло исследование о рекламной монетизации за 2021 год, в котором собраны наиболее доходные рекламные сети для издателей.
Cогласно этому исследованию, рекламная сеть Яндекса стала одной из самых прибыльных сетей Восточной Европы для мобильных приложений — в баннерах на Android суммарно заплатила владельцам приложений больше, чем другие рекламные сети. Надо принимать во внимание, что это самый популярный формат по доле показов.
Еще из интересных фактов:
• Самые высокие eCPM в баннерах на iOS
• Второе место в баннерах на iOS по объему выплаченного вознаграждения
• Второе место по объему выплаченного вознаграждения в Rewarded Videos & Interstitials на Android
Полный отчет тут: Performance index 2021 Edition
Cогласно этому исследованию, рекламная сеть Яндекса стала одной из самых прибыльных сетей Восточной Европы для мобильных приложений — в баннерах на Android суммарно заплатила владельцам приложений больше, чем другие рекламные сети. Надо принимать во внимание, что это самый популярный формат по доле показов.
Еще из интересных фактов:
• Самые высокие eCPM в баннерах на iOS
• Второе место в баннерах на iOS по объему выплаченного вознаграждения
• Второе место по объему выплаченного вознаграждения в Rewarded Videos & Interstitials на Android
Полный отчет тут: Performance index 2021 Edition
👍6❤1🔥1
The Complete Guide to Concurrency and Multithreading in iOS
Еще одна статья, про Concurrency and Multithreading в iOS.
👉 Main thread vs Background thread
👉 Async/await and Actor
👉 GCD vs OperationQueue
👉 DispatchGroup
Читать (En)
Еще одна статья, про Concurrency and Multithreading в iOS.
👉 Main thread vs Background thread
👉 Async/await and Actor
👉 GCD vs OperationQueue
👉 DispatchGroup
Читать (En)
👍6🔥3
Дайджест недели
Наткнулся на интересное исследование от Sensor Tower, которое показало, что в слово «метавселенная» в своё название или описании, добавили уже более 500 мобильных приложений. Как отметили аналитики, если в октябре, до объявления Meta, только 11 приложений заявили о причастности к созданию своих метавселенных, то уже в ноябре их число возросло до 29. В дальнейшем тренд продолжился — в декабре это слово добавили 30 приложений, а в январе — ещё 27. Исследование тут и статья на хабре.
А еще, kotlin synthetic плагин будет удален в конце этого года, с выходом Kotlin 1.8. Если еще не мигрировали, пора это сделать, гайд по миграции тут.
Android
• Android 13 deep dive: Every change, thoroughly documented
• Avoid Memory Leak Recommendations For Android Application
• Jetpack DataStore series
• Clean architecture in Android
• Implement Themed Icons (Android 13)
• Deep dive into Android build process
• JNI, часть 3: производительность Java/JNI/NDK
• Andromeda – open-source design language system implemented in Jetpack Compose
• Kotlin Coroutines Flow in a nutshell
• ComposeAnimations
• Write better tests with the new testing guidance
• Discontinuing Kotlin synthetics for views
• Android Worldwide January 2022
iOS
• Error Handling with Combine and SwiftUI
• Swift Concurrency (async/await)
• The Complete Guide to Concurrency and Multithreading in iOS
• Swift TableManager
• Adapter pattern in practice by swift
• Погружение в Combine: последовательные и объединяющие операторы для улучшения процесса разработки iOS приложений
• Why do we ever need to inherit from NSObject?
• A simple Coordinator Pattern for iOS App
• Mockable Networking layer in iOS
• Модуляризация доменного слоя в UDF. Часть II
• Modifier Monday: .trim(from:to:)
• Deep linking and URL scheme in iOS
• CocoaHeads Февраль 2022
Кроссплатформа / Разработка
• Исследование Appodeal Mobile In-App Ad Monetization Performance Index за 2021 год
• Custom shaped AppBar as seen in the “Bunny Search” app | Flutter
• Integration Testing in Flutter: Getting Started
• Dart, Flutter и кроссплатформа: небольшой разбор на практике
• Flutter App Architecture: The Domain Model
• Создаем и тестируем свой plugin для Gradle 7.0+
• Koin 3.2 Beta & Roadmap for 2022
• Developing Kotlin Multiplatform Mobile Apps using VIPER Architecture
• KDoctor – command-line tool that helps to set up the environment for KMM
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Наткнулся на интересное исследование от Sensor Tower, которое показало, что в слово «метавселенная» в своё название или описании, добавили уже более 500 мобильных приложений. Как отметили аналитики, если в октябре, до объявления Meta, только 11 приложений заявили о причастности к созданию своих метавселенных, то уже в ноябре их число возросло до 29. В дальнейшем тренд продолжился — в декабре это слово добавили 30 приложений, а в январе — ещё 27. Исследование тут и статья на хабре.
А еще, kotlin synthetic плагин будет удален в конце этого года, с выходом Kotlin 1.8. Если еще не мигрировали, пора это сделать, гайд по миграции тут.
Android
• Android 13 deep dive: Every change, thoroughly documented
• Avoid Memory Leak Recommendations For Android Application
• Jetpack DataStore series
• Clean architecture in Android
• Implement Themed Icons (Android 13)
• Deep dive into Android build process
• JNI, часть 3: производительность Java/JNI/NDK
• Andromeda – open-source design language system implemented in Jetpack Compose
• Kotlin Coroutines Flow in a nutshell
• ComposeAnimations
• Write better tests with the new testing guidance
• Discontinuing Kotlin synthetics for views
• Android Worldwide January 2022
iOS
• Error Handling with Combine and SwiftUI
• Swift Concurrency (async/await)
• The Complete Guide to Concurrency and Multithreading in iOS
• Swift TableManager
• Adapter pattern in practice by swift
• Погружение в Combine: последовательные и объединяющие операторы для улучшения процесса разработки iOS приложений
• Why do we ever need to inherit from NSObject?
• A simple Coordinator Pattern for iOS App
• Mockable Networking layer in iOS
• Модуляризация доменного слоя в UDF. Часть II
• Modifier Monday: .trim(from:to:)
• Deep linking and URL scheme in iOS
• CocoaHeads Февраль 2022
Кроссплатформа / Разработка
• Исследование Appodeal Mobile In-App Ad Monetization Performance Index за 2021 год
• Custom shaped AppBar as seen in the “Bunny Search” app | Flutter
• Integration Testing in Flutter: Getting Started
• Dart, Flutter и кроссплатформа: небольшой разбор на практике
• Flutter App Architecture: The Domain Model
• Создаем и тестируем свой plugin для Gradle 7.0+
• Koin 3.2 Beta & Roadmap for 2022
• Developing Kotlin Multiplatform Mobile Apps using VIPER Architecture
• KDoctor – command-line tool that helps to set up the environment for KMM
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍11🔥3
Mobile System Design Interviews Series
Серия достаточно крутых статей по System Design Interviews. В избранное ✅
👉 Simple Framework For Mobile System Design Interviews
👉 Additional Topics For Mobile System Design Interviews
👉 File Downloader Library
👉 Caching Library
👉 Image Library
👉 Chat Application
👉 Common Interview Mistakes
И для тех, кто пропустил, еще одна статейка : System Design Interview For Mobile Engineers
Серия достаточно крутых статей по System Design Interviews. В избранное ✅
👉 Simple Framework For Mobile System Design Interviews
👉 Additional Topics For Mobile System Design Interviews
👉 File Downloader Library
👉 Caching Library
👉 Image Library
👉 Chat Application
👉 Common Interview Mistakes
И для тех, кто пропустил, еще одна статейка : System Design Interview For Mobile Engineers
🔥11👍3