Bottom Sheet, перейдём на «ты»?
Туториал по созданию собственного Bottom Sheet в iOS, cо всеми необходимыми плюшками: умеет подстраиваться под размер контента, интерактивно закрывается и поддерживает UINavigationController.
В iOS есть нативная реализация Bottom Sheet, но насколько я понял у него есть какие-то траблы + он поддерживается только с iOS 15.
Код из статьи тут
Туториал по созданию собственного Bottom Sheet в iOS, cо всеми необходимыми плюшками: умеет подстраиваться под размер контента, интерактивно закрывается и поддерживает UINavigationController.
В iOS есть нативная реализация Bottom Sheet, но насколько я понял у него есть какие-то траблы + он поддерживается только с iOS 15.
Код из статьи тут
🔥3👍2💩2
Jetpack Compose Enables JSON Defined View Layout
Довольная интересная штука – можно строить UI на Jetpack Compose через Json. Один из крутых кейсов – Server-Side Rendering, когда ваш бэк присылает нужный Json, из которого на клиенте отрисовывается UI.
Довольная интересная штука – можно строить UI на Jetpack Compose через Json. Один из крутых кейсов – Server-Side Rendering, когда ваш бэк присылает нужный Json, из которого на клиенте отрисовывается UI.
👍21🔥12😱3💩1
Things every Kotlin Developer should know about Coroutines
Ловите цикл статей по работе с корутинами с примерами.
👉 Part 1: CoroutineContext
👉 Part 2: CoroutineScope
👉 Part 3: Structured Concurrency
👉 Part 4: Exception Handling
👉 Part 5: Cancellation
Ловите цикл статей по работе с корутинами с примерами.
👉 Part 1: CoroutineContext
👉 Part 2: CoroutineScope
👉 Part 3: Structured Concurrency
👉 Part 4: Exception Handling
👉 Part 5: Cancellation
🔥22👍11💩4🤔1
iOS App Architecture in 2022
Статья о том, как нужно подходить к архитектуре iOS приложений в 2022 году.
Статья о том, как нужно подходить к архитектуре iOS приложений в 2022 году.
👍7😱2💩1
Сompose_Internals.pdf
3.7 MB
Jetpack Compose Internals. Книга про то, как работает Compose, runtime, compiler и вот это вот всё. Вдруг кому понадобится.
🔥32❤7👍6💩6
Несколько статей, про классы, структуры и протоколы в Swift.
👉 Swift. Class && Struct (классы и структуры) ч.1
👉 Swift. Class && Struct (классы и структуры) ч.2
👉 Swift. Протоколы
👉 Swift. Class && Struct (классы и структуры) ч.1
👉 Swift. Class && Struct (классы и структуры) ч.2
👉 Swift. Протоколы
👍4
GraphQL в мобильной разработке
Интересная статья про использование GraphQL в мобилках. Для тех, кто не в курсе GraphQL – это язык запросов, с помощью которого клиент сам указывает набор данных, которые хочет получить с бэка. Интересно, что на практике, в проде до сих пор не удалось с ним поработать, кругом REST, хотя инструмент вполне себе достойный.
P.S. Добавил группу @mobile_native_chat к каналу для обсуждений, все посты должны транслироваться туда – можно хейтить 😁
Интересная статья про использование GraphQL в мобилках. Для тех, кто не в курсе GraphQL – это язык запросов, с помощью которого клиент сам указывает набор данных, которые хочет получить с бэка. Интересно, что на практике, в проде до сих пор не удалось с ним поработать, кругом REST, хотя инструмент вполне себе достойный.
P.S. Добавил группу @mobile_native_chat к каналу для обсуждений, все посты должны транслироваться туда – можно хейтить 😁
👍16💩5
Дайджест недели
Разобрал еще какую-то часть избранного и еще чутка осталось, в целом есть что почитать. К дайджестам добавил ссылки (Previous, Next) для удобной навигации.
Android
• Jetpack Compose Enables JSON Defined View Layout
• Things every Kotlin Developer should know about Coroutines
• Книга "Jetpack Compose Internals"
• Смотрим исходники Jetpack Compose
• Делаем работу с Koin проще
• Пишем чат под Android на Websocket'ах
• 5 Ways of Creating Android LiveData
• Sending ViewModel Events to the UI in Android
• Android SDK Development Best Practices
• Measuring time and durations in Kotlin (Duration API)
• Building design system with Jetpack Compose
• How to Securely Implement TLS Certificate Checking in Android Apps
• GraphQL в мобильной разработке. Пишем клиент для Android
• Debugging like a pro in Android Studio
• Android Vitals — Разбираем холодный запуск
iOS
• Bottom Sheet, перейдём на «ты»?
• iOS App Architecture in 2022
• Class, Struct и Protocol в Swift
• How to Use Swift Functions For Dependency Injection
• Self & Self.Type & self in Swift
• Check Internet Connectivity with NWPathMonitor In Swift
• WebSockets In Swift — IOS Development
• SwiftLint Integration in Xcode and GitLab CI
• Microapps architecture in Swift. SPM basics.
• Networking With Combine and SwiftUI
• How to Create Multiple Themes in a SwiftUI Application
Кроссплатформа / Разработка
• Что хуже: Кotlin Multiplatform или Flutter?
• GraphQL в мобильной разработке
• Kotlin Multiplatform Wizard
• Optimising CI build times of a Kotlin Multiplatform project
• KMP vs Flutter vs React Native
• What We Learned Using KMM For iOS
• Пакеты Flutter, которые я использую в каждом проекте
• Kermit and Crashlytics (KMM)
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Разобрал еще какую-то часть избранного и еще чутка осталось, в целом есть что почитать. К дайджестам добавил ссылки (Previous, Next) для удобной навигации.
Android
• Jetpack Compose Enables JSON Defined View Layout
• Things every Kotlin Developer should know about Coroutines
• Книга "Jetpack Compose Internals"
• Смотрим исходники Jetpack Compose
• Делаем работу с Koin проще
• Пишем чат под Android на Websocket'ах
• 5 Ways of Creating Android LiveData
• Sending ViewModel Events to the UI in Android
• Android SDK Development Best Practices
• Measuring time and durations in Kotlin (Duration API)
• Building design system with Jetpack Compose
• How to Securely Implement TLS Certificate Checking in Android Apps
• GraphQL в мобильной разработке. Пишем клиент для Android
• Debugging like a pro in Android Studio
• Android Vitals — Разбираем холодный запуск
iOS
• Bottom Sheet, перейдём на «ты»?
• iOS App Architecture in 2022
• Class, Struct и Protocol в Swift
• How to Use Swift Functions For Dependency Injection
• Self & Self.Type & self in Swift
• Check Internet Connectivity with NWPathMonitor In Swift
• WebSockets In Swift — IOS Development
• SwiftLint Integration in Xcode and GitLab CI
• Microapps architecture in Swift. SPM basics.
• Networking With Combine and SwiftUI
• How to Create Multiple Themes in a SwiftUI Application
Кроссплатформа / Разработка
• Что хуже: Кotlin Multiplatform или Flutter?
• GraphQL в мобильной разработке
• Kotlin Multiplatform Wizard
• Optimising CI build times of a Kotlin Multiplatform project
• KMP vs Flutter vs React Native
• What We Learned Using KMM For iOS
• Пакеты Flutter, которые я использую в каждом проекте
• Kermit and Crashlytics (KMM)
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
🔥6👍4
Best 15 Android Studio shortcuts and tips to boost your productivity
Shortcuts для повышения вашей производительности. Если по каким-либо причинам не юзаете, обязательно посмотрите, т.к. во многих случаях, шорткаты значительно экономят время.
И еще одна статья, от автора
👉 Use Android Studio like a pro — Best navigation shortcuts and tips
Shortcuts для повышения вашей производительности. Если по каким-либо причинам не юзаете, обязательно посмотрите, т.к. во многих случаях, шорткаты значительно экономят время.
И еще одна статья, от автора
👉 Use Android Studio like a pro — Best navigation shortcuts and tips
🔥8👍2
10 iOS Development Tips for 2022: Swift and Xcode
Cоветы для iOS-разработчиков, которые позволят повысить продуктивность.
Cоветы для iOS-разработчиков, которые позволят повысить продуктивность.
👍6
Force Update — механизм принудительного обновления мобильных приложений
Полезная статья, в которой рассмотрены кейсы принудительного обновления и некоторые инструменты для реализации.
От себя добавлю: лучше конечно логику версионирования мобилок хранить на своём сервере – это позволит вам более гибко управлять обновлениями + не будет зависимостей от сторонних сервисов. Так же, для себя выделяю 2 кейса, при которых оправдан force update:
1. Критичный баг в мобилках. При очередном релизе вы обнаружили, что у вас не работает какой-нибудь главный экран, например "Авторизация", в таком случае имеет смысл выпустить hotfix и добавить force update предыдущей версии.
2. Старые версии мобильных клиентов. Особенно актуально для крупных проектов, в которых довольно часто меняется/обновляется функционал. Совместимость это хорошо, но бывают кейсы, когда нужно вносить изменения в существующие эндпоинты на бэке и при этом, в старых версиях клиентов уже невозможно поправить логику.
Полезная статья, в которой рассмотрены кейсы принудительного обновления и некоторые инструменты для реализации.
От себя добавлю: лучше конечно логику версионирования мобилок хранить на своём сервере – это позволит вам более гибко управлять обновлениями + не будет зависимостей от сторонних сервисов. Так же, для себя выделяю 2 кейса, при которых оправдан force update:
1. Критичный баг в мобилках. При очередном релизе вы обнаружили, что у вас не работает какой-нибудь главный экран, например "Авторизация", в таком случае имеет смысл выпустить hotfix и добавить force update предыдущей версии.
2. Старые версии мобильных клиентов. Особенно актуально для крупных проектов, в которых довольно часто меняется/обновляется функционал. Совместимость это хорошо, но бывают кейсы, когда нужно вносить изменения в существующие эндпоинты на бэке и при этом, в старых версиях клиентов уже невозможно поправить логику.
👍21🔥3
Traditional MVVM with Jetpack Compose and StateFlow
Пример реализации MVVM в связке Jetpack Compose + StateFlow. В целом обычный MVVM, только вместо привычных View, Composable.
Код проекта можно посмотреть тут: Compose-MVVM
Пример реализации MVVM в связке Jetpack Compose + StateFlow. В целом обычный MVVM, только вместо привычных View, Composable.
Код проекта можно посмотреть тут: Compose-MVVM
👍17🔥3
All about Preferences DataStore
Подробный гайд по Preferences DataStore: создание, чтение, запись, обработка ошибок, миграция с SharedPreferences.
Подробный гайд по Preferences DataStore: создание, чтение, запись, обработка ошибок, миграция с SharedPreferences.
👍14
Microapps architecture in Swift
Несколько статей, на тему организации модульной архитектуры. Первая статья вводная, про организацию модулей и определения базовых штук, а вторая статья уже про конкретный фича-модуль и зависимости (на примере модуля дизайн системы).
👉 Microapps architecture in Swift. SPM basics.
👉 Microapps architecture in Swift. Feature modules.
Несколько статей, на тему организации модульной архитектуры. Первая статья вводная, про организацию модулей и определения базовых штук, а вторая статья уже про конкретный фича-модуль и зависимости (на примере модуля дизайн системы).
👉 Microapps architecture in Swift. SPM basics.
👉 Microapps architecture in Swift. Feature modules.
👍4🔥2
Дайджест недели
Из интересного, на этой недели вышла Android Studio Bumblebee, успели обновиться и словить какие-нибудь багульки? 😁 Еще вышли обновления ряда библиотек Jetpack – Release Notes, а Apple добавила в бета-версию iOS 15.4 настройку Face ID с поддержкой маски и очков.
Android
• Android Studio Bumblebee (2021.1.1) Stable
• Best 15 Android Studio shortcuts and tips to boost your productivity
• Traditional MVVM with Jetpack Compose and StateFlow
• All about Preferences DataStore
• Start with GraphQL in baby steps for Android: Part 1
• Improvement Tip : Loading heavy images while scrolling in a RecyclerView.
• How I use Factory Method Pattern on Android Development
• Импакт-анализ на примере Android-проекта
• Kotlin DSL Basics in Android
• Animations in Jetpack Compose with examples
• Introduction to ConstraintLayout in Compose
• Использование Jetpack Compose в продакшне: первые впечатления
• Jetpack Compose WindowState preview
• Grouping Semantics in Jetpack Compose UI
• Your Deep Links Might Be Broken: Web Intents and Android 12
• GDG Minsk Mobile January Meetup
iOS
• 10 iOS Development Tips for 2022: Swift and Xcode
• Unit tests best practices in Xcode and Swift
• Microapps architecture in Swift
• Swift Coding Standards And Best Practices
• 4 Lesser-Known Swift Features
• 4 Swift Protocols Commonly Used in SwiftUI
• Integrating RxSwift as XCFramework With CocoaPods
• Simple iOS Chat App in 50 Lines of Code
• Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU
• Swift Async Sequence extensions (part 1)
• Swift Async Sequence extensions (part 2)
• iOS Community Meetup #1 | Райффайзен Банк
Кроссплатформа / Разработка
• Force Update — принудительное обновление мобильных приложений
• Deep dive into React Native’s New Architecture
• React Native Component Libraries Every Mobile Developer Should Know
• Как обрабатывать состояния загрузки и ошибки с помощью StateNotifier и AsyncValue во Flutter
• Iconoir – The Definitive Open Source Icons Library
• Flutter: Easily add CI testing with GitHub Actions
• What makes Kotlin different?
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Из интересного, на этой недели вышла Android Studio Bumblebee, успели обновиться и словить какие-нибудь багульки? 😁 Еще вышли обновления ряда библиотек Jetpack – Release Notes, а Apple добавила в бета-версию iOS 15.4 настройку Face ID с поддержкой маски и очков.
Android
• Android Studio Bumblebee (2021.1.1) Stable
• Best 15 Android Studio shortcuts and tips to boost your productivity
• Traditional MVVM with Jetpack Compose and StateFlow
• All about Preferences DataStore
• Start with GraphQL in baby steps for Android: Part 1
• Improvement Tip : Loading heavy images while scrolling in a RecyclerView.
• How I use Factory Method Pattern on Android Development
• Импакт-анализ на примере Android-проекта
• Kotlin DSL Basics in Android
• Animations in Jetpack Compose with examples
• Introduction to ConstraintLayout in Compose
• Использование Jetpack Compose в продакшне: первые впечатления
• Jetpack Compose WindowState preview
• Grouping Semantics in Jetpack Compose UI
• Your Deep Links Might Be Broken: Web Intents and Android 12
• GDG Minsk Mobile January Meetup
iOS
• 10 iOS Development Tips for 2022: Swift and Xcode
• Unit tests best practices in Xcode and Swift
• Microapps architecture in Swift
• Swift Coding Standards And Best Practices
• 4 Lesser-Known Swift Features
• 4 Swift Protocols Commonly Used in SwiftUI
• Integrating RxSwift as XCFramework With CocoaPods
• Simple iOS Chat App in 50 Lines of Code
• Оптимизация рендера в iOS: frame buffer, Render Server, FPS, CPU vs GPU
• Swift Async Sequence extensions (part 1)
• Swift Async Sequence extensions (part 2)
• iOS Community Meetup #1 | Райффайзен Банк
Кроссплатформа / Разработка
• Force Update — принудительное обновление мобильных приложений
• Deep dive into React Native’s New Architecture
• React Native Component Libraries Every Mobile Developer Should Know
• Как обрабатывать состояния загрузки и ошибки с помощью StateNotifier и AsyncValue во Flutter
• Iconoir – The Definitive Open Source Icons Library
• Flutter: Easily add CI testing with GitHub Actions
• What makes Kotlin different?
← Previous | Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
🔥6👍2🤩2
Рекомендации по оптимизации кампаний для привлечения установок
В Директе можно закупать качественный трафик на мобильные приложения и платить конкретно за установки.
У Яндекса вышел небольшой туториал о том, как запускать эффективные мобильные кампании и продвигать приложения более продуктивно. Карточки можно полистать у них в канале Яндекс.Рекламы, где много полезного контента для маркетологов и рекламщиков, в том числе и про рекламу мобильных приложений.
В Директе можно закупать качественный трафик на мобильные приложения и платить конкретно за установки.
У Яндекса вышел небольшой туториал о том, как запускать эффективные мобильные кампании и продвигать приложения более продуктивно. Карточки можно полистать у них в канале Яндекс.Рекламы, где много полезного контента для маркетологов и рекламщиков, в том числе и про рекламу мобильных приложений.
👍9
Настройка GitLab CI/CD
Мы тут на работе переехали на GitLab и как думаете, что нужно будет сделать в ближайшем времени? Правильно, замутить CI/CD. Нагуглил несколько статей с базовыми настройками, оставляю линки на канале.
👉 Официальная документация
👉 A Quick Guide to Setup Gitlab CI/CD for Android
👉 Android GitLab CI setup
👉 Как мы автоматизируем iOS: настройка Gitlab CI + Fastlane + Firebase + ItunesConnect
👉 GitLab CI -Configure a Pipeline for iOS Project
Мы тут на работе переехали на GitLab и как думаете, что нужно будет сделать в ближайшем времени? Правильно, замутить CI/CD. Нагуглил несколько статей с базовыми настройками, оставляю линки на канале.
👉 Официальная документация
👉 A Quick Guide to Setup Gitlab CI/CD for Android
👉 Android GitLab CI setup
👉 Как мы автоматизируем iOS: настройка Gitlab CI + Fastlane + Firebase + ItunesConnect
👉 GitLab CI -Configure a Pipeline for iOS Project
🔥13
Microapps architecture in Swift. Resources and localization.
Новая статья из цикла "Microapps architecture in Swift", про использование ресурсов и локализации между модулями.
Читать (En)
Новая статья из цикла "Microapps architecture in Swift", про использование ресурсов и локализации между модулями.
Читать (En)
👍6
Awesome Android Security
Здоровенный список материалов и ресурсов по Android Security: куча статей, книги, курсы, различные тулзы и прочее. В избранное ✅
Читать (En)
Здоровенный список материалов и ресурсов по Android Security: куча статей, книги, курсы, различные тулзы и прочее. В избранное ✅
Читать (En)
👍11🔥6🤔1
Память в Swift (куча, стек, ARC)
Статья про то, как устроена память в iOS.
– модели управления памятью
– проблемы с памятью (Memory Leak)
– жизненный цикл объекта
– типы ссылок strong, weak, unowned
Оригинал тут: Memory management in Swift(Heap, Stack, ARC)
Читать (Ru)
Статья про то, как устроена память в iOS.
– модели управления памятью
– проблемы с памятью (Memory Leak)
– жизненный цикл объекта
– типы ссылок strong, weak, unowned
Оригинал тут: Memory management in Swift(Heap, Stack, ARC)
Читать (Ru)
👍12