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
All about navigation in the Jetpack Compose-based production code-base

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

Читать (En)
👍6🔥31👎1🤮1💩1
Building an Android System Design Architecture for Efficient Image Uploads with Clean Architecture

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

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

Читать (En)
👍132🔥1
Tracking Android project build times

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

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

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

Читать (En)
👍112🔥1
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)
6👍3🔥2
Advanced Layout concepts

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

Читать (En)
👍10🔥2👌2
7 iOS Projects to Become a Better iOS Developer

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

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

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

Читать (En)
🔥10👍3👨‍💻1
Clean Code — A practical approach

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

Читать (En)
🔥131👍1👎1
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)
👍13🔥43
Kotlin. Ключевые слова in и out. А так же что такое ковариантность и контрвариантность

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

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

Читать (Ru)
👍10🔥2👏1
How Senior iOS Engineers Style Code: Performance And Clarity

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

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

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

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

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

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

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

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

Читать (Ru)
👍19👎5🤔5🔥1
Список фишек Android Studio для ускорения разработки

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

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

Читать (Ru)
🔥14👍9🤔1👨‍💻1
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)
👍19🔥4👨‍💻2
Breaking try-catch-finally in Kotlin

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

Читать (En)
🤔15👍4🔥1
How to Handle Automatic Content Resizing when keyboard is visible in Jetpack Compose

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

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

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

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

Читать (Ru)
🔥41👍1👨‍💻1
Custom charts in Android using Jetpack Compose

Не знаю, есть ли уже готовые либы под графики на Jetpack Compose, но вот в статье можно посмотротеть как рисовать различные варианты кастомных через Canvas.

Читать (En)
👍17🔥1🆒1
С Международным женским днём, 8 марта!!! 💐

Милые дамы, поздравляю вас с Международным женским днём!!!

Желам вам профессиональных вершин, хорошего настроения и в достаточном количестве мужского внимания 😉. С Праздником 🌷
Please open Telegram to view this post
VIEW IN TELEGRAM
19🥰3👍2🤮1
Mastering Kotlin : A Comprehensive Guide

Подборка с большим количеством статей на самые разные темы по Android и Kotlin.

👉 Room
👉 ViewModel, LiveData
👉 Navigation Component
👉 Kotlin Coroutines
👉 Kotlin Flow
👉 Hilt
👉 Service, Broadcast Receiver, WorkManager
👉 Ui Components
👉 Tools, Tips & Trick

Читать (En)
👍11🔥311
Different ways to handle Android Gradle dependencies

В статье рассматриваются разные, популярные способы работы с gradle зависимостями.

👉 manually solving
👉 ext
👉 buildSrc / Kotlin
👉 version catalog

Если вам это действительно нужно, я рекомендую использовать Version Catalog, хоть и у него есть минус в виде навигации. Напрягает, когда жмакаешь и не можешь попасть непосредственно в toml файлик.

Если вдруг пропустили, про способы и управление зависимостями я писал тут.

Читать (En)
👍11🔥21
Debugging and fixing a *huge* Jetpack Compose performance problem in my Sudoku-solver app

Интересная статья, как у чувака при одном изменении перерисовывались все поля в приложении Судоку на Jetpack Compose.

А виной тому следующее. Он думал, что вот такой 👇 формат записи сделает его _mutableList – immutableList. В результате получилось то, что получилось.

private var _mutableList: MutableList<Int> = mutableListOf()
val immutableList: List<Int>
get() = _mutableList


Казалось бы очевидная штука, но нет – имейте в виду 😉

Перевод от AppTractor тут.

Читать (En)
🤡8👍3🔥1🤮1💩1