Обложка канала

Mobile Native. Страница 16

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

  • Mobile Native

    Kotlin Coroutines use cases for Data/Adapters Layer А вот статейка от Kt.Academy с различными примерам использования корутин в Data слое. Читать (En)
  • Mobile Native

    Уроки по архитектуре (clean architecture в Android) Ловите плейлист с видео уроками по архитектуре. Там про MVI, MVVM, Сlean Architecture с детальным разбором слоев (data, domain, presentation, usecases, repository) и модулей, DI (Dagger2 и Hilt) и тестирование. И всё это с разбором на практических примерах 👍 Смотреть (Ru)
    MVI в Android на практике

    Показываю реальный пример на пальцах для "чайников" :) с применением паттерна MVI в Android. Все показываю на практике в коде и на диаграмме. Также разбираем MVI в архитектуре Clean Architecture (Чистая архитектура). MVI расшифровывается как: Model View Intent. Записаться ко мне на индивидуальные занятия или групповые курсы по Android можно на: ✅ https://KIPARO.COM. СОДЕРЖАНИЕ: ------------------------------------------------------------------- 00:00:00 – введение 00:01:34 – Архитектура MVVM с Clean Architecture, как основа для MVI 00:02:56 – MVI на диаграмме 00:05:09 – Model-View-Intent на практике в коде 00:05:42 – Меняем ViewModel по архитектуре MVI 00:08:56 – Адаптирем Android Activity под MVI 00:09:25 – Реализуем State в MVI 00:16:14 – Запускаем Android приложение 00:17:32 – подводим итоги ------------------------------------------------------------------- На канале также есть и другие уроки по программированию. Так же, найти меня можно вот тут: ✅ Linkedin: https://www.linkedin.com/in/timofeykovalenko/ ✅ Instagram: https://www.instagram.com/ttimofey/ ✅ На моем сайте: https://kiparo.com/teacher/timofey-kovalenko #mvi #android #kiparo

    YouTube
  • Mobile Native

  • Реклама

  • Mobile Native

    When to use Swift For-in and ForEach Статья с примерами использования for-in и forEach в Swift. Чем они отличаются и для каких кейсов больше подходит for-in или forEach. Читать (En)
  • Mobile Native

    How to Create a State Machine on Jetpack Compose Пример реализации паттерна State Machine в Jetpack Compose с помощью библиотечки FlowRedux. Читать (En)
  • Mobile Native

    🟡Примерьте на себя роль Android-разработчика! 21 ноября в 20:00 мск на бесплатном уроке в OTUS с вами создадим упрощенный аналог приложения Notion. На занятии мы сделаем упрощенный аналог приложения Notion для платформы Android с использованием языка программирования Kotlin. Приложение будет позволять создавать заметки произвольного размера из следующих блоков: текст, заголовки, изображение, списки. Этот урок подойдет для тех, кто хочет попробовать себя в качестве Android-разработчика, уже знаком с программированием и знает принципы ООП. Спикер: Даниил Попов, разработчик в компании Bolt Technology OÜ, Эстония. Как принять участие? 1. Установить Android Studio, чтобы повторять за преподавателем. Скачать можно на официальном источнике по ссылке: https://developer.android.com/studio 2. Зарегистрироваться на вебинар и успеть на прямой эфир: https://otus.pw/MWZx/
  • Mobile Native

    Управление зависимостями в Android Иногда работаю на part time над разными проектами и всегда обращаю внимание на то, как устроена работа с gradle и зависимостями. Способов управлять зависимостями как вы знаете существует несколько, вот и решил набросать пост на эту тему. Давайте вкратце обрисуем ситуации. Если у вас приложение монолит, то по сути можно не заморачиваться, зависимости можно закинуть куда-нибудь в ext build.gradle проекта и использовать потом в модуле. Либо вообще руками прописывать все зависимости непосредственно в модуле. Самый простой и древний способ. Если у вас многомодульный проект, нужно как-то и где-то менеджерить зависимости, чтоб можно было гибко ими управлять, переиспользовать в модулях и т.д. И это можно сделать несколькими способами. Способ 1 – Kotlin код + kts. Достаточно распространенный способ, который встречается во многих проектах. Есть некоторые проблемы c перформансом. Как подрубить? В проект нужно добавить модуль buildSrc, подрубить к нему kotlin-dsl и можно объявлять зависимости в обычном, привычном Kotlin коде.
    object Deps {
        const val androidxAppCompat = "…"
    }
    А затем в
    build.gradle.kts
    можно обращаться вот так
    dependencies {
        implementation(Deps.androidxAppCompat)
    }
    Посмотреть пример можно тут, тут и здесь. Способ 2 – Version Catalog. В Gradle 7.0 добавили новую фичу Version Catalog. С помощью Version Catalog можно подключать несколько зависимостей одной строкой, предварительно объявив нужные зависимости в одну группу/бандл. Как подрубить? В gradle, которая лежит в корне проекта нужно добавить файлик libs.versions.toml, в котором и объявляются зависимости в определенном формате. А затем в
    build.gradle.kts
    можно обращаться вот так
    dependencies {
        implementation(libs.compose)
    }
    Посмотреть пример можно тут, тут и здесь Полезные ссылки 👉 Using Version Catalog on Android projects 👉 Clean Dependency Management in Multi Module Android Projects 👉 Gradle version catalogs for an awesome dependency management 👉 Migrate from Groovy to Kotlin DSL 👉 The New Way of Writing Build Gradle with Kotlin DSL 👉 Kotlin DSL: Gradle scripts in Android made easy 👉 Stop using Gradle buildSrc. Use composite builds instead 👉 GitHub – Android-Starter-2022 👉 GitHub – Now in Android App 👉 GitHub – RefreshVersions
  • Mobile Native

    Kotlin Coroutines. Подборка Напоминаю, что на канале есть толковые статьи и целые серии статей по корутинам. Собрал все ссылки на посты в один пост. 👉 Things every Kotlin Developer should know about Coroutines 👉 Design of Kotlin Coroutines 👉 Mastering Coroutines in Kotlin — Complete guid 👉 Почему исключения в Kotlin Coroutines это сложно и как с этим жить? 👉 Kotlin Coroutines Tutorial for Android : Advanced 👉 A Perception of Exception in Kotlin Coroutines @mobile_native
  • Mobile Native

    iOS Clean architecture? My way on a very simple feature [MVVM, Repository, URLSession, Swift] В продолжении вчерашней статьи, еще одна. По сути, всё тоже самое, только в iOS. Пример реализация MVVM простым способом, Repository, независимая логика загрузки из любого источника данных, Http клиент на базе URLSession + возможность мокать, тестировать фичи на каждом слое. Код на GitHub → iOS Clean architecture Sample Читать (En)
  • Mobile Native

    Android, MVVM with Clean Code Такую статью можно и почитать. Глобально ничего нового, простой пример реализации проекта с MVVM + Clean Architecture (Hilt, Room, Retrofit, Coroutines, LiveData, UseCases, Unit testing). Код на GitHub → A MVVM sample architecture Читать (En)
  • Mobile Native

    11 Best Android Libraries for 2022 Наткнулся значит вчера на статью с громким заголовком, дай думаю посмотрю, что там за best libraries в 2022. И так, читаю Dagger 2, Retrofit – думаю ну ок, иду дальше EventBus – что простите? 😳, ButterKnife – серьезно? 😀 И тут я пошёл читать комментарии 😉 Если серьезно, статью можно не читать 😁, гораздо интереснее почитать комменты.
  • Mobile Native

    Retain Cycle in Swift Полезная статья с примерами про Retain Cycle, ARC, типы ссылок (Strong, Weak, Unowned) в Swift. Читать (En)
  • Mobile Native

    Как сделать удобное взаимодействие с Kotlin из Swift: обзор проблем и решений Статья про некоторые проблемы и возможные решения при разработке на KMM под iOS и Android. 👉 Что у Kotlin Multiplatform Mobile внутри 👉 Интеграция на разных платформах: в чем проблема c iOS 👉 Ограничения в работе Swift и Kotlin 👉 Как хотелось бы улучшить работу Kotlin со стороны Swift 👉 Решения (Sourcery, компиляторные плагины Kotlin, Gradle-плагины) Читать (Ru)
  • Mobile Native

    ⚡️В среднем люди проводят в телефоне 4 часа в день. При этом в 80% случаев их телефон работает на Android-платформе. Неудивительно, что особой востребованностью в IT отличается разработка под Android. Узнайте больше о карьере в IT с нуля на бесплатных вебинарах онлайн-курса «Специализация Android-разработчик» на Kotlin от OTUS и Альфа Банка: — «Делаем упрощенный аналог приложения Notion»: регистрация — «Управление базой данных в андроиде на примере Room»: регистрация — «View фреймворк в андроиде»: регистрация 👉Регистрируйтесь сегодня — напомним перед вебинаром!
  • Mobile Native

    Kotlin vs Java: The Clean Code Edition Интересная статейка с сравнением одного и того же кода написанного на Kotlin и на Java. P.S. Уже и забыл, когда писал последний раз на Java. Kotlin 💪 Читать (En)
  • Реклама

  • Mobile Native

    Safe button click in Android Сегодня небольшое, частичное дополнение к этому посту. Казалось бы на простую тему, но очень важную – safe button click. И так, в Android по дефолту реализация кликов никак не ограничена. Что имеется ввиду? Если например взять обычную кнопку (Button), повесить на нее listener и кликнуть быстро несколько раз – onClick() будет вызван несколько раз и это не есть хорошо, объясню почему. Кейс 1. Предположим у вас приложение под какой-нибудь интернет-магазин/маркетплейс или что-то подобное. У вас есть фича "Заказы", соответственно экранчик с оформлением заказа и кнопка "Оформить заказ", при нажатии на которую, запрос на бэк. Так вот, будет не очень прикольно, если создастся несколько заказов. А что если вместо заказов, будет например функциональность оплаты? Понятно, что есть 3DS и все такое, но риск все равно есть. Кейс 2. Предположим у вас по клику стартует новая Activity. Как думаете, что будет, если тыкнуть кнопку несколько раз? Совершенно верно, Activity без проблем запустится несколько раз. Последствия зависят от логики, риски могут быть достаточно серьезными. В многих, в том числе и крупных/известных приложениях встречал такое поведение. Кейсов можно придумать множество, от простых до достаточно критичных. Для примера я взял наиболее понятные. Теперь про то, как такое решать? Наиболее популярное решение, которое я видел – delay на клик. То есть, давать возможность нажать на кнопку 1 раз в 1 или несколько секунд. Надеюсь суть понятна. Реализовать такое можно по-разному, кто-то решает через Rx, кто-то через корутины, кто-то через кастомные обработчики. Я больше предпочитаю кастомный обработчик с delay + kotlin extension для View. Вот несколько примеров с реализациями 👉 Kotlin Expert [Safe Click Listener in Android] 👉 Android Safe Click Listener 👉 Ensure single click on Android 👉 How to prevent multiple clicks in Android Jetpack Compose
  • Mobile Native

    Тинькофф проведет первый финтех-митап в Ереване 🟡 Встречу проведут вместе с Ameriabank. Эксперты расскажут: — как меняли подходы и архитектуру в мобильном банке и создавали SuperApp; — как работают с бизнес-требованиями сегодня; — и какие SRE-подходы применяют в разработке. После вместе участники обсудят, как работать с требованиями и с чего начинается действительно крутой продукт. IT’s Tinkoff Fintech Meetup пройдет 16 ноября в Ереване в БЦ «Камар», офис Ameriabank. Зарегистрироваться и узнать о докладах подробнее: https://o.tinkoff.ru/fintech.meetup
  • Mobile Native

    Marquee with Jetpack Compose Реализация marquee эффекта у текста на Jetpack Compose. За основу автор взял этот проект и немного допилил. Код можно посмотреть на GitHub тут и тут. Читать (En)