Mobile Native ️️ – Telegram
Mobile Native ️️
5.61K subscribers
1.13K photos
20 videos
3 files
1.28K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://news.1rj.ru/str/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
Дайджест недели

Обновление правил 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)
👍20🔥3
Подборка материалов по мобильной безопасности «Awesome Mobile Security»

Крутая подборка материалов по мобильной безопасности (iOS / Android). Различные инструменты анализа и защиты, статьи, подкасты и уязвимые приложения, на которых можно потренироваться в анализе.

А вот тут большой список материалов по Android: Awesome Android Security

Читать (Ru)
🔥11👍4
Плагин для Flutter теперь в AppMetrica

В AppMetrica появился плагин для Flutter. С его помощью можно использовать основные фичи AppMetrica для iOS- и Android-приложений на Flutter.

- Продуктовая аналитика
- Push-уведомления
- Трекер
- Мониторинг стабильности
- Возможности API
👍9💩7
Structured concurrency explained

Еща одна серия статей, на тему structured concurrency. Основные концепции, корутины, скоупы, обработка ошибок и вот это вот всё.

👉 Part 1: Introduction
👉 Part 2: Exceptions and Cancellations
🔥4👍2
В России запустили аналог Google Play — RuMarket

Ну что, вот и запустился российский стор – 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
👍6🔥5
Обзор решений для навигации в iOS

Еща одна статейка на тему навигации в iOS, в которой сравниваются несколько реализаций, подход к построению навигации от Bado и RouteComposer.

Репозиторий с примерами кода можно посмотреть тут.

Читать (En)
👍11
MVC, MVP, MVI, MVVM and VIPER Design Patterns

Статья про всем известные design patterns (MVC, MVP, MVI, MVVM, VIPER), с объяснением базовых штук типа "архитектура", "для чего нужны паттерны" и т.д. и кратким разбором по каждому.

Читать (En)
👍28
Clean Architecture: Android App

Похоже намечается архитектурная неделя 😁, сбился с счету, ну пусть будет тысячная статья про организацию Clean Architecture.

Пример кода на гитхабе: Clean Architecture

Читать (En)
🔥12👍5👎2
Android Architecture Blueprints v2

Продолжаем тему архитектуры.

👉 Репозиторий с примерами различных архитектур и паттернов под Android.
👉 Тут статейка по миграции Blueprints to Jetpack Compose.
👉 Ну и на всякий случай Guide to app architecture
🔥8👍2
Forwarded from Записки разработчицы (Anna Zharkova)
Подготовила, надеюсь, интересный кейс для SwiftHero. Осталось только залить на гитхаб.
Разобрала до кишок работу с ServerDrivenUI для SwiftUI:

https://www.youtube.com/watch?v=XS6iH8ElD4o

Торопитесь, пока трансляция жива
👍11
Modeling Retrofit Responses With Sealed Classes and Coroutines

Пример того, как можно организовать обработку ответов от API с помощью sealed классов/интерфейсов и корутин. (Retrofit + Sealed classes/interfaces + Coroutines)

Читать (En)
👍20🤮2
How ViewModels survive configuration changes

А вы знаете как в андроиде вьюмодельки переживают изменение конфигурации?

Если нет – вот статейка, в которой на примере Activity разобрали исходники из sdk, все достаточно просто. У Activity есть 2 метода, через которые и происходит вся работа.

👉 onRetainNonConfigurationInstance()
👉 getLastNonConfigurationInstance()

Читать (En)
👍22
SwiftUI vs Jetpack Compose by an Android Engineer

Каким-то чудом забыл запостить интересную статью, в которой сравниваются 2 достаточно актуальных фреймворка Jetpack Compose и SwiftUI. Вот, исправляю ситуацию)

Читать (En)
👍15
Отменяем операции правильно на примере корутин

Еще одна статья про работу с корутинами, в частности про то, как отменять корутины.

Вопрос на засыпку. В статье приводится пример с отменой Thread. Так вот, знаете ли вы как можно остановить/отменить тред?

P.S. как-нибудь выделю время и сделаю подборку по многопоточке.

Читать (Ru)
👍28
Clean Code — A practical approach

Советы с примерами по написанию чистого кода. По сути, все эти советы/рекомендации сводятся к довольно простым штукам (нейминг, короткие функции с минимальным количеством аргументов, комментарии в нужных местах и т.д.). Но как показывает практика, многие пренебрегают и такими, казалось бы базовыми вещами.

Еще в статье затрагивается такая интересная тема, как рефакторинг, полезно будет почитать начинающим.

Читать (En)
👍7🔥6
Дайджест недели

Решил запостить большой и мощный 💪 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
🔥8👍2👏2