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
This media is not supported in your browser
VIEW IN TELEGRAM
Я тут выпал из графика на некоторое время, пора возвращаться в строй 💪. Собрал несколько полезных ссылок с WWDC22 к текущему часу.
Несколько киллер-фич в Xсode 14
1. Иконка приложения. Загружаете одно изображение для иконки, а Xcode автоматически сгенерит необходимые ресурсы, в нужных размерах, в зависимости от таргета 👍
2. Таймлайн сборки. На этапе сборки, можно будет понять какой участок кода собирается плохо 👍
3. Sticky Headers при скролле в коде (гифку взял с канала @iOS_Career) 👍
• Human Interface Guidelines (обновляйте главную страницу)
• Xcode 14 Beta Release Notes
• StoreKit 2 What’s new
• In-App Purchase What`s new
• App Analytics What's new
• App Clips What's new
• Meet Web Push for Safari
• Xcode Cloud now available
• Apple WWDC 2022 — iOS 16 и другие анонсы
• Чего ждать разработчику от WWDC 2022
• WWDC 2022. Что нового в SwiftUI
• What is new in SwiftUI after WWDC22
Ну а вот тут можете детально почитать/посмотреть, что нового для разработчиков.
Несколько киллер-фич в Xсode 14
1. Иконка приложения. Загружаете одно изображение для иконки, а Xcode автоматически сгенерит необходимые ресурсы, в нужных размерах, в зависимости от таргета 👍
2. Таймлайн сборки. На этапе сборки, можно будет понять какой участок кода собирается плохо 👍
3. Sticky Headers при скролле в коде (гифку взял с канала @iOS_Career) 👍
• Human Interface Guidelines (обновляйте главную страницу)
• Xcode 14 Beta Release Notes
• StoreKit 2 What’s new
• In-App Purchase What`s new
• App Analytics What's new
• App Clips What's new
• Meet Web Push for Safari
• Xcode Cloud now available
• Apple WWDC 2022 — iOS 16 и другие анонсы
• Чего ждать разработчику от WWDC 2022
• WWDC 2022. Что нового в SwiftUI
• What is new in SwiftUI after WWDC22
Ну а вот тут можете детально почитать/посмотреть, что нового для разработчиков.
👍14🔥5
Объектно-ориентированный Gradle. Настраиваем Build types в Android, используя Kotlin DSL
Полезная статейка про то, как использовать Kotlin DSL для описания Gradle файлов, как сделать разные типы сборок через код и все это дело подружить.
По большей части будет полезно начинающим или тем, кто ранее не работал с Kotlin DSL, как я)
Читать (Ru)
Полезная статейка про то, как использовать Kotlin DSL для описания Gradle файлов, как сделать разные типы сборок через код и все это дело подружить.
По большей части будет полезно начинающим или тем, кто ранее не работал с Kotlin DSL, как я)
Читать (Ru)
👍9🔥5
Многомодульный BDSM: как связать Gradle модули и как с ними общаться после этого?
Вторая часть про многомодульность, в которой рассматриваются на примере конкретные модули, связи и взаимодействие между модулями.
👉 Часть 1. Стоит ли внедрять Gradle модули и какие типы модулей бывают?
👉 Часть 2. Как связать Gradle модули и как с ними общаться после этого?
Вторая часть про многомодульность, в которой рассматриваются на примере конкретные модули, связи и взаимодействие между модулями.
👉 Часть 1. Стоит ли внедрять Gradle модули и какие типы модулей бывают?
👉 Часть 2. Как связать Gradle модули и как с ними общаться после этого?
🔥6👍1
Что посмотреть на выходных. Подборка полезностей👇
Накопилась пачка полезных видосов, решил закинуть отдельным постом.
👉 Курс от Авито: Паттерны и практики написания кода
👉 Записи Ozon Mobile Meetup
👉 Доклады Kotlin Dev Day
👉 Доклады Android Makers 2022
👉 Gradle Review Show
👉 What Happens if You Add `null + null` in Kotlin?
👉 Mobius 2021 Moscow
👉 Basics for System Back
Накопилась пачка полезных видосов, решил закинуть отдельным постом.
👉 Курс от Авито: Паттерны и практики написания кода
👉 Записи Ozon Mobile Meetup
👉 Доклады Kotlin Dev Day
👉 Доклады Android Makers 2022
👉 Gradle Review Show
👉 What Happens if You Add `null + null` in Kotlin?
👉 Mobius 2021 Moscow
👉 Basics for System Back
👍11
Дайджест недели
Как уже говорил, выпал немного из графика, но это и к лучшему – дайджест получился насыщенный. Появилось много интересных и полезных материалов за эти две недели, в том числе и c WWDC. Некоторые обновления с WWDC вынес в отдельный блок, ну а подробно ознакомиться со всеми изменениями для разработчиков можете сами тут – What’s new for Apple developers
WWDC 2022 🛠
• What's new in Swift
• What's new in Xcode (Video)
• Developer Tools
• SwiftUI & UI Frameworks
• App Store Distribution & Marketing
• App Services
• Xcode 14 Beta Release Notes
• Xcode Cloud now available
• What’s new in SwiftUI
• Чего ждать разработчику от WWDC 2022
• WWDC 2022. Что нового в SwiftUI
• What is new in SwiftUI after WWDC22
• Dive into App Intents
• 3 Powerful Swift Tricks From WWDC 2022
• 11 Hidden iOS 16 Features Not Revealed in WWDC 2022
• What's new in App Clips
• Passkeys
Android 🤖
• Jetpack Compose UI. Подборка.
• 19 Things to Know About Kotlin Flow — A Quick Note
• Заблуждения Clean Architecture
• Avoid Using “when” Expression as Much as Possible. Use Polymorphism Instead
• Объектно-ориентированный Gradle. Настраиваем Build types в Android, используя Kotlin DSL
• Многомодульный BDSM: как связать Gradle модули и как с ними общаться после этого?
• Что посмотреть на выходных. Подборка полезностей👇
• Most Common Android Problems — Android Pitfalls
• Supporting adaptive themed icons on Android 13
• Полдюжины правил для статического анализатора Detekt
• The Top RxJava misunderstanding
• Updating UI using state management in Jetpack compose
• ViewModel: One-off event antipatterns
• A first look: Google’s Privacy Sandbox and its effect on SDKs
• Huawei Map Kit Marker in Jetpack Compose Android
• Multi-Module Architecture in Android
• In-App Review with Jetpack Compose
• Как сделать Android-приложение тестируемым? Часть 1 — MVP и MVVM
iOS 🍏
• Improve Performance in your iOS Applications
• Почему в России перестали работать Universal Links?
• Xcode Debugging tips and tricks
• What’s the difference between any and some in Swift 5.7?
• What’s new in SwiftUI for iOS 16 – Hacking with Swift
• What’s new in Swift 5.7 – Hacking with Swift
• Integrate and migrate in-app purchases to App Store Server API
• Гибкая навигация в iOS
• 100 SwiftUI Recipes by DevTechie.com
• UserDefaults. Настройки пользователя
• Faster Xcode builds when switching branches
• SwiftUI: Understanding identity via transitions
• Factory Design Pattern in Swift for Beginners
• The Next Page: Building Infinite Scroll with SwiftUI
• 14 Useful Array operators in Swift
• Tips for Implementing Universal Links into Your iOS Apps
• Swift — 6 things you might know but you forgot
Кроссплатформа / Разработка 💻
• Жизнь разработчика в ОАЭ, Дубай
• Сборка мусора во Flutter
• Kotlin 1.7.0 Released
• Ещё о Flutter 3
• Как применить БЭМ методологию во Flutter проекте
• Как следить за здоровьем морских свинок с помощью Machine Learning и мобильного приложения
• Как создать мобильную ферму, или Вжух! И ты мобильный фермер
• Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
• О Flutter 3
• Сборка мусора во Flutter
• Add Splash(launch) Screen in less than 1 minute for your Flutter apps
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
Как уже говорил, выпал немного из графика, но это и к лучшему – дайджест получился насыщенный. Появилось много интересных и полезных материалов за эти две недели, в том числе и c WWDC. Некоторые обновления с WWDC вынес в отдельный блок, ну а подробно ознакомиться со всеми изменениями для разработчиков можете сами тут – What’s new for Apple developers
WWDC 2022 🛠
• What's new in Swift
• What's new in Xcode (Video)
• Developer Tools
• SwiftUI & UI Frameworks
• App Store Distribution & Marketing
• App Services
• Xcode 14 Beta Release Notes
• Xcode Cloud now available
• What’s new in SwiftUI
• Чего ждать разработчику от WWDC 2022
• WWDC 2022. Что нового в SwiftUI
• What is new in SwiftUI after WWDC22
• Dive into App Intents
• 3 Powerful Swift Tricks From WWDC 2022
• 11 Hidden iOS 16 Features Not Revealed in WWDC 2022
• What's new in App Clips
• Passkeys
Android 🤖
• Jetpack Compose UI. Подборка.
• 19 Things to Know About Kotlin Flow — A Quick Note
• Заблуждения Clean Architecture
• Avoid Using “when” Expression as Much as Possible. Use Polymorphism Instead
• Объектно-ориентированный Gradle. Настраиваем Build types в Android, используя Kotlin DSL
• Многомодульный BDSM: как связать Gradle модули и как с ними общаться после этого?
• Что посмотреть на выходных. Подборка полезностей👇
• Most Common Android Problems — Android Pitfalls
• Supporting adaptive themed icons on Android 13
• Полдюжины правил для статического анализатора Detekt
• The Top RxJava misunderstanding
• Updating UI using state management in Jetpack compose
• ViewModel: One-off event antipatterns
• A first look: Google’s Privacy Sandbox and its effect on SDKs
• Huawei Map Kit Marker in Jetpack Compose Android
• Multi-Module Architecture in Android
• In-App Review with Jetpack Compose
• Как сделать Android-приложение тестируемым? Часть 1 — MVP и MVVM
iOS 🍏
• Improve Performance in your iOS Applications
• Почему в России перестали работать Universal Links?
• Xcode Debugging tips and tricks
• What’s the difference between any and some in Swift 5.7?
• What’s new in SwiftUI for iOS 16 – Hacking with Swift
• What’s new in Swift 5.7 – Hacking with Swift
• Integrate and migrate in-app purchases to App Store Server API
• Гибкая навигация в iOS
• 100 SwiftUI Recipes by DevTechie.com
• UserDefaults. Настройки пользователя
• Faster Xcode builds when switching branches
• SwiftUI: Understanding identity via transitions
• Factory Design Pattern in Swift for Beginners
• The Next Page: Building Infinite Scroll with SwiftUI
• 14 Useful Array operators in Swift
• Tips for Implementing Universal Links into Your iOS Apps
• Swift — 6 things you might know but you forgot
Кроссплатформа / Разработка 💻
• Жизнь разработчика в ОАЭ, Дубай
• Сборка мусора во Flutter
• Kotlin 1.7.0 Released
• Ещё о Flutter 3
• Как применить БЭМ методологию во Flutter проекте
• Как следить за здоровьем морских свинок с помощью Machine Learning и мобильного приложения
• Как создать мобильную ферму, или Вжух! И ты мобильный фермер
• Эволюция Server-Driven UI: динамические поля, хэндлеры и многошаг
• О Flutter 3
• Сборка мусора во Flutter
• Add Splash(launch) Screen in less than 1 minute for your Flutter apps
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍6🔥1
Как сделать Android-приложение тестируемым?
Несколько статей с практическими примерами про то, как закладывать архитектуру для написания различных видов тестов (Unit, Инструментальных, E2E), чем отличаются архитектуры и соответствующие подходы к созданию тестов.
👉 Часть 1 — MVP и MVVM
👉 Часть 2 — MVI
Примеры кода на Github: qa-kotlin-mvvm и qa-kotlin-mvi
Несколько статей с практическими примерами про то, как закладывать архитектуру для написания различных видов тестов (Unit, Инструментальных, E2E), чем отличаются архитектуры и соответствующие подходы к созданию тестов.
👉 Часть 1 — MVP и MVVM
👉 Часть 2 — MVI
Примеры кода на Github: qa-kotlin-mvvm и qa-kotlin-mvi
🔥8👍1
Achieving Interface segregation in Android using Kotlin extension and inline functions
Простой пример реализации принципа "Разделения интерфейсов" из SOLID, с помощью Kotlin extension и inline функций.
В качестве примера, в статье рассматривается интерфейс
Кстати, еще один способ – реализовать некий адаптер обертку над интерфейсом и использовать его. Можете посмотреть исходники нативного
Читать (En)
Простой пример реализации принципа "Разделения интерфейсов" из SOLID, с помощью Kotlin extension и inline функций.
В качестве примера, в статье рассматривается интерфейс
TextWatcher для EditText, имеющий несколько методов, но в андроиде на самом деле, довольно много таких кейсов – нужен 1 метод, а приходиться реализовать все. В статье собственно и показан пример как это решить.Кстати, еще один способ – реализовать некий адаптер обертку над интерфейсом и использовать его. Можете посмотреть исходники нативного
AnimatorListenerAdapter.Читать (En)
👍15
MVI в iOS-приложении
Полезная статья от hh про то, как они внедряли MVI в iOS приложение. Что такое MVI и как он работает, как определялись с вариантами реализации, рассматриваются различные кейсы, ну и ко всему этому, интерактивные гифки =))
И еще одна статейка от hh про стейт-машины → Стейт-машины в iOS
Читать (Ru)
Полезная статья от hh про то, как они внедряли MVI в iOS приложение. Что такое MVI и как он работает, как определялись с вариантами реализации, рассматриваются различные кейсы, ну и ко всему этому, интерактивные гифки =))
И еще одна статейка от hh про стейт-машины → Стейт-машины в iOS
Читать (Ru)
👍8🔥2👎1💩1
The easiest way to implement Firebase RemoteConfig in Android
Простой пример реализации Firebase RemoteConfig.
На самом деле, достаточно мощный инструмент, который позволяет гибко настраивать параметры для конфигурации приложения, сегментировать пользователей по многим параметрам, что может быть полезно для а/б тестов и раскатки фич.
НО, в идеале такой сервис (remote config) для приложения нужно иметь на своём бэке, чтоб снизить риски внешних зависимостей. Особенно важно в текущей ситуации, когда внезапно что-нибудь может перестать работать.
Читать (En)
Простой пример реализации Firebase RemoteConfig.
На самом деле, достаточно мощный инструмент, который позволяет гибко настраивать параметры для конфигурации приложения, сегментировать пользователей по многим параметрам, что может быть полезно для а/б тестов и раскатки фич.
НО, в идеале такой сервис (remote config) для приложения нужно иметь на своём бэке, чтоб снизить риски внешних зависимостей. Особенно важно в текущей ситуации, когда внезапно что-нибудь может перестать работать.
Читать (En)
👍7
Идеальная архитектура. Чем отличается UseCase от Interactor?
Если еще не смотрели новый видос у Лёши Гладкова про архитектуру, обязательно посмотрите. Достаточно подробно разобрал главные правила любой архитектуры и все, основные компоненты Clean Architecture (Repository, DataSource, UseCase, Interactor).
Есть конечно холиварные темы, типа "Нужны интерфейсы или нет" или про те же UseCase`ы и Interactor`ы, но в целом, достаточно полезный разбор. Особенно полезно будет начинающим.
Если еще не смотрели новый видос у Лёши Гладкова про архитектуру, обязательно посмотрите. Достаточно подробно разобрал главные правила любой архитектуры и все, основные компоненты Clean Architecture (Repository, DataSource, UseCase, Interactor).
Есть конечно холиварные темы, типа "Нужны интерфейсы или нет" или про те же UseCase`ы и Interactor`ы, но в целом, достаточно полезный разбор. Особенно полезно будет начинающим.
YouTube
Идеальная архитектура. Чем отличается UseCase от Interactor? / Мобильный разработчик
Всем привет, меня очень часто спрашивают как сделать "идеальную архитектуру", что такое "идеальная архитектура" и так далее. Чем UseCase отличается от Interactor? Когда нужно пилить интерфейсы, когда не нужно, когда нужно делить на фиче модули, а когда нет.…
🔥17🤮9👍5
iOS App Modularisation — the Starting Point
Полезная статейка, в которой рассматриваются пожалуй основные и базовые вопросы модуляризации в iOS. Когда начинать разбивать проект на модули, как разделить приложение на модули и какие есть возможные варианты.
Основная мысль как и в других платформах – каждый модуль должен быть максимально независимый и автономный, а взаимодействие между модулями должно осуществляться через интерфейсы (Protocol).
Подробности и примеры, смотрите/читайте в статье. Пример кода можно посмотреть на GitHub.
Читать (En)
Полезная статейка, в которой рассматриваются пожалуй основные и базовые вопросы модуляризации в iOS. Когда начинать разбивать проект на модули, как разделить приложение на модули и какие есть возможные варианты.
Основная мысль как и в других платформах – каждый модуль должен быть максимально независимый и автономный, а взаимодействие между модулями должно осуществляться через интерфейсы (Protocol).
Подробности и примеры, смотрите/читайте в статье. Пример кода можно посмотреть на GitHub.
Читать (En)
👍6🔥2
Дайджест недели
Новостей интересных за прошедшую неделю особо и не было, за исключением обновления Telegram, в котором запустили подписку Telegram Premium. Стоимость подписки вроде как 449₽/мес, в которую входит: отсутствие рекламы, расшифровка войсов, загрузки файлов до 4 ГБ, какие-то уникальные реакции, премиальные стикеры, анимированные аватары и еще что-то. Хз конечно, может и зайдет, но как будто за платную подписку ожидаешь чего-то большего, чем уникальные реакции, премиальные стикеры и всё такое ))
Android 🤖
• Как сделать Android-приложение тестируемым?
• Achieving Interface segregation in Android using Kotlin extension and inline function
• The easiest way to implement Firebase RemoteConfig in Android
• Android — How to write the best Usecase/Interactors ever!
• How to build a messaging UI for your Android chat app
• Easy View Binding with Kotlin Delegate
• Why should you always test Compose performance in release?
• Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки
• Mirror Effect with Jetpack Compose
• Введение в Jetpack Compose
• Линтинг в Kotlin: полное руководство по настройке и эксплуатации
• Best Architecture for Jetpack Compose
• Jetpack Compose bottom sheet over Android view using Kotlin extension
• Parallax in Jetpack Compose. Just an Illusion!
• Creating a graph in Jetpack Compose
• Android — Spring & Fling Animations with Jetpack compose
• Implementing a fully-custom Design Language System with Jetpack Compose — Part 1/2: Foundation
• Implementing a fully-custom Design Language System with Jetpack Compose — Part 2/2: Components
• Android: Navigating with App Shortcuts
iOS 🍏
• MVI в iOS-приложении
• iOS App Modularisation — the Starting Point
• What are primary associated types in Swift 5.7?
• Using the ‘some’ and ‘any’ keywords to reference generic protocols in Swift 5.7
• Rendering SwiftUI views within UITableView or UICollectionView cells on iOS 16
• [Async/await] Как работает Coroutine Model
• RxSwift + PropertyWrapper: инкапсуляция и синтаксический сахар
• Hot Reloading a SwiftUI App
• What’s New in SwiftUI TextField for iOS 16?
• Xcode Cloud — Continuous Integration and Deployment
• Mastering NavigationStack in SwiftUI. Navigator Pattern
• New in iOS 16 — Self-resizing UICollectionView Cells
• How to Reverse Engineer and Patch an iOS Application for Beginners: Part I
• SwiftUI: How to create awesome flip effect with Rotation 3D Effect in 3 seconds
Кроссплатформа / Разработка 💻
• Tests Are The Best Kind Of Documentation
• Идеальная архитектура. Чем отличается UseCase от Interactor?
• Automate CI/CD Pipeline for Mobile App
• Flash Error Messages In Flutter
• Drop Shadow Effect In Flutter
• Как использовать gRPC-клиент в проекте на Kotlin Multiplatform Mobile
• Minimalist Guide to Testing in Flutter
• Curved Line Charts in Flutter
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
Новостей интересных за прошедшую неделю особо и не было, за исключением обновления Telegram, в котором запустили подписку Telegram Premium. Стоимость подписки вроде как 449₽/мес, в которую входит: отсутствие рекламы, расшифровка войсов, загрузки файлов до 4 ГБ, какие-то уникальные реакции, премиальные стикеры, анимированные аватары и еще что-то. Хз конечно, может и зайдет, но как будто за платную подписку ожидаешь чего-то большего, чем уникальные реакции, премиальные стикеры и всё такое ))
Android 🤖
• Как сделать Android-приложение тестируемым?
• Achieving Interface segregation in Android using Kotlin extension and inline function
• The easiest way to implement Firebase RemoteConfig in Android
• Android — How to write the best Usecase/Interactors ever!
• How to build a messaging UI for your Android chat app
• Easy View Binding with Kotlin Delegate
• Why should you always test Compose performance in release?
• Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки
• Mirror Effect with Jetpack Compose
• Введение в Jetpack Compose
• Линтинг в Kotlin: полное руководство по настройке и эксплуатации
• Best Architecture for Jetpack Compose
• Jetpack Compose bottom sheet over Android view using Kotlin extension
• Parallax in Jetpack Compose. Just an Illusion!
• Creating a graph in Jetpack Compose
• Android — Spring & Fling Animations with Jetpack compose
• Implementing a fully-custom Design Language System with Jetpack Compose — Part 1/2: Foundation
• Implementing a fully-custom Design Language System with Jetpack Compose — Part 2/2: Components
• Android: Navigating with App Shortcuts
iOS 🍏
• MVI в iOS-приложении
• iOS App Modularisation — the Starting Point
• What are primary associated types in Swift 5.7?
• Using the ‘some’ and ‘any’ keywords to reference generic protocols in Swift 5.7
• Rendering SwiftUI views within UITableView or UICollectionView cells on iOS 16
• [Async/await] Как работает Coroutine Model
• RxSwift + PropertyWrapper: инкапсуляция и синтаксический сахар
• Hot Reloading a SwiftUI App
• What’s New in SwiftUI TextField for iOS 16?
• Xcode Cloud — Continuous Integration and Deployment
• Mastering NavigationStack in SwiftUI. Navigator Pattern
• New in iOS 16 — Self-resizing UICollectionView Cells
• How to Reverse Engineer and Patch an iOS Application for Beginners: Part I
• SwiftUI: How to create awesome flip effect with Rotation 3D Effect in 3 seconds
Кроссплатформа / Разработка 💻
• Tests Are The Best Kind Of Documentation
• Идеальная архитектура. Чем отличается UseCase от Interactor?
• Automate CI/CD Pipeline for Mobile App
• Flash Error Messages In Flutter
• Drop Shadow Effect In Flutter
• Как использовать gRPC-клиент в проекте на Kotlin Multiplatform Mobile
• Minimalist Guide to Testing in Flutter
• Curved Line Charts in Flutter
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍7🔥1
От LiveData к Flow…
Ребята из команды СберЗдоровье рассказывают про переход от LiveData к Flow для связки ViewModel с View слоем. Ну и как всегда, рассматриваются основные отличия LiveData, различных видов Flow, Channel и что из этого лучше подходит под конкретные задачи.
Читать (Ru)
Ребята из команды СберЗдоровье рассказывают про переход от LiveData к Flow для связки ViewModel с View слоем. Ну и как всегда, рассматриваются основные отличия LiveData, различных видов Flow, Channel и что из этого лучше подходит под конкретные задачи.
Читать (Ru)
👍18💩13🐳2
Аналитика в декларативном стиле с поддержкой многомодульности
Интересный вариант реализации отправки событий аналитики в декларативном стиле и многомодульном проекте. С примерами кода, который можно адаптировать по себя.
Читать (Ru)
Интересный вариант реализации отправки событий аналитики в декларативном стиле и многомодульном проекте. С примерами кода, который можно адаптировать по себя.
Читать (Ru)
👍7❤🔥2💯1
Common Mistakes in User Experience / User Interfaces
Недавно в соседнем канале закинули 2 интересные статейки про UI/UX, которые решил продублировать сюда.
Статьи не совсем стандартные для моего канала, но весьма полезные. Архитектура архитектурой, но продуманый UX и красивый UI тоже играет большую роль в работоспособности наших приложений.
👉 Bad Bad UI: 10 Common Mistakes in User Interfaces (👏 3.3К)
👉 Bad Bad UX: 20 Common Mistakes in User Experience (👏 1K)
P.S. Поставьте плиз соответствующую реакцию 👍, 🔥 или ❤️, так я пойму стоит размещать в дальнейшем подобные материалы или нет.
Недавно в соседнем канале закинули 2 интересные статейки про UI/UX, которые решил продублировать сюда.
Статьи не совсем стандартные для моего канала, но весьма полезные. Архитектура архитектурой, но продуманый UX и красивый UI тоже играет большую роль в работоспособности наших приложений.
👉 Bad Bad UI: 10 Common Mistakes in User Interfaces (👏 3.3К)
👉 Bad Bad UX: 20 Common Mistakes in User Experience (👏 1K)
P.S. Поставьте плиз соответствующую реакцию 👍, 🔥 или ❤️, так я пойму стоит размещать в дальнейшем подобные материалы или нет.
👍27🔥6❤3💯1
Улучшаем производительность android-приложения с помощью Baseline profiles
Полезная статья о том, как с помощью новой фичи Baseline profiles ускорить время запуска приложения и повысить производительность. Также, в статье достаточно подробно рассказывается как работает ART, AOT, JIT, Dalvik.
Документация тут: Baseline Profiles
Либа, которую нужно подрубить, для генерации профиля: ProfileInstaller
Читать (Ru)
Полезная статья о том, как с помощью новой фичи Baseline profiles ускорить время запуска приложения и повысить производительность. Также, в статье достаточно подробно рассказывается как работает ART, AOT, JIT, Dalvik.
Документация тут: Baseline Profiles
Либа, которую нужно подрубить, для генерации профиля: ProfileInstaller
Читать (Ru)
👍7
Дайджест недели
«Яндекс» открыл разработчикам доступ к своим тестам для проверки технических навыков. Назвали они эту штуку "Диагностика навыков" – по сути, это такой же, обычный собес в Яндекс, только в итоге вы получите финальную оценку вашего технического уровня, подробности тут.
Вы тоже заметили, что Jetpack Compose достаточно быстро стал набирать обороты?)
Android 🤖
• От LiveData к Flow…
• Аналитика в декларативном стиле с поддержкой многомодульност
• Улучшаем производительность android-приложения с помощью Baseline profiles
• Things you can do in Android Studio
• Why I quit Android Development after 10 years and what I plan to do now
• The State of Navigation in Jetpack Compose
• Collections: Maps
• Common Kotlin Coroutines use-cases
• Using Live Templates to Improve Android Development Productivity
• How Kotlin Coroutine works - the brief dive
• Build State-driven UI with MVVM and clean architecture in android.
• Android 13: какие изменения нас ожидают
• Jetpack Compose для тех, кто в танке
• Easing in to Easing Curves in Jetpack Compose
• Koin Annotations 1.0 - Now Stable!
• Полное руководство по тестовым дублерам в Android — Часть 1: Теория
• Kotlin Flow with Clean Architecture and MVVM Pattern in Android
• Difference between getActivity and requireActivity
iOS 🍏
• Announcing the Language Workgroup | Swift
• Async/Await, Combine, Closures: A Guide to Modern Asynchronous Swift
• New in SwiftUI 4: Gauge View
• WWDC NOTES
• Swift Charts Examples | GitHub
• SF Symbols 4 variable colors
• Do `any` and `some` help with "Protocol Oriented Testing" at all?
• Method Dispatch
• Copy-on-write
• Как iOS 15 сломала авторизацию на два месяца. Хронология и лечение от СберМаркета
• Взаимодействие с alerts и permissions в ui-тестировании iOS
• Refactor a Swift Codebase Using SOLID Principles — in an Iterative Way
• Understanding the “some” and “any” keywords in Swift 5.7
• How to override system appearance in SwiftUI
Кроссплатформа / Разработка 💻
• Common Mistakes in User Experience / User Interfaces
• Flutter Google Map With Live Location Tracking — Uber Style
• A List of state management approaches in Flutter
• 5 Untold Features of Kotlin. Hidden features of Kotlin
• Flutter Interview Questions
• Как добавить Isar в проект на Flutter
• Implemented Overlay In Flutter
• Flutter Canvas API: Getting Started
• Minimalist Guide to Testing in Flutter — Part 2 Mocking
• 7 Useful JetBrains IDE Plugins to Make Your Life Easier
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
«Яндекс» открыл разработчикам доступ к своим тестам для проверки технических навыков. Назвали они эту штуку "Диагностика навыков" – по сути, это такой же, обычный собес в Яндекс, только в итоге вы получите финальную оценку вашего технического уровня, подробности тут.
Вы тоже заметили, что Jetpack Compose достаточно быстро стал набирать обороты?)
Android 🤖
• От LiveData к Flow…
• Аналитика в декларативном стиле с поддержкой многомодульност
• Улучшаем производительность android-приложения с помощью Baseline profiles
• Things you can do in Android Studio
• Why I quit Android Development after 10 years and what I plan to do now
• The State of Navigation in Jetpack Compose
• Collections: Maps
• Common Kotlin Coroutines use-cases
• Using Live Templates to Improve Android Development Productivity
• How Kotlin Coroutine works - the brief dive
• Build State-driven UI with MVVM and clean architecture in android.
• Android 13: какие изменения нас ожидают
• Jetpack Compose для тех, кто в танке
• Easing in to Easing Curves in Jetpack Compose
• Koin Annotations 1.0 - Now Stable!
• Полное руководство по тестовым дублерам в Android — Часть 1: Теория
• Kotlin Flow with Clean Architecture and MVVM Pattern in Android
• Difference between getActivity and requireActivity
iOS 🍏
• Announcing the Language Workgroup | Swift
• Async/Await, Combine, Closures: A Guide to Modern Asynchronous Swift
• New in SwiftUI 4: Gauge View
• WWDC NOTES
• Swift Charts Examples | GitHub
• SF Symbols 4 variable colors
• Do `any` and `some` help with "Protocol Oriented Testing" at all?
• Method Dispatch
• Copy-on-write
• Как iOS 15 сломала авторизацию на два месяца. Хронология и лечение от СберМаркета
• Взаимодействие с alerts и permissions в ui-тестировании iOS
• Refactor a Swift Codebase Using SOLID Principles — in an Iterative Way
• Understanding the “some” and “any” keywords in Swift 5.7
• How to override system appearance in SwiftUI
Кроссплатформа / Разработка 💻
• Common Mistakes in User Experience / User Interfaces
• Flutter Google Map With Live Location Tracking — Uber Style
• A List of state management approaches in Flutter
• 5 Untold Features of Kotlin. Hidden features of Kotlin
• Flutter Interview Questions
• Как добавить Isar в проект на Flutter
• Implemented Overlay In Flutter
• Flutter Canvas API: Getting Started
• Minimalist Guide to Testing in Flutter — Part 2 Mocking
• 7 Useful JetBrains IDE Plugins to Make Your Life Easier
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍10🤡6❤🔥3
Modularising Trendyol Android App for Build Efficiency
Еще одна крутая статья на тему многомодульности в Android. В статье разбираются основные аспекты типа, как повысить эффективность сборки за счет модуляризации, как собираются модули, параллельные Gradle сборки, зависимости модулей, взаимодействие и т.д.
Ну а в конце статьи, можно посмотреть пример того, какой профит в скорости можно получить от модуляризации.
Читать (En)
Еще одна крутая статья на тему многомодульности в Android. В статье разбираются основные аспекты типа, как повысить эффективность сборки за счет модуляризации, как собираются модули, параллельные Gradle сборки, зависимости модулей, взаимодействие и т.д.
Ну а в конце статьи, можно посмотреть пример того, какой профит в скорости можно получить от модуляризации.
Читать (En)
❤🔥11👍3