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
ViewModels in Clean Architecture — Dos and Don’ts

Несколько статей про то, что можно делать и что нельзя во ViewModel в соответствии с Clean Architecture.

👉 Part 1
👉 Part 2
11👍6👎3🔥1
Kotlin Coroutines Recipes

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

👉 Asynchronous map
👉 Suspending Lazy Initialization
👉 Reusing connections
👉 Coroutine races
👉 Retrying a suspending process

Код доступен на GitHub → Kotlin Coroutines Recipes

Читать (En)
🔥13👍52
Create your own Gradle Tasks and Plugins in less than 10 minutes

Простой пример создания своих Gradle тасок и плагинов.

Читать (En)
🔥9👍32
System Design Interview

Свежих статей вам по System Design Interview. Вчера наткнулся на одну статью и пошёл в профиль автора посмотреть, а у него оказывается там целая пачка такого.

Конкретно по мобилкам там нет, но есть достаточно много статей на общие темы (балансеры, CDN, API Gateway, Proxy, Caching, Search, Databases и т.д.). Что тоже неплохо почитать для общего развития.

Оставлю здесь несколько статей

👉 System Design Master Template: How to Answer Any System Design Interview Question
👉 16 System Design Concepts
👉 10 System Design Interview Questions (With Answers)
7🔥6👍3
Почему так удобно использовать паттерн MVI в KMM

Разбор паттерна MVI с примерами кода в KMM проекте.

👉 Что такое MVI
👉 Преимущества и недостатки MVI
👉 MVI в КММ на практике
👉 Общий код в Shared
👉 Заключение по MVI в КММ

Читать (Ru)
👍9🔥52
Problem solving in Compose Text

Разбор нескольких способов реализации позиционирования текста в Compose.

🟢 Two Text composables
🟢 TextMeasurer
🟢 TextLayoutResult API
🟢 layout Modifier
🚫 Drawing text on Canvas
🚫 SubcomposeLayout

В конце статьи можно посмотреть результаты производительности по каждому решению.

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
Migrate your build configuration from Groovy to Kotlin

Надеюсь уже все видели (раз, два и три) о том, что Kotlin DSL теперь будет использоваться по умолчанию в Gradle скриптах вместо Groovy.

Поэтому, для тех, кто еще не мигрировал, оставляю список полезных ссылок👇

👉 Migrate your build configuration from Groovy to Kotlin
👉 Migrating build logic from Groovy to Kotlin
👉 What is Gradle Kotlin DSL
👉 Kotlin DSL: Gradle noscripts in Android made easy
👉 Migrate from Groovy to Kotlin DSL
🔥10👍41
CustomView Android. Кольцевая диаграмма для отображения статистики

Отличная статья про написание непростой кастомной вьюшки для отображения статистики в виде кольцевой диаграммы.

Код на GitHub → AnalyticalPieChart

Читать (Ru)
👍22🔥10🤩3
Kotlin Lambda Expressions + Kotlin Anonymous Functions = POWER

Неплохая статья про лямбда-выражения и анонимные функции в Kotlin.

Читать (En)
👍8💩6🔥21
Kotlin Coroutines Best practices

Еще одна статья с best practices по корутинам.

👉 Don’t use async with an immediate await
👉 Consider cancelling scope children
👉 Use Dispatchers.Main.immediate instead of Dispatchers.Main
👉 yield
👉 Use awaitAll
👉 Avoid using Job builder
👉 Functions that return Flow should not be suspending

Читать (En)
13👍8🔥1
Graphics Shapes in Android

Тут Гугл выкатил новую библиотеку для рисования и анимаций фигур различных форм.

Вот несколько статей по использованию. В первой статье демонстрация создания фигур, во второй – как анимировать.

👉 The Shape of Things to Come
👉 Shape Morphing in Android
👍12🔥4🤔2
10 Useful Kotlin Extension Functions for Simplifying Your Code

Очередная статья с экстеншн функциями. Единственное, либо у меня глаз кривой, либо я насчитал только 9 😃

👉 T?.withNotNull
👉 Flow.toLiveData()
👉 Collection?.notEmpty()
👉 Map.getOrThrow()
👉 toFormattedString()
👉 View.onClick(debounceDuration)
👉 Drawable.toBitmap()
👉 String.toUri()
👉 T.applyIf()

Читать (En)
👍17🤡11😁5👎2🔥1
Jenkins + Android

