Mobile Native ️️ – Telegram
Mobile Native ️️
5.61K subscribers
1.13K photos
20 videos
3 files
1.28K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://news.1rj.ru/str/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
Forwarded from Digital Media
API Architecture — Performance Best Practices for 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
👍3
Android App Bundles. Как уменьшить размер вашего приложения?

Как все уже знают, с августа 2021 в Google вступили новые правила для публикации новых приложений – вместо привычного APK нужно загружать Android App Bundle.

Ловите актуальную статейку с рекомендациями, которые позволят уменьшить размер вашего приложения.
👍3
Что такое PendingIntent?

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

👉 По биддингу медиация будет получать ставки от сторонних сетей в режиме реального времени - то есть напрямую. Что потенциально сокращает время при подборе рекламы и увеличивает доходы владельцев приложений.

👉 Владельцам приложений не нужно настраивать и поддерживать пороги как в схеме с водопадом.

В будущем Яндекс планирует добавить и другие рекламные сети.

Как это работает, можно почитать по ссылке.
👍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. вечером закину крайний пост в этом году
👍16
Это крайний пост в этом году и хотелось бы его начать с благодарностей. Хочу сказать спасибо каждому из вас, за то, что подписались на канал, читаете, репостите, а иногда даже накидываете интересные вопросы и материалы в личку. Если бы не было такой отдачи, вряд ли бы продолжил развивать канал 👍

Теперь о планах на следующий год. Решил немного расширить кругозор и начать постить смежные для мобилок темы.

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. Продуктивной рабочей недели)
👍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
👍3🔥2
iOS Architectures explained: Which one best fits my project?

Статья, в которой рассмотрены наиболее популярные архитектуры в iOS с плюсами и минусами, какую выбрать под свой проект и вот это вот всё (MVC, MVVM, Coordinator, VIPER).
👍4
Масштабируем Jetpack Compose Navigation

Статья, про проблемы масштабируемости навигации на примерах Google и возможный вариант решения.

Оригинал статьи тут
👍10
7 Tools to Help You Write Better Swift Code

Рекомендации инструментов, с помощью которых можно упростить процесс разработки на Swift и улучшить качество кода.
👍3
Compose Destinations: simpler and safer navigation in Compose with no compromises

В догонку ко вчерашней статье про Compose Navigation, еще одна статейка с обзором библиотеки для навигации, которая работает через KSP plugin.

Библиотека тут: Compose Destinations
Видос: Compose Navigation

Спасибо за предложку подписчику @Ars_Longa_VitaBrevis 🤝
👍11
Reverse Engineer Your Favorite Android App

Для любитей реверс инжиниринга, да и для тех, кто просто любит поковырять сторонние приложеньки, вот вам пошаговая инструкция о том, как и с помощью каких инструментов декомпилить apk.
👍21
Тренды iOS / Android разработки на 2022 год

Начался новый год и неплохо было бы зафиксировать для истории, трендовые технологии в мобильной разработке. Вот собственно 2 статейки, близких к текущим реалиям)

👉 Android Development Trends for 2022
👉 Five things iOS developers should focus on in 2022
👍6
Как правильно передавать действия пользователя между компонентами iOS-приложения

Статья о том, как перенаправлять действия пользователя внутри приложения, с помощью Responder Chain.

Официальная дока тут
👍7
Дайджест недели

Как вы могли заметить, ежедневно я публикаю не более 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.

Код из статьи тут
🔥3👍2💩2
Jetpack Compose Enables JSON Defined View Layout

Довольная интересная штука – можно строить 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
🔥22👍11💩4🤔1