Guide to app architecture
Гугл обновил гайд по построению архитектуры в приложениях.
👉 UI Layer
👉 Domain Layer
👉 Data Layer
Гугл обновил гайд по построению архитектуры в приложениях.
👉 UI Layer
👉 Domain Layer
👉 Data Layer
👍2
Forwarded from Digital Media
API Architecture — Performance Best Practices for REST APIs
Вторая часть с рекомендациями по улучшению производительности REST APIs. Первая часть тут.
Вторая часть с рекомендациями по улучшению производительности REST APIs. Первая часть тут.
👍1
Этапы работы Jetpack Compose
Статья (перевод), про этапы отрисовки кадров в Jetpack Compose.
Composition: какой UI показывать. Compose запускает composable-функции и создает описание вашего UI
Layout: где размещать UI. Этот шаг состоит из двух: измерение и размещение (measurement и placement). Элементы верстки измеряют и помещают самих себя и все дочерние элементы в 2D-координатах.
Drawing: как рендерить. UI-элементы отрисовываются в Canvas, обычно на экране устройства.
Несколько полезных ссылок
👉 Jetpack Compose Phases
👉 Thinking in Compose
👉 State and Jetpack Compose
Статья (перевод), про этапы отрисовки кадров в Jetpack Compose.
Composition: какой UI показывать. Compose запускает composable-функции и создает описание вашего UI
Layout: где размещать UI. Этот шаг состоит из двух: измерение и размещение (measurement и placement). Элементы верстки измеряют и помещают самих себя и все дочерние элементы в 2D-координатах.
Drawing: как рендерить. UI-элементы отрисовываются в Canvas, обычно на экране устройства.
Несколько полезных ссылок
👉 Jetpack Compose Phases
👉 Thinking in Compose
👉 State and Jetpack Compose
👍3
Android App Bundles. Как уменьшить размер вашего приложения?
Как все уже знают, с августа 2021 в Google вступили новые правила для публикации новых приложений – вместо привычного APK нужно загружать Android App Bundle.
Ловите актуальную статейку с рекомендациями, которые позволят уменьшить размер вашего приложения.
Как все уже знают, с августа 2021 в Google вступили новые правила для публикации новых приложений – вместо привычного APK нужно загружать Android App Bundle.
Ловите актуальную статейку с рекомендациями, которые позволят уменьшить размер вашего приложения.
👍3
Что такое PendingIntent?
PendingIntent один из актуальных компонентов, про который могут спросить на собесе. И как показывает опыт, кандидаты частенько плывут.
В документации сказано так: PendingIntent – ссылка на токен, поддерживаемый системой. На самом деле, все достаточно просто и есть несколько главных нюансов, о которых нужно знать.
1. Отложенное выполнение. PendingIntent используется для описания интента с отложенным выполнением. Самый популярный пример – Notification. При создании нотификации мы указываем PendingIntent, который будет выполнен, когда пользователь жмакнет на уведомление.
2. Взаимодействие между процессами. PendingIntent переживает остановку процесса и используется для взаимодействия между процессами. Так же, может использоваться для старта приложения. Пример с push-уведомлениями – пушка может прийти, когда приложение будет не запущено, и в зависимости от логики, можно стартануть приложение.
Подробнее можно почитать тут👇
👉 All About PendingIntents (En)
👉 Всё о PendingIntents / Перевод (Ru)
PendingIntent один из актуальных компонентов, про который могут спросить на собесе. И как показывает опыт, кандидаты частенько плывут.
В документации сказано так: PendingIntent – ссылка на токен, поддерживаемый системой. На самом деле, все достаточно просто и есть несколько главных нюансов, о которых нужно знать.
1. Отложенное выполнение. PendingIntent используется для описания интента с отложенным выполнением. Самый популярный пример – Notification. При создании нотификации мы указываем PendingIntent, который будет выполнен, когда пользователь жмакнет на уведомление.
2. Взаимодействие между процессами. PendingIntent переживает остановку процесса и используется для взаимодействия между процессами. Так же, может использоваться для старта приложения. Пример с push-уведомлениями – пушка может прийти, когда приложение будет не запущено, и в зависимости от логики, можно стартануть приложение.
Подробнее можно почитать тут👇
👉 All About PendingIntents (En)
👉 Всё о PendingIntents / Перевод (Ru)
👍4
В Мобильной медиации от Яндекса заработал In-App Bidding
Для тех, кто еще не знает, Мобильная медиация — это бесплатная платформа Яндекса для монетизации мобильных приложений. In-App Bidding — технология, которая позволяет Мобильной медиации в режиме реального времени узнать, по какой цене разные рекламные сети предлагают объявления для показа.
👉 Уже сейчас можно подключить сеть myTarget
👉 Раньше в медиации работала только технология умного водопада, а сейчас и умный водопад, и In-App Bidding
👉 По биддингу медиация будет получать ставки от сторонних сетей в режиме реального времени - то есть напрямую. Что потенциально сокращает время при подборе рекламы и увеличивает доходы владельцев приложений.
👉 Владельцам приложений не нужно настраивать и поддерживать пороги как в схеме с водопадом.
В будущем Яндекс планирует добавить и другие рекламные сети.
Как это работает, можно почитать по ссылке.
Для тех, кто еще не знает, Мобильная медиация — это бесплатная платформа Яндекса для монетизации мобильных приложений. In-App Bidding — технология, которая позволяет Мобильной медиации в режиме реального времени узнать, по какой цене разные рекламные сети предлагают объявления для показа.
👉 Уже сейчас можно подключить сеть myTarget
👉 Раньше в медиации работала только технология умного водопада, а сейчас и умный водопад, и In-App Bidding
👉 По биддингу медиация будет получать ставки от сторонних сетей в режиме реального времени - то есть напрямую. Что потенциально сокращает время при подборе рекламы и увеличивает доходы владельцев приложений.
👉 Владельцам приложений не нужно настраивать и поддерживать пороги как в схеме с водопадом.
В будущем Яндекс планирует добавить и другие рекламные сети.
Как это работает, можно почитать по ссылке.
Яндекс Реклама — продвижение бизнеса и реклама в интернете
В Мобильной медиации появилась технология In-App Bidding
<p>Теперь владельцы Android-приложений, которые используют Мобильную медиацию для монетизации, могут добавить в аукцион рекламную сеть myTarget (проект VK) по технологии In-App Bidding.</p>
👍1
Новогодняя подборка – Что посмотреть 🥳🎄🥂
Для тех, кто не знает, чем заняться в новогодние праздники или просто решил посвятить это время прокачке своих скиллов, собрал доклады с разных конференций и другие полезные видосы👇
Android Academy
• Monitoring Android application in production
• CI&CD. Configuration & Optimisation
• Guest Lecture. Play around with infrastructure
Доклады DevFest 2021: Mobile
• Boost your pet project with Firebase and Google Play
• Расширяем возможности kotlinx.serialization с помощью Arrow Meta
• Google ML Kit - ML на раз-два
• Kotlin Multiplatform. Работаем со старой и новой моделью памяти
• Flutter и веб-разработка. Тварь ли дрожащая или право имеет?
• Плейлист Mobile
Доклады DartUP 2021
• 3 года с Flutter — куда мы катимся?
• Flutter. Все грани платформенных интеграций
• Стелем мягкую соломку на жёсткий Flutter
• Плейлист
Доклады Mobius
• Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
• Архитектура и как её готовить
• Ускоряем сетевой слой ВКонтакте с HTTP/3
Etc
• «Analyze it. Получение и анализ технических данных Android-приложения»
• Лайвкодинг во Fleet, новой IDE от JetBrains / Антон Архипов (JetBrains)
• Git Tutorial for Beginners: Mastering Git Essentials
@mobile_native
P.S. вечером закину крайний пост в этом году
Для тех, кто не знает, чем заняться в новогодние праздники или просто решил посвятить это время прокачке своих скиллов, собрал доклады с разных конференций и другие полезные видосы👇
Android Academy
• Monitoring Android application in production
• CI&CD. Configuration & Optimisation
• Guest Lecture. Play around with infrastructure
Доклады DevFest 2021: Mobile
• Boost your pet project with Firebase and Google Play
• Расширяем возможности kotlinx.serialization с помощью Arrow Meta
• Google ML Kit - ML на раз-два
• Kotlin Multiplatform. Работаем со старой и новой моделью памяти
• Flutter и веб-разработка. Тварь ли дрожащая или право имеет?
• Плейлист Mobile
Доклады DartUP 2021
• 3 года с Flutter — куда мы катимся?
• Flutter. Все грани платформенных интеграций
• Стелем мягкую соломку на жёсткий Flutter
• Плейлист
Доклады Mobius
• Разочаровавшие паттерны мобильной разработки в 2021 году — как сделать их лучше
• Архитектура и как её готовить
• Ускоряем сетевой слой ВКонтакте с HTTP/3
Etc
• «Analyze it. Получение и анализ технических данных Android-приложения»
• Лайвкодинг во Fleet, новой IDE от JetBrains / Антон Архипов (JetBrains)
• Git Tutorial for Beginners: Mastering Git Essentials
@mobile_native
P.S. вечером закину крайний пост в этом году
👍16
Это крайний пост в этом году и хотелось бы его начать с благодарностей. Хочу сказать спасибо каждому из вас, за то, что подписались на канал, читаете, репостите, а иногда даже накидываете интересные вопросы и материалы в личку. Если бы не было такой отдачи, вряд ли бы продолжил развивать канал 👍
Теперь о планах на следующий год. Решил немного расширить кругозор и начать постить смежные для мобилок темы.
1️⃣ Появятся материалы по ios, кроссплатформе (kmm, flutter, etc), мобильный маркетинг, продвижение и т.д.
2️⃣ Постараюсь писать больше, именно своих мыслей по поводу происходящего в мобильной разработке и IT в целом
3️⃣ Подумываю о добавлении группы к каналу, чтобы вы могли оставлять комменты к постам
4️⃣ Плюшки. Думаю над конкурсами, возможно разыграем билеты на какую-нибудь конфу, а возможно и что-то другое.
Оставайтесь, будет интересно и полезно. А еще, давайте замутим предновогодний кросс-коллаб и подпишемся на все мои каналы👇
@mobile_native – про мобилки
@digital_epoch – про IT
@meetup_today – митапы и конференции
По любым вопросам, можно писать в лс: @artemiygreg
Еще раз спасибо и с наступающим Новым Годом!!! 🥳🎄🥂
Теперь о планах на следующий год. Решил немного расширить кругозор и начать постить смежные для мобилок темы.
1️⃣ Появятся материалы по ios, кроссплатформе (kmm, flutter, etc), мобильный маркетинг, продвижение и т.д.
2️⃣ Постараюсь писать больше, именно своих мыслей по поводу происходящего в мобильной разработке и IT в целом
3️⃣ Подумываю о добавлении группы к каналу, чтобы вы могли оставлять комменты к постам
4️⃣ Плюшки. Думаю над конкурсами, возможно разыграем билеты на какую-нибудь конфу, а возможно и что-то другое.
Оставайтесь, будет интересно и полезно. А еще, давайте замутим предновогодний кросс-коллаб и подпишемся на все мои каналы👇
@mobile_native – про мобилки
@digital_epoch – про IT
@meetup_today – митапы и конференции
По любым вопросам, можно писать в лс: @artemiygreg
Еще раз спасибо и с наступающим Новым Годом!!! 🥳🎄🥂
👍22🔥11
The State of Native Android Development, December 2021
Ну что, салаты доели, отдохнули, набрались сил, пора врываться в рабочее пространство. Для плавного погружения в рабочую неделю, предлагаю почитать краткие итоги нативной Android-разработки за 2021 год.
Про что там?
👉 Jetpack Compose
👉 ViewModel
👉 Material You
👉 Kotlin Coroutines
👉 Kotlin / Java
P.S. Продуктивной рабочей недели)
Ну что, салаты доели, отдохнули, набрались сил, пора врываться в рабочее пространство. Для плавного погружения в рабочую неделю, предлагаю почитать краткие итоги нативной Android-разработки за 2021 год.
Про что там?
👉 Jetpack Compose
👉 ViewModel
👉 Material You
👉 Kotlin Coroutines
👉 Kotlin / Java
P.S. Продуктивной рабочей недели)
👍12🔥5👎4
Василий_Усов_–_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