Пошаговый гайд с базовыми правилами и рекомендациями, которые помогут избежать трудностей при настройке Jenkins для Android-проектов.

Читать (Ru)
🔥13👍82
Как попасть в IT в 2023 году

Как вы уже могли заметить, в последнее время порог входа в IT прилично вырос. Один из актуальных способов, который продолжает набирать обороты — стажировки от крупных компаний и EdTech курсы.

Недавно у Кирилла вышел видос о том, как попасть в IT в 2023 году. В выпуске Илья Богин — эксперт из Яндекса делится полезными советами и рекомендациями для тех, кто только начинает свой путь в IT.

👉 Чем отличаются джуниор разработчик от стажера?
👉 Джуны с рынка
👉 Как найти первую работу?
👉 Важность софт-скиллов
👉 Зачем компаниям стажеры

Смотреть 📹
Please open Telegram to view this post
VIEW IN TELEGRAM
💩7👍4👎2🔥2👏1🫡1
Automatic Update Prompts for Crashing Apps

На девайсах начиная с версии Android 7.0 (SDK level 24) Play Store будет автоматически предлагать обновить ваше приложение при возникновении креша, если есть более стабильная версия в маркете.

Читать (En)
👍36🔥10🤩2
Jetpack Compose architectural layering

Гугл обновил раздел архитектурных слоёв из которых состоит Jetpack Compose.

👉 Runtime
👉 UI
👉 Foundation
👉 Material

Читать (En)
👍19🔥31
iOS / Swift Tips

Друзья, всем привет! Наверняка многие из вас уже видели рекламу @swift_tips в других каналах, а самые активные из вас обратили внимание на сходство в оформлении постов с @mobile_native.

Так вот, c большим удовольствием сообщаю, что канал @swift_tips с недавних пор находится в моём распоряжении 🥳.

Если ты iOS-разработчик или только вкатываешься, наверняка найдешь там много полезного для себя, обязательно подпишись. Буду развивать канал и радовать вас полезным контентом, инструментами и новостями из мира iOS.

Подписаться: @swift_tips

P.S. Давайте пробьем 2к 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👍1👏1
How we reduced our Android startup time by 77%

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

Кто занимался подобным, знает, что это задачка не из легких.

👉 Deferring synchronous network requests
👉 Fetching feature flags
👉 Baseline Profiles
👉 Optimizing disk I/O operations
👉 Lazy initialization
👉 Third-party SDKs initialization

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

Читать (En)
🔥7👍43
Forwarded from Swift Tips
Почему MVx архитектуры всегда получаются плохо

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

• Проблема остатка
• Проблема масштабирования
• Проблема разрывов в логике

Читать (Ru)
🤔16🤡3👍2👎2🔥1
Вопросы и ответы для собеседования по Kotlin. Часть 3

На хабре вышла 3-я часть из цикла «Вопросы и ответы для собеседования по Kotlin».

Классы и интерфейсы

• Что такое абстрактные классы и интерфейсы?
• Почему классы в Kotlin по умолчанию final?
• Что нужно сделать, чтобы класс можно было наследовать? (open)
• Как можно получить тип класса?
• Что такое enum класс (перечислений)?
• Что такое sealed класс (изолированный)?
• Какая разница между sealed class и enum?
• Что такое inner (внутренние) и nested (вложенные) классы?
• Value (бывшие inline) классы
• Какая польза от typealias? Во что он компилируется?

Коллекции и последовательности (Sequences)

• Какие коллекции есть в Kotlin?
• List
• Set
• Map
• Какая из коллекций не является имплементацией Collection?
• Sequences и их отличия от коллекций

Читать (Ru)
🔥15👍104👏1
Автоматизация публикации Android приложений в Google Play и Huawei AppGallery — инструкция от А до Я

Детальный гайд по тому, как автоматизировать процесс релизов Android-приложений в Google Play и Huawei AppStore.

👉 Структура Gradle‑проекта
👉 Android App Bundles (AAB) vs Android Packages (APK)
👉 Генерация номеров версий
👉 Получение ключей доступа от Google Play
👉 Загрузка сборок в Google Play
👉 Управление метаданными Google Play
👉 Получение ключей доступа от Huawei AppGallery
👉 Загрузка сборок и release notes в Huawei AppGallery
👉 Добавление CI/CD
👉 Заключение

Читать (Ru)
🔥15👍72