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

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

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
Kotlin Generic Variance Modifiers

Неплохая статья с примерами про вариативность дженериков в Kotlin.

На русском языке можно почитать на kotlinlang – Generics: in, out, where.

Читать (En)
12 Android Studio Tips and Shortcuts to Navigate Your Codebase Faster

Еще одная статья, с советами по Android Studio и реально полезными шорткатами, которые как минимум упростят поиск и навигацию по кодовой базе.

Используйте возможности IDE по максимуму для удобства разработки и быстрой навигации по проекту.

Читать (En)
Mastering Execution Time Measurement in Kotlin

Статья с примерами того, как можно измерять время выполнение ваших функций в Kotlin, с помощью👇

• measureNanoTime()
• measureTimeMillis()
• measureTimeMicros()
• measureTime()

Читать (En)
Превратности диспетчеризации в Swift

Статья про диспетчеризацию в Swift`е. Что такое диспетчеризация, какие виды бывают и рассматривается вопрос производительности и приоритета использования.

👉 Что такое диспетчеризация
👉 Статическая диспетчеризация
👉 Witness table
👉 Virtual table
👉 Динамическая диспетчеризация

И вот тут еще одна, аналогичная статья → Диспетчеризация методов в Swift

Читать (Ru)
All about navigation in the Jetpack Compose-based production code-base

Ещё одна статья на тему организации навигации в Jetpack Compose. Возможные проблемы и способы их решения.

Читать (En)
Building an Android System Design Architecture for Efficient Image Uploads with Clean Architecture

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

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

Читать (En)
Tracking Android project build times

Недавно публиковал статью с примерами, как можно замерять время выполнения функиций.

А вот ловите статью с примером, как можно отслеживать время сборки проекта + сбор системной инфы (processor, corecount, ram, etc) для анализа с помощью Gradle.

Готовый Gradle скрипт тут → BuildTasks
Перевод от AppTractor → Отслеживание времени сборки Android-проекта

Читать (En)
This media is not supported in your browser
VIEW IN TELEGRAM
What's new in Xcode 14.3 and iOS 16.4

Подробная статейка с обзором изменений в Xcode 14.3 и iOS 16.4.

👉 Interact with a view Behind a sheet
👉 Translucent Sheet Background
👉 Adjust the corner radius of a sheet
👉 Control scrolling and expansion behavior
👉 Control a modal presentation in compact size classes
👉 SwiftUI Preview
👉 Print in SwiftUI Preview
👉 Function Back Deployment

Читать (En)
Advanced Layout concepts

Вышел новый эпизод из серии MAD Skills Jetpack Compose, в котором разбирается фаза Layout.

Читать (En)
7 iOS Projects to Become a Better iOS Developer

Несколько интересных open source проектов для изучения, реализованных на SwiftUI.

Для олдов – зацените проект OldOS 😉.

👉 Clean Architecture
👉 OldOS
👉 SwiftUICraft
👉 Velik
👉 OpenSesame
👉 Swiftui-2048
👉 ExpenseTracker

Читать (En)
Clean Code — A practical approach

Практические примеры как писать чистый код. Там про нейминг, различные принципы, интерфейсы, тесты, рефакторинг и вот это вот всё.

Читать (En)
Android Basics with Compose

Тут Гугл сообщает, что опубликовали курс по Compose – Android Basics with Compose.

Курс предназначен для того, чтобы научить вас создавать приложения для Android с помощью Jetpack Compose, рекомендуемого современного набора инструментов, который упрощает и ускоряет разработку пользовательского интерфейса для Android.

Курс поделен на 8 разделов, каждый из которых охватывает различные аспекты разработки Compose и Android.

👉 Fundamentals of the Kotlin programming language
👉 Building basic user interfaces with Compose
👉 Working with data and state in Compose
👉 Using navigation to build apps with multiple screens
👉 Persisting data using Room and DataStore
👉 Fetching remote data and images
👉 Scheduling tasks with WorkManager
👉 Using Compose and Views side-by-side in the same app

Курс тут → Android Basics with Compose

Читать (En)
Kotlin. Ключевые слова in и out. А так же что такое ковариантность и контрвариантность

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

В догонку, еще одна статья на русском языке с достаточно подробным разбором: ключевые слова in и out, что такое инвариантность, ковариантность и контрвариантность.

Читать (Ru)
How Senior iOS Engineers Style Code: Performance And Clarity

Статья с примерами и некоторыми правилами оформления читаемого, качественного, а может и нет 😁 кода в iOS. С некоторыми конструкциями можно и поспорить, но в целом почитать будет полезно.

Читать (En)
Как Android-разработчику избавиться от комплекса доменной неполноценности

Интресная статья про комплекс доменной неполноценности 😁 – это когда ваши слои толщиной с бумагу.

Полезные тезисы из статьи

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

• Если уж вы ввязались в «Чистую архитектуру» (вас же никто не заставлял?), то юзкейсы придётся писать всегда, даже однострочные. Ну а тесты уже на вашей совести.

• В доменном слое не должно быть никаких намёков на то, как и кем будут отображаться данные.

• Какие у вас экраны и как они сменяются — дело презентационное, и точка. Если юзкейсу суждено быть однострочным, смиритесь с этим, не надо пытаться его искусственно раздуть.

Читать (Ru)
Список фишек Android Studio для ускорения разработки

Еще одна большая статья про интересные фишки Android Studio, которые могут позволить быстрее писать код, работать с кодом, работать с git`ом, навигировать по проекту и т.д.

👉 Хоткеи
👉 Плагины
👉 Шаблоны кода
👉 Подсветка логов
👉 ADB Idea
👉 Прекоммит для гит хука

Читать (Ru)
Communicating with fragments

Иногда на собесах спрашиваю про коммуникацию между фрагментами и как показывает практика, многие не знают о различных, нативных вариантах шаринга данных.

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

👉 Share data with the host activity
👉 Share data between a parent and child fragment
👉 Scoping a ViewModel to the Navigation Graph
👉 Fragment Result API

Читать (En)
Breaking try-catch-finally in Kotlin

Статья про одну из особенностей Kotlin – не всегда выполнятеся блок finally, при совместном использовании sequence/try-finally.

Читать (En)
How to Handle Automatic Content Resizing when keyboard is visible in Jetpack Compose

Пример как в Jetpack Compose можно хендлить появление клавиатуры и подогнать нужным вам образом контент.

Читать (En)
Live coding интервью для iOS разработчиков

Статья с разбором наиболее популярных задач для iOS разработчиков, которые можно встретить на этапе live coding.

👉 Thread-safe class
👉 DispatchGroup
👉 High-order functions
👉 Type erasure
👉 Any and Some

Читать (Ru)