Kotlin, как работает suspend под капотом
Полезная статейка с разбором того, как работает suspend под капотом.
Оригинал тут: The suspend modifier — under the hood
Читать (Ru)
Полезная статейка с разбором того, как работает suspend под капотом.
Оригинал тут: The suspend modifier — under the hood
Читать (Ru)
👍17
Practical Android Profiling
Статья о том, как обнаруживать и устранять распространенные проблемы с производительностью, с помощью стандартных инструментов. Статья по большей части для начинающих.
Читать (En)
Статья о том, как обнаруживать и устранять распространенные проблемы с производительностью, с помощью стандартных инструментов. Статья по большей части для начинающих.
Читать (En)
👍14
Дайджест недели
Обновление правил Google Play: с 1 ноября 2022 приложение станет недоступным для установки, если его Target API level устарел более, чем на 2 года с момента актуальной версии Android.
WWDC 2022 пройдёт с 6 по 10 июня в онлайн формате.
Android 🤖
• Rx to Coroutines Concepts
• Kotlin, как работает suspend под капотом
• Practical Android Profiling
• Gracefully handling Android app crashes
• Progress Animations in Jetpack Compose with examples
• Design a pixel perfect Android app
• MVI with Android Compose on a real example
• Empowered Lifecycle-Aware ViewModel For Android
• Android — How to Drag And Drop Views in Jetpack Compose
• Jetpack Compose- Powering Swiggy’s new coupon listing page
• Dagger 2 приходит конец. Встречайте новый DI в Jetpack Compose
• Стили в Android. Как организовать темы в проекты
• Собеседование Senior Android разработчика. Проводит Алексей Быков
• Передаём GPU-буферы напрямую в TensorFlow Lite
iOS 🍏
• 50 вопросов и ответов для собеседования по Swift в 2022 году
• Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
• Xcode Smart Debugging Tips| iOS Development
• Core Data — Building a Custom Store
• Удобный способ работы с Realm + Combine. Часть 1
• Удобный способ работы с Realm + Combine. Часть 2
• Swift Size Class that can be understood in 3 seconds
• Logging in Swift
• Error alert presenting in SwiftUI simplified
• Disable animations on a specific view in SwiftUI using transactions
• Hot Reloading in Swift
• Enumerating and Counting Text Components in Swift
• Effortless Concurrency in Swift with Async/Await
Кроссплатформа / Разработка 💻
• Kotlin 1.6.20 Released
• Наиболее распространенные уязвимости в мобильных приложениях
• Flutter for Desktop — новый подход к разработке приложений
• Flutter: Все способы защиты данных
• How Long Does Your Code Take? | Kotlin Tips
• Crash course on the Kotlin compiler | 1. Frontend: Parsing phase
• Gradual null safety migration for large Dart projects
• Flutter Course for Beginners – 37-hour Cross Platform App Development Tutorial
• An Introduction to Layered Architecture in a Kotlin Multiplatform Project
• Understanding Layered Architecture in KMM — Part 2 — Designing the solution
• Unit, Widget, and Integration Testing in Flutter — 14 best packages for testing
• Clean Architecture In Flutter & best plugins that helps you to implement it
• iOS and Android Developments are Converging Over the Years
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Обновление правил Google Play: с 1 ноября 2022 приложение станет недоступным для установки, если его Target API level устарел более, чем на 2 года с момента актуальной версии Android.
WWDC 2022 пройдёт с 6 по 10 июня в онлайн формате.
Android 🤖
• Rx to Coroutines Concepts
• Kotlin, как работает suspend под капотом
• Practical Android Profiling
• Gracefully handling Android app crashes
• Progress Animations in Jetpack Compose with examples
• Design a pixel perfect Android app
• MVI with Android Compose on a real example
• Empowered Lifecycle-Aware ViewModel For Android
• Android — How to Drag And Drop Views in Jetpack Compose
• Jetpack Compose- Powering Swiggy’s new coupon listing page
• Dagger 2 приходит конец. Встречайте новый DI в Jetpack Compose
• Стили в Android. Как организовать темы в проекты
• Собеседование Senior Android разработчика. Проводит Алексей Быков
• Передаём GPU-буферы напрямую в TensorFlow Lite
iOS 🍏
• 50 вопросов и ответов для собеседования по Swift в 2022 году
• Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
• Xcode Smart Debugging Tips| iOS Development
• Core Data — Building a Custom Store
• Удобный способ работы с Realm + Combine. Часть 1
• Удобный способ работы с Realm + Combine. Часть 2
• Swift Size Class that can be understood in 3 seconds
• Logging in Swift
• Error alert presenting in SwiftUI simplified
• Disable animations on a specific view in SwiftUI using transactions
• Hot Reloading in Swift
• Enumerating and Counting Text Components in Swift
• Effortless Concurrency in Swift with Async/Await
Кроссплатформа / Разработка 💻
• Kotlin 1.6.20 Released
• Наиболее распространенные уязвимости в мобильных приложениях
• Flutter for Desktop — новый подход к разработке приложений
• Flutter: Все способы защиты данных
• How Long Does Your Code Take? | Kotlin Tips
• Crash course on the Kotlin compiler | 1. Frontend: Parsing phase
• Gradual null safety migration for large Dart projects
• Flutter Course for Beginners – 37-hour Cross Platform App Development Tutorial
• An Introduction to Layered Architecture in a Kotlin Multiplatform Project
• Understanding Layered Architecture in KMM — Part 2 — Designing the solution
• Unit, Widget, and Integration Testing in Flutter — 14 best packages for testing
• Clean Architecture In Flutter & best plugins that helps you to implement it
• iOS and Android Developments are Converging Over the Years
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍9🔥2
Android — 9 Useful Kotlin Flow Operators You Need to Know
Неплохая статья с объяснением и примерами некоторых операторов Kotlin Flow.
👉 reduce
👉 fold
👉 debounce
👉 sample
👉 flatMapMerge
👉 flatMapConcat
👉 buffer
👉 combine
👉 zip
Читать (En)
Неплохая статья с объяснением и примерами некоторых операторов Kotlin Flow.
👉 reduce
👉 fold
👉 debounce
👉 sample
👉 flatMapMerge
👉 flatMapConcat
👉 buffer
👉 combine
👉 zip
Читать (En)
👍20🔥3
Подборка материалов по мобильной безопасности «Awesome Mobile Security»
Крутая подборка материалов по мобильной безопасности (iOS / Android). Различные инструменты анализа и защиты, статьи, подкасты и уязвимые приложения, на которых можно потренироваться в анализе.
А вот тут большой список материалов по Android: Awesome Android Security
Читать (Ru)
Крутая подборка материалов по мобильной безопасности (iOS / Android). Различные инструменты анализа и защиты, статьи, подкасты и уязвимые приложения, на которых можно потренироваться в анализе.
А вот тут большой список материалов по Android: Awesome Android Security
Читать (Ru)
🔥11👍4
Плагин для Flutter теперь в AppMetrica
В AppMetrica появился плагин для Flutter. С его помощью можно использовать основные фичи AppMetrica для iOS- и Android-приложений на Flutter.
- Продуктовая аналитика
- Push-уведомления
- Трекер
- Мониторинг стабильности
- Возможности API
В AppMetrica появился плагин для Flutter. С его помощью можно использовать основные фичи AppMetrica для iOS- и Android-приложений на Flutter.
- Продуктовая аналитика
- Push-уведомления
- Трекер
- Мониторинг стабильности
- Возможности API
appmetrica.yandex.ru
Подключение и инициализация. AppMetrica
Чтобы интегрировать AppMetrica в приложение Flutter, используйте плагин AppMetrica SDK for Flutter:
👍9💩7
А вот и подробный разбор новой фичи Context Receivers в Kotlin.
YouTube
Context Receivers Are Coming to Kotlin!
Kotlin 1.6.20 comes with a new toy: Context Receivers. You can use them to elegantly constrain functions (and more!) to a specific context from which they can be called. Sebastian (https://twitter.com/sebi_io) helps you figure out what exactly that means:…
👍7🔥2
Structured concurrency explained
Еща одна серия статей, на тему structured concurrency. Основные концепции, корутины, скоупы, обработка ошибок и вот это вот всё.
👉 Part 1: Introduction
👉 Part 2: Exceptions and Cancellations
Еща одна серия статей, на тему structured concurrency. Основные концепции, корутины, скоупы, обработка ошибок и вот это вот всё.
👉 Part 1: Introduction
👉 Part 2: Exceptions and Cancellations
🔥4👍2
В России запустили аналог Google Play — RuMarket
Ну что, вот и запустился российский стор – RuMarket. Кто, что и как – подробностей пока что не нашел, в некоторых источниках пишут, что инвесторами стали Сморгонский, генеральный директор российского подразделения Gett и группа частных IT-инвесторов.
Сам еще пока не ставил, пишут что на RuMarket уже закинули свои приложения ВТБ, Промсвязьбанк и Альфа-банк, а также ведутся переговоры с Сбер, Яндекс, VK и т.д.
Ну что, вот и запустился российский стор – RuMarket. Кто, что и как – подробностей пока что не нашел, в некоторых источниках пишут, что инвесторами стали Сморгонский, генеральный директор российского подразделения Gett и группа частных IT-инвесторов.
Сам еще пока не ставил, пишут что на RuMarket уже закинули свои приложения ВТБ, Промсвязьбанк и Альфа-банк, а также ведутся переговоры с Сбер, Яндекс, VK и т.д.
🤮72👍33💩30😁6
Дайджест недели
Апдейт по российскому стору RuMarket: в интернетах пишут, что это приложение – форк F-Droid, созданного британским программистом, якобы забыли затереть стринги в ресурсах 😁, более подробно можно почитать тут и тут.
Android 🤖
• Android — 9 Useful Kotlin Flow Operators You Need to Know
• Context Receivers Are Coming to Kotlin!
• Structured concurrency explained
• В России запустили аналог Google Play — RuMarket
• Creating an animated selector in Jetpack Compose
• Exploring Android 12: Data Access Rationale
• Exploring Android 13: Downgradable Permission
• Composable metrics
• Сравниваем готовые решения для реализации MVI-архитектуры на Android
• Реализация реакций в приложении ВКонтакте на Android
• Now in Android #59
• Android Mid level Interview questions
• Migrate Apps to Android12
• Refactoring an Android App to Kotlin Multiplatform
• Getting started with Canvas in Compose
• From View to Composable: A Quick jump to Jetpack Compose from an Android View mindset
• Animated Placeholder with Jetpack Compose
• All you need for MVI is Kotlin. How to reduce without a reducer?
• Implementing Complex UX/UI Animations in Spinner for Android Application
• Android App Excellence Summit 2022
iOS 🍏
• Learning SwiftUI Spring Animations: The Basics and Beyond
• Hot Reloading in Swift
• Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift
• Apple всё ещё следит за вами. Без вашего согласия
• SwiftUI performance tips
• Автоматизируем iOS-сборку c помощью Jenkins
• Weak self, a story about memory management and closure in Swift
• 5 Useful Xcode Extensions to Make Work Easier
• Dismissing SwiftUI Views
• Use Swift Actor to handle APIs calls
• Using MetricKit to monitor user data like launch times
• SOLID Principles with Swift
• Finding memory leaks in iOS like a pro!
• The 8 Best iOS Development Tools for iOS Developers
• Navigation and Data Passing in SwiftUI
Кроссплатформа / Разработка 💻
• Подборка материалов по мобильной безопасности «Awesome Mobile Security»
• Плагин для Flutter теперь в AppMetrica
• Разработчик засыпает, просыпается маркетолог: как я приложение продвигал
• React + Flutter = Native
• Top 10 Libraries You Should Know for React Native in 2022
• Flutter vs. React Native in 2022: Detailed Framework Comparison
• Announcing React Native 0.68
• The Abstract Syntax Tree – Kotlin vs. Swift
• How to implement GraphQL with Flutter + GraphQL example
• Very good layered architecture in Flutter
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Апдейт по российскому стору RuMarket: в интернетах пишут, что это приложение – форк F-Droid, созданного британским программистом, якобы забыли затереть стринги в ресурсах 😁, более подробно можно почитать тут и тут.
Android 🤖
• Android — 9 Useful Kotlin Flow Operators You Need to Know
• Context Receivers Are Coming to Kotlin!
• Structured concurrency explained
• В России запустили аналог Google Play — RuMarket
• Creating an animated selector in Jetpack Compose
• Exploring Android 12: Data Access Rationale
• Exploring Android 13: Downgradable Permission
• Composable metrics
• Сравниваем готовые решения для реализации MVI-архитектуры на Android
• Реализация реакций в приложении ВКонтакте на Android
• Now in Android #59
• Android Mid level Interview questions
• Migrate Apps to Android12
• Refactoring an Android App to Kotlin Multiplatform
• Getting started with Canvas in Compose
• From View to Composable: A Quick jump to Jetpack Compose from an Android View mindset
• Animated Placeholder with Jetpack Compose
• All you need for MVI is Kotlin. How to reduce without a reducer?
• Implementing Complex UX/UI Animations in Spinner for Android Application
• Android App Excellence Summit 2022
iOS 🍏
• Learning SwiftUI Spring Animations: The Basics and Beyond
• Hot Reloading in Swift
• Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift
• Apple всё ещё следит за вами. Без вашего согласия
• SwiftUI performance tips
• Автоматизируем iOS-сборку c помощью Jenkins
• Weak self, a story about memory management and closure in Swift
• 5 Useful Xcode Extensions to Make Work Easier
• Dismissing SwiftUI Views
• Use Swift Actor to handle APIs calls
• Using MetricKit to monitor user data like launch times
• SOLID Principles with Swift
• Finding memory leaks in iOS like a pro!
• The 8 Best iOS Development Tools for iOS Developers
• Navigation and Data Passing in SwiftUI
Кроссплатформа / Разработка 💻
• Подборка материалов по мобильной безопасности «Awesome Mobile Security»
• Плагин для Flutter теперь в AppMetrica
• Разработчик засыпает, просыпается маркетолог: как я приложение продвигал
• React + Flutter = Native
• Top 10 Libraries You Should Know for React Native in 2022
• Flutter vs. React Native in 2022: Detailed Framework Comparison
• Announcing React Native 0.68
• The Abstract Syntax Tree – Kotlin vs. Swift
• How to implement GraphQL with Flutter + GraphQL example
• Very good layered architecture in Flutter
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍6🔥5
Обзор решений для навигации в iOS
Еща одна статейка на тему навигации в iOS, в которой сравниваются несколько реализаций, подход к построению навигации от Bado и RouteComposer.
Репозиторий с примерами кода можно посмотреть тут.
Читать (En)
Еща одна статейка на тему навигации в iOS, в которой сравниваются несколько реализаций, подход к построению навигации от Bado и RouteComposer.
Репозиторий с примерами кода можно посмотреть тут.
Читать (En)
👍11
MVC, MVP, MVI, MVVM and VIPER Design Patterns
Статья про всем известные design patterns (MVC, MVP, MVI, MVVM, VIPER), с объяснением базовых штук типа "архитектура", "для чего нужны паттерны" и т.д. и кратким разбором по каждому.
Читать (En)
Статья про всем известные design patterns (MVC, MVP, MVI, MVVM, VIPER), с объяснением базовых штук типа "архитектура", "для чего нужны паттерны" и т.д. и кратким разбором по каждому.
Читать (En)
👍28
Clean Architecture: Android App
Похоже намечается архитектурная неделя 😁, сбился с счету, ну пусть будет тысячная статья про организацию Clean Architecture.
Пример кода на гитхабе: Clean Architecture
Читать (En)
Похоже намечается архитектурная неделя 😁, сбился с счету, ну пусть будет тысячная статья про организацию Clean Architecture.
Пример кода на гитхабе: Clean Architecture
Читать (En)
🔥12👍5👎2
Android Architecture Blueprints v2
Продолжаем тему архитектуры.
👉 Репозиторий с примерами различных архитектур и паттернов под Android.
👉 Тут статейка по миграции Blueprints to Jetpack Compose.
👉 Ну и на всякий случай Guide to app architecture
Продолжаем тему архитектуры.
👉 Репозиторий с примерами различных архитектур и паттернов под Android.
👉 Тут статейка по миграции Blueprints to Jetpack Compose.
👉 Ну и на всякий случай Guide to app architecture
🔥8👍2
Kotlin Tips: Operators and Nullable Values
YouTube
Operator Functions With Nullable Values | Kotlin Tips 2023
In Kotlin, you can override operators like addition and subtraction for your classes and supply your own logic. But what if you want to allow null values, both on their left and right sides?
In this episode of Kotlin Tips, Sebastian (https://twitter.com/sebi_io)…
In this episode of Kotlin Tips, Sebastian (https://twitter.com/sebi_io)…
Forwarded from Записки разработчицы (Anna Zharkova)
Подготовила, надеюсь, интересный кейс для SwiftHero. Осталось только залить на гитхаб.
Разобрала до кишок работу с ServerDrivenUI для SwiftUI:
https://www.youtube.com/watch?v=XS6iH8ElD4o
Торопитесь, пока трансляция жива
Разобрала до кишок работу с ServerDrivenUI для SwiftUI:
https://www.youtube.com/watch?v=XS6iH8ElD4o
Торопитесь, пока трансляция жива
YouTube
Swift Heroes: The Extra. "ServerDriven SwiftUI. Managing declarative UI"
Swift Heroes: The Extra. "ServerDriven SwiftUI. Managing declarative UI" with Anna Zharkova, Lead Mobile Developer, Usetech Company
ServerDriven UI is an interesting approach to deal and manage UI and app settings remotely and flexible. It suits to create…
ServerDriven UI is an interesting approach to deal and manage UI and app settings remotely and flexible. It suits to create…
👍11
Интеграция Huawei Mobile Services (HMS)
Собрал несколько полезных статей/видосов по интеграции Huawei Mobile Services. В текущей, непонятной ситуации, может быть особо актуально.
Статьи
👉 Huawei Mobile Services и AppGallery: подробная инструкция для начинающих
👉 Интеграция Huawei Mobile Services со второй попытки
👉 Выходим на рынок Huawei, или Как мы адаптировали приложение для работы с HMS
👉 Как мы интегрировали Huawei Mobile Services в два этапа
Видосы
👉 Интеграция Huawei Mobile Services (HMS) со второй попытки
👉 Интеграция Huawei Mobile Services (HMS)
👉 Huawei Mobile Services
Официальная документация
👉 HMS Core
👉 Documents and Guides
Собрал несколько полезных статей/видосов по интеграции Huawei Mobile Services. В текущей, непонятной ситуации, может быть особо актуально.
Статьи
👉 Huawei Mobile Services и AppGallery: подробная инструкция для начинающих
👉 Интеграция Huawei Mobile Services со второй попытки
👉 Выходим на рынок Huawei, или Как мы адаптировали приложение для работы с HMS
👉 Как мы интегрировали Huawei Mobile Services в два этапа
Видосы
👉 Интеграция Huawei Mobile Services (HMS) со второй попытки
👉 Интеграция Huawei Mobile Services (HMS)
👉 Huawei Mobile Services
Официальная документация
👉 HMS Core
👉 Documents and Guides
🔥8👍4🤮3
Modeling Retrofit Responses With Sealed Classes and Coroutines
Пример того, как можно организовать обработку ответов от API с помощью sealed классов/интерфейсов и корутин. (Retrofit + Sealed classes/interfaces + Coroutines)
Читать (En)
Пример того, как можно организовать обработку ответов от API с помощью sealed классов/интерфейсов и корутин. (Retrofit + Sealed classes/interfaces + Coroutines)
Читать (En)
👍20🤮2
How ViewModels survive configuration changes
А вы знаете как в андроиде вьюмодельки переживают изменение конфигурации?
Если нет – вот статейка, в которой на примере Activity разобрали исходники из sdk, все достаточно просто. У Activity есть 2 метода, через которые и происходит вся работа.
👉 onRetainNonConfigurationInstance()
👉 getLastNonConfigurationInstance()
Читать (En)
А вы знаете как в андроиде вьюмодельки переживают изменение конфигурации?
Если нет – вот статейка, в которой на примере Activity разобрали исходники из sdk, все достаточно просто. У Activity есть 2 метода, через которые и происходит вся работа.
👉 onRetainNonConfigurationInstance()
👉 getLastNonConfigurationInstance()
Читать (En)
👍22
SwiftUI vs Jetpack Compose by an Android Engineer
Каким-то чудом забыл запостить интересную статью, в которой сравниваются 2 достаточно актуальных фреймворка Jetpack Compose и SwiftUI. Вот, исправляю ситуацию)
Читать (En)
Каким-то чудом забыл запостить интересную статью, в которой сравниваются 2 достаточно актуальных фреймворка Jetpack Compose и SwiftUI. Вот, исправляю ситуацию)
Читать (En)
👍15
Отменяем операции правильно на примере корутин
Еще одна статья про работу с корутинами, в частности про то, как отменять корутины.
Вопрос на засыпку. В статье приводится пример с отменой Thread. Так вот, знаете ли вы как можно остановить/отменить тред?
P.S. как-нибудь выделю время и сделаю подборку по многопоточке.
Читать (Ru)
Еще одна статья про работу с корутинами, в частности про то, как отменять корутины.
Вопрос на засыпку. В статье приводится пример с отменой Thread. Так вот, знаете ли вы как можно остановить/отменить тред?
P.S. как-нибудь выделю время и сделаю подборку по многопоточке.
Читать (Ru)
👍28