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
Add Shake Animations to your Composable

Пример реализации простой анимации встряхивания в Jetpack Compose, с помощью кастомоного модификатора.

Перевод от AppTractor → Добавляем анимации встряхивания в Composable

Читать (En)
🔥6👍31
Clean Architecture for Android Sample Project

Еще один проект в копилку для изучения. Проект – реализация чистой архитектуры от автора книги «Clean Architecture for Android».

👉 Feature separation
👉 Layer separation(UI, Presentation, Domain, Data, Data Source)
👉 Dummy analytics
👉 Navigation
👉 Animations
👉 Unit tests
👉 End-to-end tests
👉 Demonstrates use of Jetpack Compose
👉 Demonstrates use of Coroutines including Flow
👉 Demonstrates MVVM
👉 Code quality checks using ktlint
👉 Code quality checks using detekt

Код на GitHub → CleanArchitectureForAndroid
👍14🔥41💩1
Jetpack Compose: Mastering States

Простая статья с наглядными примерами про стейты в Compose, а именно про политики, с помощью которых можно поменять дефолтное поведение сравнения объектов для рекомпозиции.

👉 structuralEqualityPolicy()
👉 neverEqualPolicy()
👉 referentialEqualityPolicy()

Читать (En)
👍113🔥3
Best practices for error handling in Kotlin

Статья с обзором различных способов обработки ошибок в Kotlin.

👉 Exceptions in Coroutines
👉 Uses of Sealed Classes for Error Handling
👉 Functional Error Handling
👉 Uncaught Exception Handlers
👉 Handling Network Errors with Retrofit
👉 Graceful Error Handling with Coroutines
👉 Error Handling with RXJava

Читать (En)
12👍2👎2🔥2
Что посмотреть на выходных.

Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.

Android

• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень

iOS

• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
🔥8👍41
Kotlin’s Supercharged Flow API — Combining and Merging Flows for Reactive Programming

Статья с разбором и примерами работы функций сombine, merge, zip для работы с несколькими flow.

Читать (En)
👍8🔥41
The Art of Small Animations in Android with Jetpack Compose

Статья с примерами простых анимаций на Jetpack Compose, которые могу придать интерактива и освеживать ваш UI.

Читать (En)
👍9🔥31
Основы алгоритмов

Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.

С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.

👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы

Читать (Ru)
👍24🔥5💩51😁1
Фундаментальное руководство по пакетам в Java

Подробная, базовая статья по пакетам в Java. Может быть полезно начинающим.

👉 Что такое пакет
👉 Примеры пакетов
👉 Назначение пакетов
👉 Правила создания пакетов
👉 Импорт классов
👉 Компиляция и запуск
👉 Возможные ошибки и их решение

Читать (Ru)
🤔5🤮3👍2🔥2
Solving the mystery of recompositions in Compose’s LazyList

Еще одна статья про множественные рекомпозиции в Compose, связанные с модификатором Modifier.clickable, а именно в способе добавления/передачи модификатора в Composable.

Читать (En)
🔥8👍3🤔2
Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics

А вот это уже интересно. Ребята из OK.Tech запилили Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях. Полноценный аналог Crashlytics.

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

Модули Трейсера

👉 Crash и ANR
👉 Memory Leaks aka Heap Dumps
👉 Disk Usage
👉 Systrace Profiler
👉 Sampling Profiler

Документация тут.

Выглядит интересно, нужно будет затестить.

Читать (Ru)
🔥7👍2👏1
Screen Transition Animations with Jetpack Navigation

Простой пример добавления транзишн аниимации в Jetpack Compose / Navigation.

Читать (En)
👍5🔥31👎1
Animated Circular Progress Indicator using Jetpack Compose

Еще одна статья с примером реализации анимированного, кругового прогресса на Jetpack Compose.

Читать (En)
🔥6👍3🤔2
Используем UI-тесты для поиска утечек

Статья от Циан про организацию поиска утечек памяти в приложении с помощью UI-тестов.

Читать (Ru)
👍9🔥5🤔1
А/Б эксперименты в AppMetrica

В AppMetrica новая фича – А/Б эксперименты, с помощью которых можно проводить тестирование гипотез и определять влияние на показатели продукта (ARPU, Retention, Time Spent) 👍

👉 Тестирование гипотез
👉 Внедрение изменений сразу из интерфейса
👉 Конфигурация флагов
👉 Сложные тесты

Читать (Ru)
👏6🤡4👍2🔥1🤯1
Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений

Команда Иви делится опытом использования Compose для ТВ, некоторыми особенностями и трудностями, с которыми столкнулись.

👉 Развитие Android TV и общая архитектура
👉 Создание UI для TV: выбор между Leanback и Jetpack Compose
👉 Недостатки Jetpack Compose для Android TV и несоответствие ожиданиям
👉 Мощь фреймворка Jetpack Compose
👉 Производительность и оптимизации

Читать (Ru)
🔥11👍5🤮31👎1👏1💩1
Если пропустили, Android Studio Giraffe начала подсвечивать библиотеки в build.gradle, которые поддерживают KSP.

А ещё сделали нормальную навигацию в toml при клике(command + click) на библиотеку в build.gradle 🔥
🔥38👍6👏1🤮1
Forwarded from Swift Tips
Расширенное управление памятью с помощью Unsafe Swift

В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.

• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение

Читать (Ru)
👍3🔥2👏1
Ускоряем поиск по коду в Android Studio

В статье рассматриваются некоторые возможности Android Studio, позволяющие быстрее ориентироваться в коде: находить нужные фрагменты и выявлять связи между ними.

👉 Хлебные крошки для блоков кода
👉 Открыть текущий файл в древе
👉 Умный поиск
👉 Не умный поиск
👉 Find Usages
👉 Поиск (по файлу, в папках, View через LayoutManager, человека)

Читать (Ru)
🔥8👍3🤔1
Collapsing Toolbar in Jetpack Compose LazyColumn — Three Approaches

Три способа реализовать Collapsing Toolbar на Jetpack Compose.

👉 Using Scaffold
👉 Using Box
👉 Using Scaffold with Material 3’s LargeTopAppBar

Читать (En)
🔥12👍4🤔3👎1
Exploring Canvas in Jetpack Compose — Crafting Graphics, Animations, and Game Experiences

Неплохая статья с примерами про работу с Canvas в Jetpack Compose.

👉 Getting Started with Canvas
👉 Drawing Shapes and Paths
👉 Custom Data Visualizations
👉 Animating with Canvas
👉 Advanced Techniques — Particles and Effects
👉 Performance Considerations
👉 Near to Real World Example

Читать (En)
🔥123👍1