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

Пробустить канал → https://t.me/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
String Resource Provider Using Dependency Inversion In Android

Отличный вариант применения принципа инверсии зависимостей на примере работы с ресурсами(строками) в Android.

UseCase не имеет прямой зависимости системных компонентов, связь организована через интерфейс (ResourceProvider), что позволяет легко написать тесты.

Читать (En)
Jetpack Compose Codelabs

Гугловский репозиторий с кодлабами для изучения Jetpack Compose.

GitHub → Jetpack Compose Codelabs
Zero To Hero in Android Kotlin Creational Design Patterns

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

👉 Factory Method
👉 Abstract Factory
👉 Builder
👉 Prototype
👉 Singleton

Читать (En)
How ViewModel works under the hood

Ещё одна статья с подробным разбором как работает ViewModel под капотом(как и где хранится, как переживает lifecycle и т.д.).

Вот тут еще 2 аналогичные статьи

👉 How ViewModels survive configuration changes
👉 How do View Models know how to survive configuration changes?

Читать (En)
Design patterns implemented in Java

Вчера разгребал избранные материалы и упустил из вида то, что выпал из внимания достаточно крутой сайт Java Design Patterns с полезной инфой, на котором реализованы примеры если не всех, то наверное большинства шаблонов, принципы (KISS, YAGNI и т.д.) и различные сниппеты кода.

Так же, есть репозитории на GitHub

👉 Design Patterns (⭐️ 79.5К)
👉 Software design principles (⭐️ 286)
👉 Snippets (⭐️ 785)

Читать (En)
Как настроить Gitlab CI/CD для Android и Firebase App Distribution для доставки сборок

Еще одно достаточно подробное руководство по настройке Gitlab CI/CD для Android и доставке сборок в Firebase App Distribution.

Читать (Ru)
Swift iOS interview questions and answers

Большой цикл статей для подготовки к собесам по iOS(общие вопросы, Swift, SwiftUi, архитектура, design pattern и т.д.).

👉 Part 1 – Language features
👉 Part 2 – Auto layout & UIKit
👉 Part 3 – Threading & concurrency
👉 Part 4 – Memory management
👉 Part 5 – Architecture and design pattern
👉 IOS Developer – Bonus Interview Questions

SwiftUI Interview Questions And Answers

👉 Part 1 – UI Basics
👉 Part 2 – UI Advance
👉 Part 3 – Data Flow & Communication
Mobile Applications Data Security

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

Что-то из списка может быть устаревшим, т.к. подобрки от 2019 года, но для общего понимания может пригодиться.

👉 Mobile Applications Data Security
👉 Awesome iOS Application Security
👉 Awesome Android Application Security
Provider Pattern in Jetpack Compose

Неплохая статейка про
CompositionLocalProvider
в Jetpack Compose. Рассказывается что такое
CompositionLocalProvider
, как использовать и в каких случаях может быть полезен 👍

Читать (En)
Пока я тут плотно загужен рабочими процессами, вышло несколько интересных новостей 👇

1. Вышла первая превью Android 14

• Оптимизация фоновой работы
• Оптимизация Broadcasts
• Нелинейное масштабиование шрифтов до 200%
• Grammatical Inflection API
• Измененя в Privacy and Security
• Поддержка Passkeys
• Поддержка OpenJDK 17
• Etc

Детально почитать можно тут. Релиз планируется к концу лета-началу осени.

2. The K2 Compiler is going stable in Kotlin 2.0

JetBrains сообщают, что с выходом Kotlin версии 2.0 состоится и релиз комилятора K2 🔥

K2 это не просто рефакторинг старого внешнего интерфейса компилятора — это полная переработка с нуля на основе новой архитектуры.

Если что, вот тут можно посмотреть роадмап → Kotlin roadmap
Please open Telegram to view this post
VIEW IN TELEGRAM
Спрос на мобильных разработчиков упал на 20%

Вот интересная статистика рынка вакансий под мобилки 📈📉

• По данным hh за 2022 год количество вакансий в РФ для iOS-разработчиков упало на 20% до 15,6 тыс. В январе снижение составило уже 40%.

• По данным «Хабр Карьеры», в январе количество вакансий под iOS-разработчиков уменьшилось на 19%.

• По данным hh за 2022 год количество вакансий для Android-разработчиков упало на 19% до 17,3 тыс. В январе снижение составило 36%.

• По данным «Хабр Карьере», в январе количество вакансий для Android-разработчиков наоборот, выросло на 18%.

Еще пишут, что выросло количество вакансий для разработчиков ОС «Аврора» и Kaspersky OS. А вы знали что у Kaspersky есть собственная ОС? 😳

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
MAD Skills Jetpack Compose

Если вдруг кто-то пропустил, стартовала новая серия MAD Skills по Jetpack Compose. Уже вышло несколько статей и видюшек, про основы layouts и modifiers и про этапы преобразования кода в UI.

👉 Fundamentals of Compose layouts and modifiers
👉 Compose phases
👉 Constraints and modifier order

И плейлист с видосами → MAD Skills series
KConMapper — How To Automate Mapping Function Creation With Kotlin’s KSP

Статья с обзором библиотечки, которая поможет сократить количество бойлерплейт кода.

Библиотека на основе аннотаций через KSP генерит экстеншн методы для маппинга одного класса в другой.

Библиотека на GitHub → KConMapper (KCM)

Читать (En)
Как адаптировать Android-приложение под Huawei

Еще один подробный гайд как подрубить huawei mobile services.

Также, от себя рекомендую выносить такие штуки в независимые модули и типы сборок, чтоб была возможность отдельно билдить сборку с нужными сервисами (google, hms, google + hms).

 Читать (Ru)
Хотите зарабатывать с показов и не тратить время, разбираясь, как работает рекламная монетизация? Используйте готовое решение от самого Яндекса — сервис Простая монетизация.

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

Подать заявку можно на сайте: https://clck.ru/33Y3Jw
Cracking the Mobile System Design Interview (iOS & Android)

Еще одна большая статья на тему Mobile System Design.

👉 Understand the problem
👉 Define the scope
👉 Identify technical requirements
👉 Propose a high-level design
👉 Deep-dive into one component
👉 Wrap up

Читать (En)
Jetpack Navigation Component: Manual Implementation of Multiple Back Stacks

Кто работал с Jetpack Navigation Component знает, что дефолтная реализация навигации местами хромает, особенно поведение multiple back stacks. Часто приходится писать поверх своё решение.

Вот сообственно отличная статейка с реализацией ручной обработки multiple back stacks.

Читать (En)
Mastering charts in SwiftUI

Серия статей про работу с графиками в SwiftUI.

👉 Basics
👉 Mark styling
👉 Custom Marks
👉 Interactions
👉 Customizations
Constraints and modifier order

Новый эпизод MAD Skills Jetpack Compose про Constraints, Modifier chaining и как это влияет на размеры Сomposables.

Читать (En)
Clustering With Maps Compose For Android

Я всё еще не активный пользователь Jetpack Compose, поэтому даже и не знал, что в Map Compose нет дефолтной реализации кластеризации.

Если вдруг вам такое нужно, вот тут можно посмотреть костыль обходной путь как прикрутить через android-maps-utils.

Читать (En)
Делай нейминг как сеньор

Крутая статья 💪 от команды Dodo Engineering про нейминг.

👉 Что такое нейминг и как он влияет на восприятие кода
👉 Распространённые ошибки (от неправильного перевода до избыточного, абстрактного названия)
👉 Как выстроить работу с неймингом в команде
👉 Советы и рекомендации, которые помогут сделать нейминг лучше

Обязательно всем к прочтению

Читать (Ru)