«Внешняя» навигация в многомодульном проекте на Kotlin
Еще одна статья о том, как организовать навигацию в многомодульном проекте, снизить связность и зависимость модулей между собой, закрыв всё это дело за «чистыми» интерфейсами.
Код на GitHub → Multimodule Navigation Sample
Читать (Ru)
Еще одна статья о том, как организовать навигацию в многомодульном проекте, снизить связность и зависимость модулей между собой, закрыв всё это дело за «чистыми» интерфейсами.
Код на GitHub → Multimodule Navigation Sample
Читать (Ru)
👍19🔥3❤2
Про тестирование мобильных приложений
Серия коротких статей про тестирование мобильных приложений.
👉 Часть 1. Обзор
👉 Часть 2. Unit tests
👉 Часть 3. Cквозное (UI, e2e) тестирование
Серия коротких статей про тестирование мобильных приложений.
👉 Часть 1. Обзор
👉 Часть 2. Unit tests
👉 Часть 3. Cквозное (UI, e2e) тестирование
👍7🔥5🤔1
Google I/O 2023
👉 What’s new in Jetpack Compose
👉 What's new in Jetpack
👉 Second Beta of Android 14
👉 What’s new in Google Play
👉 What’s new in Android Health
👉 Meet Android Studio Bot
👉 Redesigning the Android Studio Logo
👉 Introducing the Watch Face Format for Wear OS
👉 What’s new with Android for Cars
👉 What’s new in Jetpack Compose
👉 What's new in Jetpack
👉 Second Beta of Android 14
👉 What’s new in Google Play
👉 What’s new in Android Health
👉 Meet Android Studio Bot
👉 Redesigning the Android Studio Logo
👉 Introducing the Watch Face Format for Wear OS
👉 What’s new with Android for Cars
❤6👍3🔥3
Google I/O 2023. Что нового в Kotlin для Android?
В догонку к предыдущему посту, краткий обзор от Анны Жарковой про новинки Kotlin для Android, представленные Google.
👉 Kotlin 2.0 и новый компилятор
👉 Kotlin DSL по умолчанию для Gradle builds
👉 Мигрируем с KAPT на KSP
👉 Мультиплатформа
Читать (Ru)
В догонку к предыдущему посту, краткий обзор от Анны Жарковой про новинки Kotlin для Android, представленные Google.
👉 Kotlin 2.0 и новый компилятор
👉 Kotlin DSL по умолчанию для Gradle builds
👉 Мигрируем с KAPT на KSP
👉 Мультиплатформа
Читать (Ru)
🔥13👍4❤1
Gradle Cheat Sheet for Android and KMP Projects – Plugins
Cheat Sheet по Gradle от Touchlab. Как происходит процесс сборки, подключение плагинов, репозитории.
Читать (En)
Cheat Sheet по Gradle от Touchlab. Как происходит процесс сборки, подключение плагинов, репозитории.
Читать (En)
🔥10👍2👏2🥱2
Четыре платформы — один код. Что такое Compose Multiplatform?
Вводная статья с примером, про удобный и мощный инструмент мобильной и десктопной разработки — Compose Multiplatform.
Читать (Ru)
Вводная статья с примером, про удобный и мощный инструмент мобильной и десктопной разработки — Compose Multiplatform.
Читать (Ru)
👍14🔥6❤2
Forwarded from Swift Tips
Как стать iOS-разработчиком?
Достаточно объемная статья про то, что именно нужно изучать, чтоб стать iOS-разработчиком и где искать нужные материалы(язык, платформа, архитектура, алгоритмы, Git и т.д.). А еще, в статье собраны ссылки на различные, полезные источники и сообщества.
Несколько полезных ссылок из статьи
• iOS Developer Roadmap
• How to become an expert in iOS development
• iOS Roadmap for beginners
Читать (Ru)
Достаточно объемная статья про то, что именно нужно изучать, чтоб стать iOS-разработчиком и где искать нужные материалы(язык, платформа, архитектура, алгоритмы, Git и т.д.). А еще, в статье собраны ссылки на различные, полезные источники и сообщества.
Несколько полезных ссылок из статьи
• iOS Developer Roadmap
• How to become an expert in iOS development
• iOS Roadmap for beginners
Читать (Ru)
🔥4👍2❤1
Перформанс 2ГИС для Android
Статья от 2ГИС про то, как они перерабатывали приложение с целью повысить перфоманс(сократить время запуска, ускорить загрузку компонентов и т.д.).
Читать (Ru)
Статья от 2ГИС про то, как они перерабатывали приложение с целью повысить перфоманс(сократить время запуска, ускорить загрузку компонентов и т.д.).
Читать (Ru)
👍7👎6🔥4❤2
Чистый код
Тут вышла 3-я, завершающая часть из цикла «Чистый код», про исключения, классы и всё, что не вошло в прошлые разделы.
Ссылки на все части
• Часть 1
• Часть 2
• Часть 3
Читать (Ru)
Тут вышла 3-я, завершающая часть из цикла «Чистый код», про исключения, классы и всё, что не вошло в прошлые разделы.
Ссылки на все части
• Часть 1
• Часть 2
• Часть 3
Читать (Ru)
❤9👍5🔥1🤔1
10 Open-Source Projects That’ll Make You Excited About Using Jetpack Compose
Ещё одна подборка проектов для изучения, реализованных на Jetpack Compose 🔥
• Klokk
• MovieCompose
• NewtonsTimer
• Flux
• Create-compose-app
• McCompose
• Schedule Calendar
• Wiggles
• Roffu
• ViMusic
Читать (En)
Ещё одна подборка проектов для изучения, реализованных на Jetpack Compose 🔥
• Klokk
• MovieCompose
• NewtonsTimer
• Flux
• Create-compose-app
• McCompose
• Schedule Calendar
• Wiggles
• Roffu
• ViMusic
Читать (En)
👍11❤4🔥4🥰3
This media is not supported in your browser
VIEW IN TELEGRAM
Jetpack Compose: Expandable Text
Пример реализации expandable text на Jetpack Compose с кликабельным лейблом «…more» в конце строки.
Читать (Ru)
Пример реализации expandable text на Jetpack Compose с кликабельным лейблом «…more» в конце строки.
Читать (Ru)
👍14🔥3❤1
Get Current User Location in Jetpack Compose Using Clean Architecture
Пример получения местоположения по clean архитектуре, на корутинах и Jetpack Compose.
Читать (En)
Пример получения местоположения по clean архитектуре, на корутинах и Jetpack Compose.
Читать (En)
👍12❤3🔥1
Kotlin Sealed Interfaces: A Deep Dive into a Powerful New Feature
Неплохая статья с примерами по основам и использованию sealed интерфейсов.
👉 Subtypes of Sealed Interfaces
👉 Advanced Techniques and Best Practices
👉 Avoiding Subclassing
👉 Extending Sealed Interfaces
👉 Sealed Classes vs Sealed Interfaces
Читать (En)
Неплохая статья с примерами по основам и использованию sealed интерфейсов.
👉 Subtypes of Sealed Interfaces
👉 Advanced Techniques and Best Practices
👉 Avoiding Subclassing
👉 Extending Sealed Interfaces
👉 Sealed Classes vs Sealed Interfaces
Читать (En)
👍8🤔3👎2🔥2
Что посмотреть на выходных.
Тут выложили доклады с Mobius 2022 Autumn.
Android
• Как пройти архитектурную секцию собеседования
• Навигируемся в Jetpack Compose
• Android Navigation at scale
• Какие параметры компьютера влияют на скорость Gradle-сборки
• Gradle: Incremental compilation 101
• Нужен ли Bazel в Android-разработке?
• The Elm Architecture in Prod
• С чем мы столкнулись при создании российского магазина Android-приложений
• Android Insets и анимация клавиатуры
• GraphQL: как уговорить сервер подстроиться под приложение
• Impact Analysis. Как мы ускоряли юнит-тесты
• Векторные иконки в Android: анатомия, патофизиология, диагностика и хирургия
iOS
• Оптимизация UI с использованием Texture
• Как и зачем дробить iOS-приложение на микрофичи
• Как выстроить DI в многомодульном iOS-приложении при помощи Needle
• TDD + BDD = TBD (Tests, Business, Development). Триада инженерной культуры
• Подписки в iOS: Deep Dive
• Выжимаем максимум из SwiftUI Preview
• Keyboard avoiding in SwiftUI
• Distributed actors и где они обитают
• И ещё чуть-чуть про изображения
• Бот как сердце коммьюнити
• Как Яндекс Go самокаты BLE внедряли
Кроссплатформа
• DivKit — дивная разработка
• Почему KMM — не кроссплатформа?
• Мультиплатформенный Redux и SwiftUI / Jetpack Compose
• Быть или не быть senior'ом
• Как взломать собеседование
• ОС «Аврора» глазами Android- и iOS-разработчика
• Как избежать хаоса: навигация как отдельный логический уровень
• Перестройка: как провести рефакторинг с пользой
• Телефон, NFC и пластиковые карты — романтика!
• Работа с картой в каршеринге
• Как перестать волноваться и начать ревьюить код быстро и эффективно
• Состояние дел в Fuchsia
Тут выложили доклады с Mobius 2022 Autumn.
Android
• Как пройти архитектурную секцию собеседования
• Навигируемся в Jetpack Compose
• Android Navigation at scale
• Какие параметры компьютера влияют на скорость Gradle-сборки
• Gradle: Incremental compilation 101
• Нужен ли Bazel в Android-разработке?
• The Elm Architecture in Prod
• С чем мы столкнулись при создании российского магазина Android-приложений
• Android Insets и анимация клавиатуры
• GraphQL: как уговорить сервер подстроиться под приложение
• Impact Analysis. Как мы ускоряли юнит-тесты
• Векторные иконки в Android: анатомия, патофизиология, диагностика и хирургия
iOS
• Оптимизация UI с использованием Texture
• Как и зачем дробить iOS-приложение на микрофичи
• Как выстроить DI в многомодульном iOS-приложении при помощи Needle
• TDD + BDD = TBD (Tests, Business, Development). Триада инженерной культуры
• Подписки в iOS: Deep Dive
• Выжимаем максимум из SwiftUI Preview
• Keyboard avoiding in SwiftUI
• Distributed actors и где они обитают
• И ещё чуть-чуть про изображения
• Бот как сердце коммьюнити
• Как Яндекс Go самокаты BLE внедряли
Кроссплатформа
• DivKit — дивная разработка
• Почему KMM — не кроссплатформа?
• Мультиплатформенный Redux и SwiftUI / Jetpack Compose
• Быть или не быть senior'ом
• Как взломать собеседование
• ОС «Аврора» глазами Android- и iOS-разработчика
• Как избежать хаоса: навигация как отдельный логический уровень
• Перестройка: как провести рефакторинг с пользой
• Телефон, NFC и пластиковые карты — романтика!
• Работа с картой в каршеринге
• Как перестать волноваться и начать ревьюить код быстро и эффективно
• Состояние дел в Fuchsia
👍12🔥4❤2❤🔥1
Вопросы и ответы для собеседования по Kotlin. Часть 4
На хабре вышла 4-я часть из цикла «Вопросы и ответы для собеседования по Kotlin».
👉 Extensions (расширения)
👉 Функции высшего порядка, лямбда-выражения, анонимные функции
👉 Встроенные (inline) функции, crossinline и noinline, reified
Читать (Ru)
На хабре вышла 4-я часть из цикла «Вопросы и ответы для собеседования по Kotlin».
👉 Extensions (расширения)
👉 Функции высшего порядка, лямбда-выражения, анонимные функции
👉 Встроенные (inline) функции, crossinline и noinline, reified
Читать (Ru)
👍15🔥6❤3👏1
Network Connectivity Service using callbackFlow and Jetpack Compose
Пример реализации сервиса по отслеживанию состояние подключения к сети через callbackFlow.
Читать (En)
Пример реализации сервиса по отслеживанию состояние подключения к сети через callbackFlow.
Читать (En)
👍10🔥6🤔2
Memory Optimization Techniques in Android
Несколько базовых советов для начинающих по оптимизации памяти в Android.
👉 Use Efficient Data Structures
👉 Manage Object Lifecycles
👉 Optimize Resource Loading
👉 Use Proguard
👉 Use Kotlin Data Classes
👉 Use Object Pooling
Читать (En)
Несколько базовых советов для начинающих по оптимизации памяти в Android.
👉 Use Efficient Data Structures
👉 Manage Object Lifecycles
👉 Optimize Resource Loading
👉 Use Proguard
👉 Use Kotlin Data Classes
👉 Use Object Pooling
Читать (En)
👍19🔥2👏2🤡2👎1💩1🤨1
Migrate from MVVM to MVI
В статье автор делится опытом миграции с MVVM на собственное MVI решение в связке Clean + MVI + Jetpack Compose.
Пример кода на GitHub → ComposeNews
Читать (En)
В статье автор делится опытом миграции с MVVM на собственное MVI решение в связке Clean + MVI + Jetpack Compose.
Пример кода на GitHub → ComposeNews
Читать (En)
🔥11👎4👍2🤔2
Jetpack Compose Tutorial: Animated Navigation Bar
Пример реализации Navigation бара с кастомной анимацией на Jetpack Compose.
Читать (En)
Пример реализации Navigation бара с кастомной анимацией на Jetpack Compose.
Читать (En)
👍15🔥5❤1
The Best Way To Structure Your iOS Project
Неплохая статья для начинающих с примером организации структуры проекта.
Если коротко
- Храните рядом файлы, которые связаны друг с другом или имеют что-то общее
- Общие компоненты выносите в отдельные папки, например UI с детализацией (Indicators, TextFields, Buttons и т.д.)
Статья с примером структуры iOS проекта, но актуально для всех платформ.
Читать (En)
Неплохая статья для начинающих с примером организации структуры проекта.
Если коротко
- Храните рядом файлы, которые связаны друг с другом или имеют что-то общее
- Общие компоненты выносите в отдельные папки, например UI с детализацией (Indicators, TextFields, Buttons и т.д.)
Статья с примером структуры iOS проекта, но актуально для всех платформ.
Читать (En)
👍5🔥3❤1👎1
How to Test the Navigation Component in Jetpack Compose?
Пошаговое руководство по написанию тестов для Navigation Component из Jetpack Compose.
Читать (En)
Пошаговое руководство по написанию тестов для Navigation Component из Jetpack Compose.
Читать (En)
👍8👏3🔥2🎉2❤1🤔1