Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
Полезная статья от HH про то, как вынести вендорозависимый код (Google services, HMS) в отдельные модули и разделить сборки для AppGallery и Google Play через Product flavors.
А так же напоминаю, вот тут целая подборка материалов по интеграции HMS.
Читать (Ru)
Полезная статья от HH про то, как вынести вендорозависимый код (Google services, HMS) в отдельные модули и разделить сборки для AppGallery и Google Play через Product flavors.
А так же напоминаю, вот тут целая подборка материалов по интеграции HMS.
Читать (Ru)
👍10
Google Play SDK Index
Google представили прикольную штуку Google Play SDK Index – некий новый общедоступный портал, на котором собраны более 100 наиболее широко используемых коммерческих SDK с подробной инфой о каждом из них.
Посмотреть доступные sdk можно тут: Google Play SDK Index
Google представили прикольную штуку Google Play SDK Index – некий новый общедоступный портал, на котором собраны более 100 наиболее широко используемых коммерческих SDK с подробной инфой о каждом из них.
Посмотреть доступные sdk можно тут: Google Play SDK Index
👍11🤔1
Now in Android - a new, open source, real-world sample app
Google выложили исходники приложения Now in Android.
Приложение сделано по официальным гайдам и с учетом последних технологий.
👉 Jetpack Compose
👉 Material3
👉 Адаптивная верстка
👉 Архитектура по официальным гайдам
👉 Kotlin Flows
👉 Room & Proto DataStore
👉 WorkManager
Это рабочее приложение, которое они планирует опубликовать в Play Store.
Исходники тут: Now in Android App
Google выложили исходники приложения Now in Android.
Приложение сделано по официальным гайдам и с учетом последних технологий.
👉 Jetpack Compose
👉 Material3
👉 Адаптивная верстка
👉 Архитектура по официальным гайдам
👉 Kotlin Flows
👉 Room & Proto DataStore
👉 WorkManager
Это рабочее приложение, которое они планирует опубликовать в Play Store.
Исходники тут: Now in Android App
👍19🔥4
Дайджест недели
Главным событием этой неделя было Google I/O, на которой представили некоторые нововведения, зарелизили ряд новых версий библиотек и инструментов. Из интересного: вышла вторая Beta Android 13, запустили сервис Google Play SDK Index, представили Flutter 3, выложили исходники приложения Now in Android. Все ссылки в дайджесте.
Android 🤖
• 13 Things to know for Android developers at Google I/O!
• Google Play SDK Index
• Что нового в инструментах Android-разработки
• Что нового в Jetpack Compose (Beta 1.2)
• Now in Android - a new, open source, real-world sample app
• Вышла вторая Beta Android 13
• Android Studio Chipmunk Released
• Jetpack DragAndDrop Released 1.0.0
• Compose performance
• Announcing Compose for Wear OS Beta!
• Introducing Health Connect, a new API for Android app developers to securely access user health data
• What's new in Google Play
• Android Lint. Подборка
• Fragula – swipe-to-dismiss extension for navigation component library for Android
• Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
• Here's a productivity hack to save tens of engineering hours* when working with Jetpack Compose!
• Understand Proguard Generated Files and Manually De-obfuscate Stacktrace
• Build a Custom IntelliJ Code Inspection Plugin
• How To Use Android’s Proto DataStore With Kotlin Support
• The Guide To Your First Annotation Processor with KSP (And Becoming A Kotlin Artist)
• Airbnb uses Jetpack Compose to empower devs to do their best work
iOS 🍏
• Apple отключила оплату в App Store со счёта мобильного у «Мегафона», Yota и Tele2
• Write Beautiful Code With Swift Result Builder
• Modeling errors in Swift
• A flexible way to handle and alert errors in SwiftUI
• How do we use SwiftUI in the Medium iOS application
• Заполнители типа в Swift: что это такое и когда их следует использовать
• On iOS applications architecture
• 5 актуальных расширений Xcode для оптимизации разработки
• 10 Tips and Tricks for Swift Developers
• How to Read Websites in SwiftUI — Data Scraping in iOS
• Swift: A few tips for improving code quality
• SSL/Certificate Pinning — iOS 14.0 Never easy before
• Clean Architecture: iOS App
• Creating hex-based colors in UIKit, AppKit and SwiftUI
• Core Data Relationship in Swift 5— made simple
• Building a document scanner in SwiftUI
• Bottom Sheet, shall we drop the formalities?
• Introduction to Dependency Injection with Needle - The Uber Way
• SwiftUI Still Isn’t Production-Ready
Кроссплатформа / Разработка 💻
• Introducing Flutter 3
• What’s new in Flutter 3
• Dart 2.17: Productivity and integration
• Flutter and working with native code
• Flutter для Apple TV (Перевод)
• Return and Throw with the Elvis Operator | Kotlin Tips
• Key takeaways from our Kotlin Multiplatform journey
• jugger – внедрение зависимостей как в Android
• Exposing the separate resources module to iOS target using moko-resources in KMM
← Previous | Next →
Публикация на Habr: Дайджест недели (мобильная разработка)
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
Главным событием этой неделя было Google I/O, на которой представили некоторые нововведения, зарелизили ряд новых версий библиотек и инструментов. Из интересного: вышла вторая Beta Android 13, запустили сервис Google Play SDK Index, представили Flutter 3, выложили исходники приложения Now in Android. Все ссылки в дайджесте.
Android 🤖
• 13 Things to know for Android developers at Google I/O!
• Google Play SDK Index
• Что нового в инструментах Android-разработки
• Что нового в Jetpack Compose (Beta 1.2)
• Now in Android - a new, open source, real-world sample app
• Вышла вторая Beta Android 13
• Android Studio Chipmunk Released
• Jetpack DragAndDrop Released 1.0.0
• Compose performance
• Announcing Compose for Wear OS Beta!
• Introducing Health Connect, a new API for Android app developers to securely access user health data
• What's new in Google Play
• Android Lint. Подборка
• Fragula – swipe-to-dismiss extension for navigation component library for Android
• Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
• Here's a productivity hack to save tens of engineering hours* when working with Jetpack Compose!
• Understand Proguard Generated Files and Manually De-obfuscate Stacktrace
• Build a Custom IntelliJ Code Inspection Plugin
• How To Use Android’s Proto DataStore With Kotlin Support
• The Guide To Your First Annotation Processor with KSP (And Becoming A Kotlin Artist)
• Airbnb uses Jetpack Compose to empower devs to do their best work
iOS 🍏
• Apple отключила оплату в App Store со счёта мобильного у «Мегафона», Yota и Tele2
• Write Beautiful Code With Swift Result Builder
• Modeling errors in Swift
• A flexible way to handle and alert errors in SwiftUI
• How do we use SwiftUI in the Medium iOS application
• Заполнители типа в Swift: что это такое и когда их следует использовать
• On iOS applications architecture
• 5 актуальных расширений Xcode для оптимизации разработки
• 10 Tips and Tricks for Swift Developers
• How to Read Websites in SwiftUI — Data Scraping in iOS
• Swift: A few tips for improving code quality
• SSL/Certificate Pinning — iOS 14.0 Never easy before
• Clean Architecture: iOS App
• Creating hex-based colors in UIKit, AppKit and SwiftUI
• Core Data Relationship in Swift 5— made simple
• Building a document scanner in SwiftUI
• Bottom Sheet, shall we drop the formalities?
• Introduction to Dependency Injection with Needle - The Uber Way
• SwiftUI Still Isn’t Production-Ready
Кроссплатформа / Разработка 💻
• Introducing Flutter 3
• What’s new in Flutter 3
• Dart 2.17: Productivity and integration
• Flutter and working with native code
• Flutter для Apple TV (Перевод)
• Return and Throw with the Elvis Operator | Kotlin Tips
• Key takeaways from our Kotlin Multiplatform journey
• jugger – внедрение зависимостей как в Android
• Exposing the separate resources module to iOS target using moko-resources in KMM
← Previous | Next →
Публикация на Habr: Дайджест недели (мобильная разработка)
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍5🔥5
Знакомьтесь: библиотека TiRecycler
Пример реализации собственной библиотеки от Тинькофф, которую они используют для работы со списками.
Библиотека тут: TiRecycler
Читать (Ru)
Пример реализации собственной библиотеки от Тинькофф, которую они используют для работы со списками.
Библиотека тут: TiRecycler
Читать (Ru)
👍13💩8
Design Patterns implemented in Swift
Тут в соседнем канале закинули ссылку на репозиторий с реализацией наиболее популярных паттернов на Swift. Дублирую тут, вдруг кому понадобится.
GitHub: Design Patterns implemented in Swift
Тут в соседнем канале закинули ссылку на репозиторий с реализацией наиболее популярных паттернов на Swift. Дублирую тут, вдруг кому понадобится.
GitHub: Design Patterns implemented in Swift
👍10
Custom Canvas Animations in Jetpack Compose
Статья с примерами реализации анимаций на канвасе в Jetpack Compose.
Код примеров из статьи
👉 Crane sample
👉 Android Compose Motion Sample
Читать (En)
Статья с примерами реализации анимаций на канвасе в Jetpack Compose.
Код примеров из статьи
👉 Crane sample
👉 Android Compose Motion Sample
Читать (En)
🔥9👍3
3 Design Patterns Every Developer Should Learn
Еще одна статья (5К 👏) про шаблоны проектирования, в которой автор разбирает несколько популярных шаблонов (Strategy, Singleton и Observer), которые по его мнению должен знать каждый разработчик.
Читать (En)
Еще одна статья (5К 👏) про шаблоны проектирования, в которой автор разбирает несколько популярных шаблонов (Strategy, Singleton и Observer), которые по его мнению должен знать каждый разработчик.
Читать (En)
👍10👏2
Special Google I/O 2022 Edition
Google собрали и разделили на отдельные видюшки основное, что было на Google I/O 2022.
Google собрали и разделили на отдельные видюшки основное, что было на Google I/O 2022.
👍5🔥1
Scan code without camera permissions
Google показали новое API для сканирования кодов через Google Play Services, которое не требует разрешение камеры.
По сути, это легковесный сканер без возможности кастоматизации UI, который сканирует и возвращает результат. Новое API лежит в ML Kit фреймворке и работает начиная с API 21 и выше, ну и пока что API находится в beta версии.
Документация тут: Google code scanner (Beta)
Видюшка тут: What's new in Android machine learning
Все видюшки тут: Special Google I/O 2022 Edition
Google показали новое API для сканирования кодов через Google Play Services, которое не требует разрешение камеры.
По сути, это легковесный сканер без возможности кастоматизации UI, который сканирует и возвращает результат. Новое API лежит в ML Kit фреймворке и работает начиная с API 21 и выше, ну и пока что API находится в beta версии.
Документация тут: Google code scanner (Beta)
Видюшка тут: What's new in Android machine learning
Все видюшки тут: Special Google I/O 2022 Edition
🔥24👍3❤1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Каналу Mobile Native 1 год 🥳
Сегодня каналу ровно 1 год с момента его создания, а первый пост был опубликован 1 июня 2021 года.
За первый год канал вырос с 0 до 4К подписчиков. Да, большая часть из Вас пришла с платной рекламы и тем не менее, я считаю это достойным Результатом. За что и хочется выразить благодарность каждому из Вас и сказать спасибо 🙏. А так же отдельный респект тем, кто накидывает интересные материалы для постов в личку 👍.
Хотелось бы до второго дня рождения сделать еще столько же + 4К-5К. Понимаю, что это будет не легко, т.к. нормальные источники трафика, которые я знал закончились. Но ничего, есть идеи по развитию и я думаю всё получится.
Возможно в ближайшем будущем запущу цикл опросов, чтоб лучше узнать аудиторию канала и быть более точным для Вас в плане контента. Просьба к опросам отнестись с пониманием. Ну и напоминаю, что предложения, идеи, замечания и т.д. можно смело присылать мне в личку @artemiygreg.
Еще раз всем спасибо и с Днём Рождения Нас!!! 🎉🎉🎉
Сегодня каналу ровно 1 год с момента его создания, а первый пост был опубликован 1 июня 2021 года.
За первый год канал вырос с 0 до 4К подписчиков. Да, большая часть из Вас пришла с платной рекламы и тем не менее, я считаю это достойным Результатом. За что и хочется выразить благодарность каждому из Вас и сказать спасибо 🙏. А так же отдельный респект тем, кто накидывает интересные материалы для постов в личку 👍.
Хотелось бы до второго дня рождения сделать еще столько же + 4К-5К. Понимаю, что это будет не легко, т.к. нормальные источники трафика, которые я знал закончились. Но ничего, есть идеи по развитию и я думаю всё получится.
Возможно в ближайшем будущем запущу цикл опросов, чтоб лучше узнать аудиторию канала и быть более точным для Вас в плане контента. Просьба к опросам отнестись с пониманием. Ну и напоминаю, что предложения, идеи, замечания и т.д. можно смело присылать мне в личку @artemiygreg.
Еще раз всем спасибо и с Днём Рождения Нас!!! 🎉🎉🎉
🎉95👍7❤4👏1🤔1
Do you use Kotlin’s most powerful tool?
Неплохая статья с примерами кода, про использование лямбда-функций в Kotlin.
👉 Do you use Kotlin’s most powerful tool?
👉 Используете ли вы самый мощный инструмент Kotlin? (перевод AppTractor)
Неплохая статья с примерами кода, про использование лямбда-функций в Kotlin.
👉 Do you use Kotlin’s most powerful tool?
👉 Используете ли вы самый мощный инструмент Kotlin? (перевод AppTractor)
👍8🔥2💩1
Forwarded from Digital Media
VK при поддержке Минцифры запустила бета-версию российского магазина приложений
VK в сотрудничестве с другими ИТ-компаниями и при поддержке Минцифры разработала и запустила бета-версию российского магазина мобильных приложений RuStore.
Какой это по счету уже наш стор, кажется 3-й?)
В сторе уже более 100 приложений, по понятным причинам это приложения банковской сферы, приложения Яндекса, самого VK, маркетплейсов и других крупных брендов.
Летом обещают запилить пуши, платежи, рейтинг приложений и до конца года аналитику и маркетинговые штуки.
@digital_epoch
VK в сотрудничестве с другими ИТ-компаниями и при поддержке Минцифры разработала и запустила бета-версию российского магазина мобильных приложений RuStore.
Какой это по счету уже наш стор, кажется 3-й?)
В сторе уже более 100 приложений, по понятным причинам это приложения банковской сферы, приложения Яндекса, самого VK, маркетплейсов и других крупных брендов.
Летом обещают запилить пуши, платежи, рейтинг приложений и до конца года аналитику и маркетинговые штуки.
@digital_epoch
💩50👍24🤮5🔥2👎1😁1🤔1
Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
Достаточно полезная статья про многомодульность, в которой рассматриваются актуальные вопросы и проблемы: стоит ли внедрять Gradle модули, для чего это нужно, какие типы модулей бывают, связи и зависимости модулей и т.д.
Читать (Ru)
Достаточно полезная статья про многомодульность, в которой рассматриваются актуальные вопросы и проблемы: стоит ли внедрять Gradle модули, для чего это нужно, какие типы модулей бывают, связи и зависимости модулей и т.д.
Читать (Ru)
👍12🔥3
Дайджест недели
Новостной фон вроде как стабильный, за исключением запуска RuStore. Google I/O прошла, теперь все ждут WWDC 2022. В этот раз, дайджест снова большой и мощный за 2 недели – есть что почитать.
Подзадолбался я руками собирать/форматировать дайджесты. Посидел, подумал и решил это дело чутка автоматизировать. Накидал по-быстрому скриптик, которому скармливаю список ссылок, а он уже сам выдёргивает тайтл, форматирует и делает кликабельную ссылку. Пока что скрипт достаточно тупой, но уже экономит много времени. В дальнейшем надеюсь допилю и будет еще удобней 💪
На следующей недели состоится долгожданный iOS митап от Avito. Кому интересно, залетайте.
Android 🤖
• Special Google I/O 2022 Edition
• Scan code without camera permissions
• Do you use Kotlin’s most powerful tool?
• VK при поддержке Минцифры запустила бета-версию российского магазина приложений
• Some Best Practices for Android App Architecture
• 15 Best Android Libraries for 2022
• Strategies for managing Gradle dependencies
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить
• Toying with Kotlin's context receivers
• Deep dive into Android ANR | OkCredit
• A cleaner way to interact between Composable and ViewModel in Jetpack Compose
• Speeding up Kotlin Multiplatform
• Jetpack Compose Clean Architecture with Rorty App
• 5 Awesome Jetpack Compose Custom Progress Indicator Designs
• Detect Swipe Direction on Jetpack Compose to trigger BottomSheetScaffold
• Spot your UI jank using CPU profiler in Android Studio
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Using MotionLayout in Compose
• Measure and improve performance with Macrobenchmark
• The Suspend & Inline Mystery | Kotlin Tips 2022
• Full Guide to Testing Android Applications in 2022
• Compose Navigation in 3 Minutes
• Jetpack Compose under the hood: Touch Events
iOS 🍏
• С 30 июня Apple не пустит в AppStore приложения без возможности удаления аккаунта
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Золотые правила “weak self”
• Debugging Network Traffic With Proxyman
• A deep dive into Swift reference counting
• Memory leaks prevention using an autoreleasepool in unit tests
• Map on collections in Swift
• Calling Private APIs in iOS
• Scripting in Swift: Git Hooks
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Markdown rendering using Text in SwiftUI - SwiftLee
• Vision Framework Tutorial for iOS: Contour Detection
• Core Data Saving Changes
• Mastering TimelineView in SwiftUI
• The power of accessibilityChildren view modifier in SwiftUI
• Closures in Swift explained
• 100 SwiftUI Recipes
• Design a Beautiful Loading Screen for Your iOS App
• How To Boost Your iOS Code Performance by Reducing Collection Type Initialisation
• 16 Useful Extensions for SwiftUI
• Design Patterns implemented in Swift
Кроссплатформа / Разработка 💻
• SOLID – это не правила, а гайдлайны
• Нелегкий путь к динамическому анализу мобильных приложений
• Flutter 3: что нового (перевод)
• Dart 2.17: Продуктивность и интеграция
• KMP, iOS Developers and Production
• Kotlin — Lazy Thread-safety modes explained
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
• 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
Новостной фон вроде как стабильный, за исключением запуска RuStore. Google I/O прошла, теперь все ждут WWDC 2022. В этот раз, дайджест снова большой и мощный за 2 недели – есть что почитать.
Подзадолбался я руками собирать/форматировать дайджесты. Посидел, подумал и решил это дело чутка автоматизировать. Накидал по-быстрому скриптик, которому скармливаю список ссылок, а он уже сам выдёргивает тайтл, форматирует и делает кликабельную ссылку. Пока что скрипт достаточно тупой, но уже экономит много времени. В дальнейшем надеюсь допилю и будет еще удобней 💪
На следующей недели состоится долгожданный iOS митап от Avito. Кому интересно, залетайте.
Android 🤖
• Special Google I/O 2022 Edition
• Scan code without camera permissions
• Do you use Kotlin’s most powerful tool?
• VK при поддержке Минцифры запустила бета-версию российского магазина приложений
• Some Best Practices for Android App Architecture
• 15 Best Android Libraries for 2022
• Strategies for managing Gradle dependencies
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить
• Toying with Kotlin's context receivers
• Deep dive into Android ANR | OkCredit
• A cleaner way to interact between Composable and ViewModel in Jetpack Compose
• Speeding up Kotlin Multiplatform
• Jetpack Compose Clean Architecture with Rorty App
• 5 Awesome Jetpack Compose Custom Progress Indicator Designs
• Detect Swipe Direction on Jetpack Compose to trigger BottomSheetScaffold
• Spot your UI jank using CPU profiler in Android Studio
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Using MotionLayout in Compose
• Measure and improve performance with Macrobenchmark
• The Suspend & Inline Mystery | Kotlin Tips 2022
• Full Guide to Testing Android Applications in 2022
• Compose Navigation in 3 Minutes
• Jetpack Compose under the hood: Touch Events
iOS 🍏
• С 30 июня Apple не пустит в AppStore приложения без возможности удаления аккаунта
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Золотые правила “weak self”
• Debugging Network Traffic With Proxyman
• A deep dive into Swift reference counting
• Memory leaks prevention using an autoreleasepool in unit tests
• Map on collections in Swift
• Calling Private APIs in iOS
• Scripting in Swift: Git Hooks
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Markdown rendering using Text in SwiftUI - SwiftLee
• Vision Framework Tutorial for iOS: Contour Detection
• Core Data Saving Changes
• Mastering TimelineView in SwiftUI
• The power of accessibilityChildren view modifier in SwiftUI
• Closures in Swift explained
• 100 SwiftUI Recipes
• Design a Beautiful Loading Screen for Your iOS App
• How To Boost Your iOS Code Performance by Reducing Collection Type Initialisation
• 16 Useful Extensions for SwiftUI
• Design Patterns implemented in Swift
Кроссплатформа / Разработка 💻
• SOLID – это не правила, а гайдлайны
• Нелегкий путь к динамическому анализу мобильных приложений
• Flutter 3: что нового (перевод)
• Dart 2.17: Продуктивность и интеграция
• KMP, iOS Developers and Production
• Kotlin — Lazy Thread-safety modes explained
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
• 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍10🔥3
Jetpack Compose UI. Подборка.
Небольшая подборка статей по работе с UI (анимации, canvas, кастомные компоненты) в Jetpack Compose.
👉 Parallax Effect with SensorManager using Jetpack Compose
👉 Custom Pull to Refresh in Jetpack Compose
👉 Custom Progress Bars in Jetpack Compose
👉 Time Selection Screen for Timer App in Jetpack Compose — Part I
👉 Collapsing Toolbar in Jetpack Compose | ‘LazyColumn’ version — Part 1
👉 Collapsing Toolbar in Jetpack Compose | ‘LazyColumn’ version — Part 2
👉 Animated Pixie Dust Cursor and more
👉 Custom Canvas Animations in Jetpack Compose
Небольшая подборка статей по работе с UI (анимации, canvas, кастомные компоненты) в Jetpack Compose.
👉 Parallax Effect with SensorManager using Jetpack Compose
👉 Custom Pull to Refresh in Jetpack Compose
👉 Custom Progress Bars in Jetpack Compose
👉 Time Selection Screen for Timer App in Jetpack Compose — Part I
👉 Collapsing Toolbar in Jetpack Compose | ‘LazyColumn’ version — Part 1
👉 Collapsing Toolbar in Jetpack Compose | ‘LazyColumn’ version — Part 2
👉 Animated Pixie Dust Cursor and more
👉 Custom Canvas Animations in Jetpack Compose
👍20
19 Things to Know About Kotlin Flow — A Quick Note
Статья-заметка, 19 пунктов о которых нужно знать про Kotlin Flow.
Читать (En)
Статья-заметка, 19 пунктов о которых нужно знать про Kotlin Flow.
Читать (En)
👍13🔥4
Заблуждения Clean Architecture
Вчера наткнулся на довольно старую статью на Хабре, от 2017 года про Clean Architecture. Статья старая, но достаточно крутая. В ней очень подробно разбираются все, основные аспекты архитектуры с фактами, и ссылками на различные источники: слои, где должна быть логика, связи, UseCases vs Interactor и т.д.
Поэтому, если вы не до конца понимаете принципы Clean Architecture или путаетесь в понятиях и терминах – рекомендую к прочтению.
Читать (Ru)
Вчера наткнулся на довольно старую статью на Хабре, от 2017 года про Clean Architecture. Статья старая, но достаточно крутая. В ней очень подробно разбираются все, основные аспекты архитектуры с фактами, и ссылками на различные источники: слои, где должна быть логика, связи, UseCases vs Interactor и т.д.
Поэтому, если вы не до конца понимаете принципы Clean Architecture или путаетесь в понятиях и терминах – рекомендую к прочтению.
Читать (Ru)
🔥20👍7
Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
Статья от Альфа-Банк про то, как у них реализован Server-Driven UI.
В последнее время, как будто больше материалов стало про Server/Backend-Driven UI. В целом подход стоящий и полезный в плане быстрого выпуска фичей в прод, тестирования гипотез и проведении а/б тестов. Но для реализации в мобилках, требует ряд подготовительных работ, что может быть трудозатратно. Самому не приходилось в полной мере поработать с Server/Backend-Driven UI, но подход нравится.
Так же не давно была схожая статья от Ozon
👉 Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
👉 Как работает Backend-Driven UI на мобильном клиенте
Статья от Альфа-Банк про то, как у них реализован Server-Driven UI.
В последнее время, как будто больше материалов стало про Server/Backend-Driven UI. В целом подход стоящий и полезный в плане быстрого выпуска фичей в прод, тестирования гипотез и проведении а/б тестов. Но для реализации в мобилках, требует ряд подготовительных работ, что может быть трудозатратно. Самому не приходилось в полной мере поработать с Server/Backend-Driven UI, но подход нравится.
Так же не давно была схожая статья от Ozon
👉 Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
👉 Как работает Backend-Driven UI на мобильном клиенте
👍6🔥3💩2
Avoid Using “when” Expression as Much as Possible. Use Polymorphism Instead
Простой пример того, как заменить
Ну и можно почитать комменты к статье, так как у многих мнения разделились на этот счет)
Читать (En)
Простой пример того, как заменить
when с помощью полиморфизма в Kotlin на основе Sealed классов.Ну и можно почитать комменты к статье, так как у многих мнения разделились на этот счет)
Читать (En)
👎13👍8🔥7
Xcode Debugging tips and tricks
Короткая, но полезная статья с советами и рекомендациями по отладке в Xcode.
👉 p & po command
👉 symbolic breakpoints
👉 v command
👉 expression command
Читать (En)
Короткая, но полезная статья с советами и рекомендациями по отладке в Xcode.
👉 p & po command
👉 symbolic breakpoints
👉 v command
👉 expression command
Читать (En)
🔥3👍2💩1