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
Как мы попробовали Yatagan

Тут ребята из Циан затестили новый инструмент для DI от Яндекса – Yatagan, делятся опытом.

Если я всё правильно посмотрел, практически по всем вариантам Yatagan выигрывает в скорости сборки. В некоторых кейсах небольшая разница, но все же.

Читать (Ru)
👍15💩14🔥3🤔3🤮1🤡1
7 Jetpack Compose Projects to Become a Better Android Developer

Еще одна подборка проектов реализованных на Jetpack Compose, перенять опыт и прокачать скилл.

👉 Tivi
👉 Stack
👉 CoffeeDrinks
👉 Newzz
👉 JetSpotify
👉 JetDelivery
👉 RickNMortyCompose

Читать (En)
👍143🔥2
Советы по работе с Gradle для Android-разработчиков

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

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

👉 Не редактируйте Gradle-скрипты через IDE
👉 Обращайте внимание на соглашение по именованию модулей
👉 Что выбрать: Kotlin vs Groovy
👉 Как прописывать зависимости в многомодульных проектах
👉 Как обновлять зависимости
👉 Старайтесь не использовать feature-флаги в build config
👉 Несколько слов про базовую структуру проекта
👉 Не забывайте про matchingFallbacks
👉 Убирайте ненужные build variant
👉 Как написать Gradle-плагин для CI на примере gitlab

Некоторые штуки возможно вкусовщина или могут зависить от проекта + статья от 2021, что-то может быть не актуально из-за версий gradle, но в целом статья толковая.

Читать (Ru)
🔥11👍832
How Gradle Works Part 3 - Build Script

В дополнении к сегодняшнему посту про gradle, еще одна, новая статья от Gradle команды про синтаксис скриптов и про то, что происходит во время выполнения скрипта сборки.

Читать (En)
👍92🔥1
Modern Android Development in 2023

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

👉 Android Jetpack
👉 Jetpack Compose
👉 Architecture Patterns
👉 Clean Architecture
👉 Dependency Injection
👉 Modularization
👉 Local Store

Читать (En)
14👍9🔥2🤔2
Готовим FeatureToggle для Android

Еще один пример реализации FeatureToggle для Android, с настройкой доступности фичей через firebase remote config.

Пример кода из статьи на GitHub → FeatureToggle

Читать (Ru)
🔥11👍41👎1
A couple of interesting things from Telegram Android app source code

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

👉 Определение перформанса девайса на основе cpu сount
👉 Нестандартные анимации через кастомные вьюшки на канвасе

На счет анимаций через кастомные вьюхи. На самом деле это довольно распрастранённый подход, с помощью которого можно делать крутые штуки. Главное правильно писать кастомные вьюхи, не плодить лишнего в onDraw(), чтоб не потерять в производительности.

Вот тут еще одна статья с исследованием исходников Telegram про то, как они оптимизирует изображения перед отправкой на сервер.

Читать (En)
👍7🔥2🤔1
Какой компонент в Android инициализируется раньше всех?
Anonymous Quiz
53%
Application
4%
Activity
3%
Service
33%
ContentProvider
7%
BroadcastReceiver
👍32😱123🔥3
Разбираем ошибки начинающих iOS-разработчиков

Большая статья с разбором нескольких наиболее популярных ошибок начинающих iOS-разработчиков. К чему приводят такие ошибки и как их можно избежать.

👉 Связь между Storyboard и кодом
👉 Использование Auto Layout
👉 Избыточный force unwrapping
👉 Использование guard
👉 Использование switch
👉 Ошибки при реализации паттерна delegate
👉 Связи между компонентами

Читать (Ru)
5🔥3👍1
Как устроены собеседования в IT

Видос от команды Tinkoff Mobile про процесс собеседования в IT. Зачем нужны те или иные блоки, что ожидают от кандидата, важность софт скиллов и т.д.

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

Смотреть 📹
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎5🔥3💩2👨‍💻1
Understand Kotlin Sealed class better

Отличная статья про то, как устроены Sealed классы под капотом и чем отличаются от Enum`ов.

Читать (En)
👍10🔥4🥱31
Spot on: Android 14 adds highlights to TextViews

В Android 14 появится возможность выделять текст в TextView. Аналогично тому, как мы сейчас делаем через Spannable.setSpan().

Где-то в чатиках видел, что некоторым не зашло, но мне кажется это будет гораздо удобней, чем через span.

Дока тут → Highlights

Читать (En)
👍7🤔52🔥2
10 Useful Kotlin Extension Functions for Android Developer

Еще один большой набор полезных Kotlin Extension функций для удобного использования.

👉 Print to Logcat
👉 View Visibility
👉 Toast Message
👉 Snackbar Message
👉 Hide Keyboard
👉 dp and px conversion
👉 Digit, Alphabetic, and Alphanumeric Check
👉 isNull, ifNull
👉 Date Formatter

Читать (En)
👍17🔥52👎2🥴1
Вопросы и ответы для собеседования по Kotlin

Тут на Хабре стартанули цикл статей с вопросами/ответами для собеседования по Kotlin.

Вышло уже 2 части с базовыми вопросами (Data классы, object, Null safety, Any, Unit, Nothing, Extensions и т.д.).

👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
👍34🔥6👎32
Элемент выбора эмодзи (aka EmojiPicker) для iOS как в MacOS

Статья от нашего читателя, в которой он делится опытом разработки собственной библиотеки(aka EmojiPicker) в стиле MacOS и с какими трудностями столкнулся в процессе.

Библиотека на GitHub → MCEmojiPicker

Читать (Ru)
👍3🔥31
Streamlining User Actions with the Command Pattern: A Practical Guide

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

В статье приводится пример на Jetpack Compose, но на самом деле применимо везде.

Читать (En)
👍71🔥1
Exploring Kotlin’s Context Receivers

Еще одна отличная статья с подробным разбором фичи Context Receivers в Kotlin и примерами использования.

Читать (En)
👍11🔥1👨‍💻1
Using the plugin pattern in a modularized codebase

Хороший пример использования паттерна Plugin в многомодульных проектах для меньшей связности между модулями.

Читать (En)
🔥9👍21
Multi-Module Architecture in Android

И еще чуть-чуть про многомодульность. Обещаю, скоро постов на эту тему будет поменьше 😃. Для меня сейчас прям актуально, поэтому скидываю в канал интересные материалы.

В этой статье приводятся несколько вариантов разбиения на модули. Вот последний вариант с дроблением конкретной фичи на модули выглядит вроде норм.

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

Читать (En)
👍15🔥31💩1
Как не потерять голову (и память) при поиске утечек в iOS

Еще одна статейка про причины возникновения утечек памяти в iOS и какие есть способы обнаружения.

👉 Циклы сильных ссылок
👉 Неправильное использование делегатов
👉 Неправильное использование замыканий
👉 Неправильное использование синглтонов
👉 Xcode Memory Graph
👉 Instruments

Читать (Ru)
🔥7👍31👎1👏1
Kotlin Flows Guide with Examples — Android

Еще один простенький гайд по Kotlin Flows с примерами и демонстрацией работы некоторых, популярных операторов.

Читать (En)
👍9🔥7🤔2