Дайджест
Как вы могли заметить, в воскресенье дайджест снова не вышел, поэтому компенсирую, вашему вниманию большой и мощный 2-ух недельный дайджест 🔥
По новостям: Apple Pay отрубили карты МИР, Google объявила о запуске пилотной программы по использованию приложениями сторонних вариантов оплаты, Google I/O 2022 пройдет 11-12 мая онлайн.
Отвалилась подписка на Medium, если вдруг кто-то знает рабочие способы оплаты из РФ – напишите плиз в личку.
Android 🤖
• Гайд по архитектуре приложений для Android
• Jetpack Compose под капотом: Рекомпозиция и Стабильные типы
• Reducing Gradle boilerplate in multi-module Android projects
• Step by Step Guide to Download Files With WorkManager
• RxJava: простыми словами о сложном
• Охота на toggle: Как простую фичу сделать максимально сложно
• Dependency Injection with HILT in Android
• Play Time with Jetpack Compose
• Gradle Plugins: Why? How?
• Gradle all the way down: Testing your Gradle plugin with Gradle TestKit
• Configuring Scheduled Notifications in Android
• Flippable (Jetpack Compose utility library)
• Memory Leaks in Reactive Android Programming
• The simplest way to create Creational design patterns in Kotlin
• Best Kotlin features that I value most as Java Developer
• How to build a beautiful multiple view RecyclerView app — The right way
• Android 13, 13 лучших функций в новых обновлениях
• 10 Jetpack Compose Projects To Inspire You
• Jetpack DataStore - wrap up
• Android Studio Dolphin Canary 6 now available
• Using performance class to optimize your user experience
iOS 🍏
• Optimization in Swift
• Clean Architecture in SwiftUI 5.5
• The Best Way to Organise iOS Project Architectures
• Как я занял третье место в конкурсе Telegram и выиграл $ 2 000
• Как я визуализировал граф билда. Build Graph for Xcode
• Abstract types and methods in Swift
• Swift 5.6 Released
• Browser Note and the process of building an iOS 15 Safari Extension
• How to modularize existing iOS projects using Swift Package
• How to use the #available attribute in Swift
• Safer and cleaner UserDefaults and AppStorage
• FormatStyle Deep Dive
• Creating a SwiftUI Looping Background Video
• Improved Type Safety With SwiftGen
• Scalable Modular Architecture in iOS
• AxisTabView for SwiftUI
• Getting Accurate Profiling Data from iOS Applications
• Introducing Swift Async Algorithms
• Fixing SwiftUI's Automatic Preview Updating Paused
• Как варить дизайн-систему для живого приложения
• Swift Coding Standards Using Loops
Кроссплатформа / Разработка 💻
• OAuth в мобильных приложениях
• Java: продвинутая конкурентность
• Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция
• Regular Expressions in Kotlin
• Актуализация данных в списках Flutter-приложения
• Kotlin Tips: Loops
• Combining noscripts and DSLs is Kotlin’s most underrated feature
• Sliver во Flutter, или как работает скролл
• Top companies using Flutter in 2022
• Flutter App Architecture with Riverpod: An Introduction
• Flutter Project Structure: Feature-first or Layer-first?
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Как вы могли заметить, в воскресенье дайджест снова не вышел, поэтому компенсирую, вашему вниманию большой и мощный 2-ух недельный дайджест 🔥
По новостям: Apple Pay отрубили карты МИР, Google объявила о запуске пилотной программы по использованию приложениями сторонних вариантов оплаты, Google I/O 2022 пройдет 11-12 мая онлайн.
Отвалилась подписка на Medium, если вдруг кто-то знает рабочие способы оплаты из РФ – напишите плиз в личку.
Android 🤖
• Гайд по архитектуре приложений для Android
• Jetpack Compose под капотом: Рекомпозиция и Стабильные типы
• Reducing Gradle boilerplate in multi-module Android projects
• Step by Step Guide to Download Files With WorkManager
• RxJava: простыми словами о сложном
• Охота на toggle: Как простую фичу сделать максимально сложно
• Dependency Injection with HILT in Android
• Play Time with Jetpack Compose
• Gradle Plugins: Why? How?
• Gradle all the way down: Testing your Gradle plugin with Gradle TestKit
• Configuring Scheduled Notifications in Android
• Flippable (Jetpack Compose utility library)
• Memory Leaks in Reactive Android Programming
• The simplest way to create Creational design patterns in Kotlin
• Best Kotlin features that I value most as Java Developer
• How to build a beautiful multiple view RecyclerView app — The right way
• Android 13, 13 лучших функций в новых обновлениях
• 10 Jetpack Compose Projects To Inspire You
• Jetpack DataStore - wrap up
• Android Studio Dolphin Canary 6 now available
• Using performance class to optimize your user experience
iOS 🍏
• Optimization in Swift
• Clean Architecture in SwiftUI 5.5
• The Best Way to Organise iOS Project Architectures
• Как я занял третье место в конкурсе Telegram и выиграл $ 2 000
• Как я визуализировал граф билда. Build Graph for Xcode
• Abstract types and methods in Swift
• Swift 5.6 Released
• Browser Note and the process of building an iOS 15 Safari Extension
• How to modularize existing iOS projects using Swift Package
• How to use the #available attribute in Swift
• Safer and cleaner UserDefaults and AppStorage
• FormatStyle Deep Dive
• Creating a SwiftUI Looping Background Video
• Improved Type Safety With SwiftGen
• Scalable Modular Architecture in iOS
• AxisTabView for SwiftUI
• Getting Accurate Profiling Data from iOS Applications
• Introducing Swift Async Algorithms
• Fixing SwiftUI's Automatic Preview Updating Paused
• Как варить дизайн-систему для живого приложения
• Swift Coding Standards Using Loops
Кроссплатформа / Разработка 💻
• OAuth в мобильных приложениях
• Java: продвинутая конкурентность
• Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция
• Regular Expressions in Kotlin
• Актуализация данных в списках Flutter-приложения
• Kotlin Tips: Loops
• Combining noscripts and DSLs is Kotlin’s most underrated feature
• Sliver во Flutter, или как работает скролл
• Top companies using Flutter in 2022
• Flutter App Architecture with Riverpod: An Introduction
• Flutter Project Structure: Feature-first or Layer-first?
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍14🔥2
Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)
Интересная и полезная статья, про историю внедерения KMM от QIWI. Полезно будет всем, кто подумывает о внедрении KMM или просто интересуется кроссплатформой.
Вы тоже заметили, что KMM становится больше?)
Читать (Ru)
Интересная и полезная статья, про историю внедерения KMM от QIWI. Полезно будет всем, кто подумывает о внедрении KMM или просто интересуется кроссплатформой.
Вы тоже заметили, что KMM становится больше?)
Читать (Ru)
👍14👎6🔥2
Шорткаты для Xcode в виде Cheat sheet
Habr: Шорткаты для Xcode в виде Cheat sheet
PDF файлик тут: Cheat sheet for Xcode
Github: Cheat sheet for Xcode
Habr: Шорткаты для Xcode в виде Cheat sheet
PDF файлик тут: Cheat sheet for Xcode
Github: Cheat sheet for Xcode
👍11🔥4
Дайджест недели
Новость этой недели – в России планируют запустить свой магазин приложений для Android, планируемая дата запуска - 9 мая. Интересно посмотреть, что из этого получится. А еще был интересный кейс с приложением ВТБ Инвестиции - вместо удалённого официального приложения, Google Play предлагает мошенников, почитать можно тут.
Android 🤖
• My Top 7 Clean Code Tips for Android Developers
• How to Implement Pagination With Jetpack Compose
• Keyboard handling in Jetpack Compose
• Exploring MovableContentOf in Jetpack Compose
• State-Machine in Android/Kotlin
• How a single Android developer improved Lyft’s Drivers app startup time by 21% in one month
• Draftsman – is an on-device layout inspector for Android apps
• Kotlin Tips: Doing More with the Elvis Operator
• Dagger/Hilt vs Koin for Jetpack Compose Apps
• Improving code quality in Android
• Common Android Interview Questions
• Android Tips | Advanced Shapes for your Drawables
• How to Catch/Handle Exceptions Globally in Android
• 10 tips from 10 years of android development experience
iOS 🍏
• Шорткаты для Xcode в виде Cheat sheet
• Effortless Concurrency in Swift with Async/Await
• Справочники в iOS: храним, обновляем, используем
• Every Screen in Your App Should Be a Scrolling View
• Создаем кастомный лоадер (спиннер или UIActivityIndicator) в UIKit
• AnyObject, Any, and any: When to use which?
• How to force two lines of Text in SwiftUI
• Releasing Tuist 3.0
• Swift: Why is my @MainActor code running in the background?
• How to add and handle actions for iOS push and local notifications
• How to add text input actions to iOS push and local notifications
• Retain Cycles and Memory Management in Swif
• Here's the ULTIMATE tip to find memory leaks in Xcode!
• Modern Swift Concurrency
• Promote like a pro
Кроссплатформа / Разработка 💻
• Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)
• Why and How We Rewrote Our Biggest Mobile App From Scratch
• Coding an Instagram Clone With Flutter and Feeds
• Develop A Secure Banking Mobile Application With These Eight Security Methods
• Why Go Native Mobile If Possible
• How to reduce React Native App size by 70–85% using these simple methods
• Dependency Inversion vs. Dependency Injection
• Implement Kotlin Flow race/amb operator
• Understanding Flutter Navigator 2.0
• Custom icons in Flutter
• Kotlin Multiplatform Mobile (KMM) at Granular
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Новость этой недели – в России планируют запустить свой магазин приложений для Android, планируемая дата запуска - 9 мая. Интересно посмотреть, что из этого получится. А еще был интересный кейс с приложением ВТБ Инвестиции - вместо удалённого официального приложения, Google Play предлагает мошенников, почитать можно тут.
Android 🤖
• My Top 7 Clean Code Tips for Android Developers
• How to Implement Pagination With Jetpack Compose
• Keyboard handling in Jetpack Compose
• Exploring MovableContentOf in Jetpack Compose
• State-Machine in Android/Kotlin
• How a single Android developer improved Lyft’s Drivers app startup time by 21% in one month
• Draftsman – is an on-device layout inspector for Android apps
• Kotlin Tips: Doing More with the Elvis Operator
• Dagger/Hilt vs Koin for Jetpack Compose Apps
• Improving code quality in Android
• Common Android Interview Questions
• Android Tips | Advanced Shapes for your Drawables
• How to Catch/Handle Exceptions Globally in Android
• 10 tips from 10 years of android development experience
iOS 🍏
• Шорткаты для Xcode в виде Cheat sheet
• Effortless Concurrency in Swift with Async/Await
• Справочники в iOS: храним, обновляем, используем
• Every Screen in Your App Should Be a Scrolling View
• Создаем кастомный лоадер (спиннер или UIActivityIndicator) в UIKit
• AnyObject, Any, and any: When to use which?
• How to force two lines of Text in SwiftUI
• Releasing Tuist 3.0
• Swift: Why is my @MainActor code running in the background?
• How to add and handle actions for iOS push and local notifications
• How to add text input actions to iOS push and local notifications
• Retain Cycles and Memory Management in Swif
• Here's the ULTIMATE tip to find memory leaks in Xcode!
• Modern Swift Concurrency
• Promote like a pro
Кроссплатформа / Разработка 💻
• Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)
• Why and How We Rewrote Our Biggest Mobile App From Scratch
• Coding an Instagram Clone With Flutter and Feeds
• Develop A Secure Banking Mobile Application With These Eight Security Methods
• Why Go Native Mobile If Possible
• How to reduce React Native App size by 70–85% using these simple methods
• Dependency Inversion vs. Dependency Injection
• Implement Kotlin Flow race/amb operator
• Understanding Flutter Navigator 2.0
• Custom icons in Flutter
• Kotlin Multiplatform Mobile (KMM) at Granular
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
🔥6🥰1👏1
Rx to Coroutines Concepts
Цикл статей про сравнение и переезд Rx to Coroutines.
👉 Part 1 Async vs. Reactive
👉 Part 2 Structured Concurrency
👉 Part 2.1 Exceptions
👉 Part 3 Deferred & Channels
👉 Part 4 Cold Flows
👉 Part 5 Shared Flows
Цикл статей про сравнение и переезд Rx to Coroutines.
👉 Part 1 Async vs. Reactive
👉 Part 2 Structured Concurrency
👉 Part 2.1 Exceptions
👉 Part 3 Deferred & Channels
👉 Part 4 Cold Flows
👉 Part 5 Shared Flows
👍16🔥4
50 вопросов и ответов для собеседования по Swift в 2022 году
Cписок вопросов c ответами для собеседования по Swift.
Оригинал тут: 50 Swift Interview Questions and Answers in 2022
И еще несколько ссылок по теме
👉 Top iOS Fundamental Interview Questions and Answers
👉 Mobile System Design Interviews Series
👉 System Design Interview For Mobile Engineers
Cписок вопросов c ответами для собеседования по Swift.
Оригинал тут: 50 Swift Interview Questions and Answers in 2022
И еще несколько ссылок по теме
👉 Top iOS Fundamental Interview Questions and Answers
👉 Mobile System Design Interviews Series
👉 System Design Interview For Mobile Engineers
👍11🔥3
Наиболее распространенные уязвимости в мобильных приложениях
Довольная полезная и важная статья про безопасность в мобилках и наиболее распространенные уязвимости.
👉 Небезопасное хранение данных
👉 Хранение учетных данных
👉 Аутентификация в сторонних сервисах
👉 Хранение ключей шифрования
👉 Отсутствие защиты канала связи (SSL Pinning)
Читать (Ru)
Довольная полезная и важная статья про безопасность в мобилках и наиболее распространенные уязвимости.
👉 Небезопасное хранение данных
👉 Хранение учетных данных
👉 Аутентификация в сторонних сервисах
👉 Хранение ключей шифрования
👉 Отсутствие защиты канала связи (SSL Pinning)
Читать (Ru)
👍6🔥4
Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
Еще одна статейка про организацию кастомной навигации в iOS от СберМаркета, на основе координатора.
Видео верси можно посмотреть тут: iOS Meetup | СберМаркет Tech
Читать (Ru)
Еще одна статейка про организацию кастомной навигации в iOS от СберМаркета, на основе координатора.
Видео верси можно посмотреть тут: iOS Meetup | СберМаркет Tech
Читать (Ru)
👍8
Kotlin, как работает suspend под капотом
Полезная статейка с разбором того, как работает suspend под капотом.
Оригинал тут: The suspend modifier — under the hood
Читать (Ru)
Полезная статейка с разбором того, как работает suspend под капотом.
Оригинал тут: The suspend modifier — under the hood
Читать (Ru)
👍17
Practical Android Profiling
Статья о том, как обнаруживать и устранять распространенные проблемы с производительностью, с помощью стандартных инструментов. Статья по большей части для начинающих.
Читать (En)
Статья о том, как обнаруживать и устранять распространенные проблемы с производительностью, с помощью стандартных инструментов. Статья по большей части для начинающих.
Читать (En)
👍14
Дайджест недели
Обновление правил Google Play: с 1 ноября 2022 приложение станет недоступным для установки, если его Target API level устарел более, чем на 2 года с момента актуальной версии Android.
WWDC 2022 пройдёт с 6 по 10 июня в онлайн формате.
Android 🤖
• Rx to Coroutines Concepts
• Kotlin, как работает suspend под капотом
• Practical Android Profiling
• Gracefully handling Android app crashes
• Progress Animations in Jetpack Compose with examples
• Design a pixel perfect Android app
• MVI with Android Compose on a real example
• Empowered Lifecycle-Aware ViewModel For Android
• Android — How to Drag And Drop Views in Jetpack Compose
• Jetpack Compose- Powering Swiggy’s new coupon listing page
• Dagger 2 приходит конец. Встречайте новый DI в Jetpack Compose
• Стили в Android. Как организовать темы в проекты
• Собеседование Senior Android разработчика. Проводит Алексей Быков
• Передаём GPU-буферы напрямую в TensorFlow Lite
iOS 🍏
• 50 вопросов и ответов для собеседования по Swift в 2022 году
• Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
• Xcode Smart Debugging Tips| iOS Development
• Core Data — Building a Custom Store
• Удобный способ работы с Realm + Combine. Часть 1
• Удобный способ работы с Realm + Combine. Часть 2
• Swift Size Class that can be understood in 3 seconds
• Logging in Swift
• Error alert presenting in SwiftUI simplified
• Disable animations on a specific view in SwiftUI using transactions
• Hot Reloading in Swift
• Enumerating and Counting Text Components in Swift
• Effortless Concurrency in Swift with Async/Await
Кроссплатформа / Разработка 💻
• Kotlin 1.6.20 Released
• Наиболее распространенные уязвимости в мобильных приложениях
• Flutter for Desktop — новый подход к разработке приложений
• Flutter: Все способы защиты данных
• How Long Does Your Code Take? | Kotlin Tips
• Crash course on the Kotlin compiler | 1. Frontend: Parsing phase
• Gradual null safety migration for large Dart projects
• Flutter Course for Beginners – 37-hour Cross Platform App Development Tutorial
• An Introduction to Layered Architecture in a Kotlin Multiplatform Project
• Understanding Layered Architecture in KMM — Part 2 — Designing the solution
• Unit, Widget, and Integration Testing in Flutter — 14 best packages for testing
• Clean Architecture In Flutter & best plugins that helps you to implement it
• iOS and Android Developments are Converging Over the Years
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Обновление правил Google Play: с 1 ноября 2022 приложение станет недоступным для установки, если его Target API level устарел более, чем на 2 года с момента актуальной версии Android.
WWDC 2022 пройдёт с 6 по 10 июня в онлайн формате.
Android 🤖
• Rx to Coroutines Concepts
• Kotlin, как работает suspend под капотом
• Practical Android Profiling
• Gracefully handling Android app crashes
• Progress Animations in Jetpack Compose with examples
• Design a pixel perfect Android app
• MVI with Android Compose on a real example
• Empowered Lifecycle-Aware ViewModel For Android
• Android — How to Drag And Drop Views in Jetpack Compose
• Jetpack Compose- Powering Swiggy’s new coupon listing page
• Dagger 2 приходит конец. Встречайте новый DI в Jetpack Compose
• Стили в Android. Как организовать темы в проекты
• Собеседование Senior Android разработчика. Проводит Алексей Быков
• Передаём GPU-буферы напрямую в TensorFlow Lite
iOS 🍏
• 50 вопросов и ответов для собеседования по Swift в 2022 году
• Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
• Xcode Smart Debugging Tips| iOS Development
• Core Data — Building a Custom Store
• Удобный способ работы с Realm + Combine. Часть 1
• Удобный способ работы с Realm + Combine. Часть 2
• Swift Size Class that can be understood in 3 seconds
• Logging in Swift
• Error alert presenting in SwiftUI simplified
• Disable animations on a specific view in SwiftUI using transactions
• Hot Reloading in Swift
• Enumerating and Counting Text Components in Swift
• Effortless Concurrency in Swift with Async/Await
Кроссплатформа / Разработка 💻
• Kotlin 1.6.20 Released
• Наиболее распространенные уязвимости в мобильных приложениях
• Flutter for Desktop — новый подход к разработке приложений
• Flutter: Все способы защиты данных
• How Long Does Your Code Take? | Kotlin Tips
• Crash course on the Kotlin compiler | 1. Frontend: Parsing phase
• Gradual null safety migration for large Dart projects
• Flutter Course for Beginners – 37-hour Cross Platform App Development Tutorial
• An Introduction to Layered Architecture in a Kotlin Multiplatform Project
• Understanding Layered Architecture in KMM — Part 2 — Designing the solution
• Unit, Widget, and Integration Testing in Flutter — 14 best packages for testing
• Clean Architecture In Flutter & best plugins that helps you to implement it
• iOS and Android Developments are Converging Over the Years
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍9🔥2
Android — 9 Useful Kotlin Flow Operators You Need to Know
Неплохая статья с объяснением и примерами некоторых операторов Kotlin Flow.
👉 reduce
👉 fold
👉 debounce
👉 sample
👉 flatMapMerge
👉 flatMapConcat
👉 buffer
👉 combine
👉 zip
Читать (En)
Неплохая статья с объяснением и примерами некоторых операторов Kotlin Flow.
👉 reduce
👉 fold
👉 debounce
👉 sample
👉 flatMapMerge
👉 flatMapConcat
👉 buffer
👉 combine
👉 zip
Читать (En)
👍20🔥3
Подборка материалов по мобильной безопасности «Awesome Mobile Security»
Крутая подборка материалов по мобильной безопасности (iOS / Android). Различные инструменты анализа и защиты, статьи, подкасты и уязвимые приложения, на которых можно потренироваться в анализе.
А вот тут большой список материалов по Android: Awesome Android Security
Читать (Ru)
Крутая подборка материалов по мобильной безопасности (iOS / Android). Различные инструменты анализа и защиты, статьи, подкасты и уязвимые приложения, на которых можно потренироваться в анализе.
А вот тут большой список материалов по Android: Awesome Android Security
Читать (Ru)
🔥11👍4
Плагин для Flutter теперь в AppMetrica
В AppMetrica появился плагин для Flutter. С его помощью можно использовать основные фичи AppMetrica для iOS- и Android-приложений на Flutter.
- Продуктовая аналитика
- Push-уведомления
- Трекер
- Мониторинг стабильности
- Возможности API
В AppMetrica появился плагин для Flutter. С его помощью можно использовать основные фичи AppMetrica для iOS- и Android-приложений на Flutter.
- Продуктовая аналитика
- Push-уведомления
- Трекер
- Мониторинг стабильности
- Возможности API
appmetrica.yandex.ru
Подключение и инициализация. AppMetrica
Чтобы интегрировать AppMetrica в приложение Flutter, используйте плагин AppMetrica SDK for Flutter:
👍9💩7
А вот и подробный разбор новой фичи Context Receivers в Kotlin.
YouTube
Context Receivers Are Coming to Kotlin!
Kotlin 1.6.20 comes with a new toy: Context Receivers. You can use them to elegantly constrain functions (and more!) to a specific context from which they can be called. Sebastian (https://twitter.com/sebi_io) helps you figure out what exactly that means:…
👍7🔥2
Structured concurrency explained
Еща одна серия статей, на тему structured concurrency. Основные концепции, корутины, скоупы, обработка ошибок и вот это вот всё.
👉 Part 1: Introduction
👉 Part 2: Exceptions and Cancellations
Еща одна серия статей, на тему structured concurrency. Основные концепции, корутины, скоупы, обработка ошибок и вот это вот всё.
👉 Part 1: Introduction
👉 Part 2: Exceptions and Cancellations
🔥4👍2
В России запустили аналог Google Play — RuMarket
Ну что, вот и запустился российский стор – RuMarket. Кто, что и как – подробностей пока что не нашел, в некоторых источниках пишут, что инвесторами стали Сморгонский, генеральный директор российского подразделения Gett и группа частных IT-инвесторов.
Сам еще пока не ставил, пишут что на RuMarket уже закинули свои приложения ВТБ, Промсвязьбанк и Альфа-банк, а также ведутся переговоры с Сбер, Яндекс, VK и т.д.
Ну что, вот и запустился российский стор – RuMarket. Кто, что и как – подробностей пока что не нашел, в некоторых источниках пишут, что инвесторами стали Сморгонский, генеральный директор российского подразделения Gett и группа частных IT-инвесторов.
Сам еще пока не ставил, пишут что на RuMarket уже закинули свои приложения ВТБ, Промсвязьбанк и Альфа-банк, а также ведутся переговоры с Сбер, Яндекс, VK и т.д.
🤮72👍33💩30😁6
Дайджест недели
Апдейт по российскому стору RuMarket: в интернетах пишут, что это приложение – форк F-Droid, созданного британским программистом, якобы забыли затереть стринги в ресурсах 😁, более подробно можно почитать тут и тут.
Android 🤖
• Android — 9 Useful Kotlin Flow Operators You Need to Know
• Context Receivers Are Coming to Kotlin!
• Structured concurrency explained
• В России запустили аналог Google Play — RuMarket
• Creating an animated selector in Jetpack Compose
• Exploring Android 12: Data Access Rationale
• Exploring Android 13: Downgradable Permission
• Composable metrics
• Сравниваем готовые решения для реализации MVI-архитектуры на Android
• Реализация реакций в приложении ВКонтакте на Android
• Now in Android #59
• Android Mid level Interview questions
• Migrate Apps to Android12
• Refactoring an Android App to Kotlin Multiplatform
• Getting started with Canvas in Compose
• From View to Composable: A Quick jump to Jetpack Compose from an Android View mindset
• Animated Placeholder with Jetpack Compose
• All you need for MVI is Kotlin. How to reduce without a reducer?
• Implementing Complex UX/UI Animations in Spinner for Android Application
• Android App Excellence Summit 2022
iOS 🍏
• Learning SwiftUI Spring Animations: The Basics and Beyond
• Hot Reloading in Swift
• Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift
• Apple всё ещё следит за вами. Без вашего согласия
• SwiftUI performance tips
• Автоматизируем iOS-сборку c помощью Jenkins
• Weak self, a story about memory management and closure in Swift
• 5 Useful Xcode Extensions to Make Work Easier
• Dismissing SwiftUI Views
• Use Swift Actor to handle APIs calls
• Using MetricKit to monitor user data like launch times
• SOLID Principles with Swift
• Finding memory leaks in iOS like a pro!
• The 8 Best iOS Development Tools for iOS Developers
• Navigation and Data Passing in SwiftUI
Кроссплатформа / Разработка 💻
• Подборка материалов по мобильной безопасности «Awesome Mobile Security»
• Плагин для Flutter теперь в AppMetrica
• Разработчик засыпает, просыпается маркетолог: как я приложение продвигал
• React + Flutter = Native
• Top 10 Libraries You Should Know for React Native in 2022
• Flutter vs. React Native in 2022: Detailed Framework Comparison
• Announcing React Native 0.68
• The Abstract Syntax Tree – Kotlin vs. Swift
• How to implement GraphQL with Flutter + GraphQL example
• Very good layered architecture in Flutter
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Апдейт по российскому стору RuMarket: в интернетах пишут, что это приложение – форк F-Droid, созданного британским программистом, якобы забыли затереть стринги в ресурсах 😁, более подробно можно почитать тут и тут.
Android 🤖
• Android — 9 Useful Kotlin Flow Operators You Need to Know
• Context Receivers Are Coming to Kotlin!
• Structured concurrency explained
• В России запустили аналог Google Play — RuMarket
• Creating an animated selector in Jetpack Compose
• Exploring Android 12: Data Access Rationale
• Exploring Android 13: Downgradable Permission
• Composable metrics
• Сравниваем готовые решения для реализации MVI-архитектуры на Android
• Реализация реакций в приложении ВКонтакте на Android
• Now in Android #59
• Android Mid level Interview questions
• Migrate Apps to Android12
• Refactoring an Android App to Kotlin Multiplatform
• Getting started with Canvas in Compose
• From View to Composable: A Quick jump to Jetpack Compose from an Android View mindset
• Animated Placeholder with Jetpack Compose
• All you need for MVI is Kotlin. How to reduce without a reducer?
• Implementing Complex UX/UI Animations in Spinner for Android Application
• Android App Excellence Summit 2022
iOS 🍏
• Learning SwiftUI Spring Animations: The Basics and Beyond
• Hot Reloading in Swift
• Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift
• Apple всё ещё следит за вами. Без вашего согласия
• SwiftUI performance tips
• Автоматизируем iOS-сборку c помощью Jenkins
• Weak self, a story about memory management and closure in Swift
• 5 Useful Xcode Extensions to Make Work Easier
• Dismissing SwiftUI Views
• Use Swift Actor to handle APIs calls
• Using MetricKit to monitor user data like launch times
• SOLID Principles with Swift
• Finding memory leaks in iOS like a pro!
• The 8 Best iOS Development Tools for iOS Developers
• Navigation and Data Passing in SwiftUI
Кроссплатформа / Разработка 💻
• Подборка материалов по мобильной безопасности «Awesome Mobile Security»
• Плагин для Flutter теперь в AppMetrica
• Разработчик засыпает, просыпается маркетолог: как я приложение продвигал
• React + Flutter = Native
• Top 10 Libraries You Should Know for React Native in 2022
• Flutter vs. React Native in 2022: Detailed Framework Comparison
• Announcing React Native 0.68
• The Abstract Syntax Tree – Kotlin vs. Swift
• How to implement GraphQL with Flutter + GraphQL example
• Very good layered architecture in Flutter
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍6🔥5
Обзор решений для навигации в iOS
Еща одна статейка на тему навигации в iOS, в которой сравниваются несколько реализаций, подход к построению навигации от Bado и RouteComposer.
Репозиторий с примерами кода можно посмотреть тут.
Читать (En)
Еща одна статейка на тему навигации в iOS, в которой сравниваются несколько реализаций, подход к построению навигации от Bado и RouteComposer.
Репозиторий с примерами кода можно посмотреть тут.
Читать (En)
👍11