Василий_Усов_–_Swift_Основы_разработки_приложений.pdf
10.8 MB
Как уже писал выше, начинаю публиковать материалы по iOS и хочу начать с основ. Раздобыл электронную версию книги "Swift Основы разработки приложений" Василия Усова, сам еще не читал, но отзывы вроде как хорошие. Поэтому, оставлю ее тут, вдруг кому-то тоже понадобится.
👍25👎4
Тысячная статья про принципы SOLID
Да, очередная статья про принципы SOLID, но как показывает опыт и комментарии, у некоторых после прочтения/просмотров 100500 статей и примеров, понимание не приходит). Возможно это именно тот формат изложения, который поможет вам понять эти принципы.
И еще несколько постов на эту тему
👉 SOLID Principles: The Kotlin Way
👉 S.O.L.I.D Principles in Android Development
Да, очередная статья про принципы SOLID, но как показывает опыт и комментарии, у некоторых после прочтения/просмотров 100500 статей и примеров, понимание не приходит). Возможно это именно тот формат изложения, который поможет вам понять эти принципы.
И еще несколько постов на эту тему
👉 SOLID Principles: The Kotlin Way
👉 S.O.L.I.D Principles in Android Development
👍3🔥2
iOS Architectures explained: Which one best fits my project?
Статья, в которой рассмотрены наиболее популярные архитектуры в iOS с плюсами и минусами, какую выбрать под свой проект и вот это вот всё (MVC, MVVM, Coordinator, VIPER).
Статья, в которой рассмотрены наиболее популярные архитектуры в iOS с плюсами и минусами, какую выбрать под свой проект и вот это вот всё (MVC, MVVM, Coordinator, VIPER).
👍4
7 Tools to Help You Write Better Swift Code
Рекомендации инструментов, с помощью которых можно упростить процесс разработки на Swift и улучшить качество кода.
Рекомендации инструментов, с помощью которых можно упростить процесс разработки на Swift и улучшить качество кода.
👍3
Compose Destinations: simpler and safer navigation in Compose with no compromises
В догонку ко вчерашней статье про Compose Navigation, еще одна статейка с обзором библиотеки для навигации, которая работает через KSP plugin.
Библиотека тут: Compose Destinations
Видос: Compose Navigation
Спасибо за предложку подписчику @Ars_Longa_VitaBrevis 🤝
В догонку ко вчерашней статье про Compose Navigation, еще одна статейка с обзором библиотеки для навигации, которая работает через KSP plugin.
Библиотека тут: Compose Destinations
Видос: Compose Navigation
Спасибо за предложку подписчику @Ars_Longa_VitaBrevis 🤝
👍11
Reverse Engineer Your Favorite Android App
Для любитей реверс инжиниринга, да и для тех, кто просто любит поковырять сторонние приложеньки, вот вам пошаговая инструкция о том, как и с помощью каких инструментов декомпилить apk.
Для любитей реверс инжиниринга, да и для тех, кто просто любит поковырять сторонние приложеньки, вот вам пошаговая инструкция о том, как и с помощью каких инструментов декомпилить apk.
👍21
Тренды iOS / Android разработки на 2022 год
Начался новый год и неплохо было бы зафиксировать для истории, трендовые технологии в мобильной разработке. Вот собственно 2 статейки, близких к текущим реалиям)
👉 Android Development Trends for 2022
👉 Five things iOS developers should focus on in 2022
Начался новый год и неплохо было бы зафиксировать для истории, трендовые технологии в мобильной разработке. Вот собственно 2 статейки, близких к текущим реалиям)
👉 Android Development Trends for 2022
👉 Five things iOS developers should focus on in 2022
👍6
Дайджест недели
Как вы могли заметить, ежедневно я публикаю не более 2-ух материалов, бывает и меньше (к слову, это на порядок меньше, чем постят другие каналы 😉). При этом, поток информации достаточно большой, много материалов тупо копится в избранном и до канала не доходит. Постить больше 2-ух материалов в день и напрягать вас пушами не хочу. Поэтому решил 1 раз в неделю собирать, все что накопилось и публиковать в виде дайджеста.
График будет приблизительно такой: каждый день максимум 2 поста (постараюсь утром и вечером), каждое воскресенье – дайджест, понедельник возможно сделаем выходной или оставим для рекламных постов (если они будут конечно 😃).
Текущий дайджест получился довольно объемный и в него попало достаточно много статей с прошлого года (разобрал наверное процентов 50 избранного), следующие думаю будут более информативные и менее объемные.
Android
• Gradle and AGP build APIs: How to write a plugin
• Simplifying drag and drop
• Automatic screenshot testing for all your Compose @Previews
• Saving StateFlow State in ViewModel
• Kotlin Flows in Android summary
• The State of Native Android Development, December 2021
• Масштабируем Jetpack Compose Navigation
• Compose Destinations: simpler and safer navigation in Compose with no compromises
• Android Development Trends for 2022
• Atomic Updates on MutableStateFlow
• The dark side of persistence & code shrinking in Android
• Kotlin Tips and Tricks for Efficient Programming
• Способы инжектить ViewModel с помощью Dagger: что может пойти не так
• Reverse Engineer Your Favorite Android App
• Reverse engineering obfuscated Android APK
• Using WorkManager on Android 12
iOS
• How to build an animated, custom Tab Bar for iOS application
• How to Become an iOS Developer in 2021
• Understanding AsyncSequence in Swift 5.5
• Avoid nib and storyboards in iOS
• How to Build an iOS Video Chat App With Screen Sharing
• Вертел я ваши UIView
• Manage Secrets in Your iOS App Using Xcode Configuration Files
• SwiftUI | Some examples of modern animations with demo cafe app
• SwiftUI and MVI
• Книга – "Swift Основы разработки приложений" Василия Усова
• iOS Architectures explained: Which one best fits my project?
• 7 Tools to Help You Write Better Swift Code
• Five things iOS developers should focus on in 2022
• Как правильно передавать действия пользователя между компонентами iOS-приложения
Flutter / KMM
• Roadmap to learn Flutter like a pro
• How to make your Flutter app offline-first with Couchbase Lite
• Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1
• Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2
• Kotlin Symbol Processing. Работаем с аннотациями по-новому
• Kotlin Multiplatform. Работаем с асинхронностью на стороне iOS. Publishers, async/await
• Adopting Kotlin Multiplatform Mobile (KMM) at Meetup
Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
Как вы могли заметить, ежедневно я публикаю не более 2-ух материалов, бывает и меньше (к слову, это на порядок меньше, чем постят другие каналы 😉). При этом, поток информации достаточно большой, много материалов тупо копится в избранном и до канала не доходит. Постить больше 2-ух материалов в день и напрягать вас пушами не хочу. Поэтому решил 1 раз в неделю собирать, все что накопилось и публиковать в виде дайджеста.
График будет приблизительно такой: каждый день максимум 2 поста (постараюсь утром и вечером), каждое воскресенье – дайджест, понедельник возможно сделаем выходной или оставим для рекламных постов (если они будут конечно 😃).
Текущий дайджест получился довольно объемный и в него попало достаточно много статей с прошлого года (разобрал наверное процентов 50 избранного), следующие думаю будут более информативные и менее объемные.
Android
• Gradle and AGP build APIs: How to write a plugin
• Simplifying drag and drop
• Automatic screenshot testing for all your Compose @Previews
• Saving StateFlow State in ViewModel
• Kotlin Flows in Android summary
• The State of Native Android Development, December 2021
• Масштабируем Jetpack Compose Navigation
• Compose Destinations: simpler and safer navigation in Compose with no compromises
• Android Development Trends for 2022
• Atomic Updates on MutableStateFlow
• The dark side of persistence & code shrinking in Android
• Kotlin Tips and Tricks for Efficient Programming
• Способы инжектить ViewModel с помощью Dagger: что может пойти не так
• Reverse Engineer Your Favorite Android App
• Reverse engineering obfuscated Android APK
• Using WorkManager on Android 12
iOS
• How to build an animated, custom Tab Bar for iOS application
• How to Become an iOS Developer in 2021
• Understanding AsyncSequence in Swift 5.5
• Avoid nib and storyboards in iOS
• How to Build an iOS Video Chat App With Screen Sharing
• Вертел я ваши UIView
• Manage Secrets in Your iOS App Using Xcode Configuration Files
• SwiftUI | Some examples of modern animations with demo cafe app
• SwiftUI and MVI
• Книга – "Swift Основы разработки приложений" Василия Усова
• iOS Architectures explained: Which one best fits my project?
• 7 Tools to Help You Write Better Swift Code
• Five things iOS developers should focus on in 2022
• Как правильно передавать действия пользователя между компонентами iOS-приложения
Flutter / KMM
• Roadmap to learn Flutter like a pro
• How to make your Flutter app offline-first with Couchbase Lite
• Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1
• Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2
• Kotlin Symbol Processing. Работаем с аннотациями по-новому
• Kotlin Multiplatform. Работаем с асинхронностью на стороне iOS. Publishers, async/await
• Adopting Kotlin Multiplatform Mobile (KMM) at Meetup
Next →
Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍19🔥13👎2
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