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
Reducing Gradle boilerplate in multi-module Android projects

Пример сокращения boilerplate кода Gradle в многомодульных проектах Android.

P.S. Как могли заметить, в воскресенье не вышел дайджест, есть некоторые трудности со временем. Надеюсь со следующей недели стабилизирую график 💪
👍13
Clean Architecture in SwiftUI 5.5

Еща одна актуальная и наглядная статейка про чистую архитектуру.

Структура и слои

👉 Core
👉 Data
👉 Domain
👉 Presentation

Читать (En)
👍8
Step by Step Guide to Download Files With WorkManager

А вот неплохой гайд по загрузке файлов через WorkManager (CoroutineWorker) + для UI в статье используется Jetpack Compose.

Читать (En)
🔥16👍4
OAuth в мобильных приложениях

Достаточно полезная и подробная статья про то, какими способами можно реализовать OAuth в мобилках. В статье показан пример на Android, но основная логика применима и к iOS. В целом ничего нового, но для тех, кто не работал с OAuth, будет в самый раз.

Библиотеки из статьи: AppAuth-Android и AppAuth-iOS

Читать (Ru)
👍7🔥5👎1
RxJava: простыми словами о сложном

Отличный доклад про RxJava от Алексея Быкова (@nonewss). Не смотря на появление корутин, RxJava все еще остается популярным фреймворком, на котором написано множество проектов, которые необходимо поддерживать. На мой взгляд, доклад рассчитан по большей части для начинающих, но и опытным тоже не помешает освежить память.
👍13💩2👏1
Дайджест

Как вы могли заметить, в воскресенье дайджест снова не вышел, поэтому компенсирую, вашему вниманию большой и мощный 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)
👍14👎6🔥2
Шорткаты для Xcode в виде Cheat sheet

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
🔥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
👍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
👍11🔥3
Наиболее распространенные уязвимости в мобильных приложениях

Довольная полезная и важная статья про безопасность в мобилках и наиболее распространенные уязвимости.

👉 Небезопасное хранение данных
👉 Хранение учетных данных
👉 Аутентификация в сторонних сервисах
👉 Хранение ключей шифрования
👉 Отсутствие защиты канала связи (SSL Pinning)

Читать (Ru)
👍6🔥4
Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета

Еще одна статейка про организацию кастомной навигации в iOS от СберМаркета, на основе координатора.

Видео верси можно посмотреть тут: iOS Meetup | СберМаркет Tech

Читать (Ru)
👍8
Kotlin, как работает suspend под капотом

Полезная статейка с разбором того, как работает suspend под капотом.

Оригинал тут: The suspend modifier — under the hood

Читать (Ru)
👍17
Practical Android Profiling

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

Читать (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
👍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