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
Google Play запретил разработчикам загружать и обновлять платные приложения в России

С 5 мая загрузка и обновление уже существующих платных приложений в Google Play запрещены в России. Для бесплатных приложений изменений нет.
👍48💩36👎8😱7🤔5🥰3🤬3🤮31🔥1👏1
Дайджест недели

По новостям: Google запускает курс по Compose, опубликовали программу предстоящей Google I/O, вышло первое developer preview of Privacy Sandbox on Android. Теперь по новости про блокировку загружать и обновлять платные приложения в России. В некоторых чатиках пишут, что запретили не разрабам загружать и обновлять, а пользователям скачивать и обновлять. Перечитал еще несколько раз все пункты, формулировки на самом деле странные, что в RU, что в EN версиях. Но есть все таки один пункт, в котором прописано следующее.

Can I publish new apps or update existing apps during this pause?

You can still publish new free apps, and update existing free apps. Updates to paid apps are blocked for compliance reasons. 


Android 🤖

• Dependency Inversion Principle: How Google Developers write code
• Как мы используем фича-флаги в мобильном приложении QIWI Кошелек
• Важные Google-новости
• Google Play запретил разработчикам загружать и обновлять платные приложения в России
• Learn Dagger 2 to Hilt for Android Easily in under 10 Minutes
• Jetpack Compose Dropdown
• S.O.L.I.D Principles (Examples in Kotlin)
• Kotlin-inline, crossline, noinline function and reified: Everything you need to know(Android) — Part 1
• 7 things to keep in mind while building jetpack composable’s.
• Architecture MAD Skills series wrap up
• Топ вопросов работодателю от Android-разработчика
• Isolate Koin Within an Android Module
• Kotlin, обрабатываем исключения в корутинах правильно
• The curious case of crashing Workers
• Material Components Android 1.6.0 Released
• Конвергенция в многомодульном приложении
• Passive Views: keep your UI code simple and stupid
• CI-CD: Firebase App Distribution with Fastlane on Android
• Creating reliable tests for Android notifications

iOS
🍏

• I replaced my native iOS app with a cross platform web app and no-one noticed
• Measuring app performance in Swift
• Types of memory in swift
• Improve Performance in Your iOS Applications — Part 1
• Swift 5.7: Unwrapping Optionals Gets an Improvement
• Clarifying criteria & new timing extension for App Store Improvements process
• Тест-ревью: как прошли два года написания unit-тестов
• Is It Possible to Have a Half-modal View in SwiftUI?
• Swift visitor design pattern
• Two Ways to Unit Test Notification Center in Swift
• Send Events from SwiftUI to UIKit and Vice Versa
• AsyncThrowingStream and AsyncStream explained with code examples
• AttributedString’s Codable format and what it has to do with Unicode
• SwiftUI Supporting External Screens
• Flow Navigation With SwiftUI (Revisited)
• Делаем патч для Pods библиотеки
• Как нативно визуализировать голос в iOS
• 6 Tips to improve Coding of Swift
• Building iOS apps faster using Bazel

Кроссплатформа / Разработка
💻

• Destructuring Declarations | Kotlin Tips
• Kotlin 1.7.0-Beta Released
• Flutter for Apple TV
• KSP and Plugins. Optimizing Kotlin Multiplatform common code with Anna Zharkova
• React Native 0.68 и «новая архитектура»
• Как использовать Kotlin Multiplatform ViewModel в SwiftUI и Jetpack Compose
• Does Flutter boost developer productivity?
• Different Approach to Create Mapper using Kotlin Delegated Properties

Previous | Next

Публикация на Habr: Дайджест недели (мобильная разработка)

Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍9🔥2👏1
Android Lint. Подборка

Изучая тему с линтерами, немного поресерчил и наткнулся на плагин Spotless, который хочу потестить. Spotless работает на основе ktlint, позволяет проверять форматирование, форматировать код и поддерживает множество языков, подрубается достаточно просто – тут простейший гайд как подключить.

Еще есть вот такой репозиторий Awesome Android Lint, в котором собраны различные статьи, анализаторы, плагины, включая Ktlint, Detekt, так же есть правила от Google, Uber, Slack.

👉 Spotless
👉 Awesome Android Lint
👉 Ktlint
👉 Detekt

P.S. Кстати, сделал отдельный канал, куда буду складывать различные библиотеки и инструменты – @mobile_dev_tools
👍12🔥3
Write Beautiful Code With Swift Result Builder

Полезная статейка про то, как внедрить DSL, писать красивые и чистые конструкции на Swift, с помощью Result Builder.

Читать (En)
👍3🔥1
Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play

Полезная статья от HH про то, как вынести вендорозависимый код (Google services, HMS) в отдельные модули и разделить сборки для AppGallery и Google Play через Product flavors.

А так же напоминаю, вот тут целая подборка материалов по интеграции HMS.

Читать (Ru)
👍10
Google Play SDK Index

Google представили прикольную штуку Google Play SDK Index – некий новый общедоступный портал, на котором собраны более 100 наиболее широко используемых коммерческих SDK с подробной инфой о каждом из них.

Посмотреть доступные sdk можно тут: Google Play SDK Index
👍11🤔1
Now in Android - a new, open source, real-world sample app

Google выложили исходники приложения Now in Android.

Приложение сделано по официальным гайдам и с учетом последних технологий.

👉 Jetpack Compose
👉 Material3
👉 Адаптивная верстка
👉 Архитектура по официальным гайдам
👉 Kotlin Flows
👉 Room & Proto DataStore
👉 WorkManager

Это рабочее приложение, которое они планирует опубликовать в Play Store.

Исходники тут: Now in Android App
👍19🔥4
Дайджест недели

Главным событием этой неделя было Google I/O, на которой представили некоторые нововведения, зарелизили ряд новых версий библиотек и инструментов. Из интересного: вышла вторая Beta Android 13, запустили сервис Google Play SDK Index, представили Flutter 3, выложили исходники приложения Now in Android. Все ссылки в дайджесте.

Android 🤖

• 13 Things to know for Android developers at Google I/O!
• Google Play SDK Index
• Что нового в инструментах Android-разработки
• Что нового в Jetpack Compose (Beta 1.2)
• Now in Android - a new, open source, real-world sample app
• Вышла вторая Beta Android 13
• Android Studio Chipmunk Released
• Jetpack DragAndDrop Released 1.0.0
• Compose performance
• Announcing Compose for Wear OS Beta!
• Introducing Health Connect, a new API for Android app developers to securely access user health data
• What's new in Google Play
• Android Lint. Подборка
• Fragula – swipe-to-dismiss extension for navigation component library for Android
• Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
• Here's a productivity hack to save tens of engineering hours* when working with Jetpack Compose!
• Understand Proguard Generated Files and Manually De-obfuscate Stacktrace
• Build a Custom IntelliJ Code Inspection Plugin
• How To Use Android’s Proto DataStore With Kotlin Support
• The Guide To Your First Annotation Processor with KSP (And Becoming A Kotlin Artist)
• Airbnb uses Jetpack Compose to empower devs to do their best work

iOS
🍏

• Apple отключила оплату в App Store со счёта мобильного у «Мегафона», Yota и Tele2
• Write Beautiful Code With Swift Result Builder
• Modeling errors in Swift
• A flexible way to handle and alert errors in SwiftUI
• How do we use SwiftUI in the Medium iOS application
• Заполнители типа в Swift: что это такое и когда их следует использовать
• On iOS applications architecture
• 5 актуальных расширений Xcode для оптимизации разработки
• 10 Tips and Tricks for Swift Developers
• How to Read Websites in SwiftUI — Data Scraping in iOS
• Swift: A few tips for improving code quality
• SSL/Certificate Pinning — iOS 14.0 Never easy before
• Clean Architecture: iOS App
• Creating hex-based colors in UIKit, AppKit and SwiftUI
• Core Data Relationship in Swift 5— made simple
• Building a document scanner in SwiftUI
• Bottom Sheet, shall we drop the formalities?
• Introduction to Dependency Injection with Needle - The Uber Way
• SwiftUI Still Isn’t Production-Ready

Кроссплатформа / Разработка
💻

• Introducing Flutter 3
• What’s new in Flutter 3
• Dart 2.17: Productivity and integration
• Flutter and working with native code
• Flutter для Apple TV (Перевод)
• Return and Throw with the Elvis Operator | Kotlin Tips
• Key takeaways from our Kotlin Multiplatform journey
• jugger – внедрение зависимостей как в Android
• Exposing the separate resources module to iOS target using moko-resources in KMM

Previous | Next

Публикация на Habr: Дайджест недели (мобильная разработка)

Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍5🔥5
Знакомьтесь: библиотека TiRecycler

Пример реализации собственной библиотеки от Тинькофф, которую они используют для работы со списками.

Библиотека тут: TiRecycler

Читать (Ru)
👍13💩8
Design Patterns implemented in Swift

Тут в соседнем канале закинули ссылку на репозиторий с реализацией наиболее популярных паттернов на Swift. Дублирую тут, вдруг кому понадобится.

GitHub: Design Patterns implemented in Swift
👍10
Custom Canvas Animations in Jetpack Compose

Статья с примерами реализации анимаций на канвасе в Jetpack Compose.

Код примеров из статьи

👉 Crane sample
👉 Android Compose Motion Sample

Читать (En)
🔥9👍3
3 Design Patterns Every Developer Should Learn

Еще одна статья (5К 👏) про шаблоны проектирования, в которой автор разбирает несколько популярных шаблонов (Strategy, Singleton и Observer), которые по его мнению должен знать каждый разработчик.

Читать (En)
👍10👏2
Special Google I/O 2022 Edition

Google собрали и разделили на отдельные видюшки основное, что было на Google I/O 2022.
👍5🔥1
Scan code without camera permissions

Google показали новое API для сканирования кодов через Google Play Services, которое не требует разрешение камеры.

По сути, это легковесный сканер без возможности кастоматизации UI, который сканирует и возвращает результат. Новое API лежит в ML Kit фреймворке и работает начиная с API 21 и выше, ну и пока что API находится в beta версии.

Документация тут: Google code scanner (Beta)
Видюшка тут: What's new in Android machine learning

Все видюшки тут: Special Google I/O 2022 Edition
🔥24👍31🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Каналу Mobile Native 1 год 🥳

Сегодня каналу ровно 1 год с момента его создания, а первый пост был опубликован 1 июня 2021 года.

За первый год канал вырос с 0 до 4К подписчиков. Да, большая часть из Вас пришла с платной рекламы и тем не менее, я считаю это достойным Результатом. За что и хочется выразить благодарность каждому из Вас и сказать спасибо 🙏. А так же отдельный респект тем, кто накидывает интересные материалы для постов в личку 👍.

Хотелось бы до второго дня рождения сделать еще столько же + 4К-5К. Понимаю, что это будет не легко, т.к. нормальные источники трафика, которые я знал закончились. Но ничего, есть идеи по развитию и я думаю всё получится.

Возможно в ближайшем будущем запущу цикл опросов, чтоб лучше узнать аудиторию канала и быть более точным для Вас в плане контента. Просьба к опросам отнестись с пониманием. Ну и напоминаю, что предложения, идеи, замечания и т.д. можно смело присылать мне в личку @artemiygreg.

Еще раз всем спасибо и с Днём Рождения Нас!!! 🎉🎉🎉
🎉95👍74👏1🤔1
Do you use Kotlin’s most powerful tool?

Неплохая статья с примерами кода, про использование лямбда-функций в Kotlin.

👉 Do you use Kotlin’s most powerful tool?
👉 Используете ли вы самый мощный инструмент Kotlin? (перевод AppTractor)
👍8🔥2💩1
Forwarded from Digital Media
VK при поддержке Минцифры запустила бета-версию российского магазина приложений

VK в сотрудничестве с другими ИТ-компаниями и при поддержке Минцифры разработала и запустила бета-версию российского магазина мобильных приложений RuStore.

Какой это по счету уже наш стор, кажется 3-й?)

В сторе уже более 100 приложений, по понятным причинам это приложения банковской сферы, приложения Яндекса, самого VK, маркетплейсов и других крупных брендов.

Летом обещают запилить пуши, платежи, рейтинг приложений и до конца года аналитику и маркетинговые штуки.

@digital_epoch
💩50👍24🤮5🔥2👎1😁1🤔1
Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?

Достаточно полезная статья про многомодульность, в которой рассматриваются актуальные вопросы и проблемы: стоит ли внедрять Gradle модули, для чего это нужно, какие типы модулей бывают, связи и зависимости модулей и т.д.

Читать (Ru)
👍12🔥3
Дайджест недели

Новостной фон вроде как стабильный, за исключением запуска RuStore. Google I/O прошла, теперь все ждут WWDC 2022. В этот раз, дайджест снова большой и мощный за 2 недели – есть что почитать.

Подзадолбался я руками собирать/форматировать дайджесты. Посидел, подумал и решил это дело чутка автоматизировать. Накидал по-быстрому скриптик, которому скармливаю список ссылок, а он уже сам выдёргивает тайтл, форматирует и делает кликабельную ссылку. Пока что скрипт достаточно тупой, но уже экономит много времени. В дальнейшем надеюсь допилю и будет еще удобней 💪

На следующей недели состоится долгожданный iOS митап от Avito. Кому интересно, залетайте.

Android 🤖

• Special Google I/O 2022 Edition
• Scan code without camera permissions
• Do you use Kotlin’s most powerful tool?
• VK при поддержке Минцифры запустила бета-версию российского магазина приложений
• Some Best Practices for Android App Architecture
• 15 Best Android Libraries for 2022
• Strategies for managing Gradle dependencies
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить
• Toying with Kotlin's context receivers
• Deep dive into Android ANR | OkCredit
• A cleaner way to interact between Composable and ViewModel in Jetpack Compose
• Speeding up Kotlin Multiplatform
• Jetpack Compose Clean Architecture with Rorty App
• 5 Awesome Jetpack Compose Custom Progress Indicator Designs
• Detect Swipe Direction on Jetpack Compose to trigger BottomSheetScaffold
• Spot your UI jank using CPU profiler in Android Studio
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Using MotionLayout in Compose
• Measure and improve performance with Macrobenchmark
• The Suspend & Inline Mystery | Kotlin Tips 2022
• Full Guide to Testing Android Applications in 2022
• Compose Navigation in 3 Minutes
• Jetpack Compose under the hood: Touch Events

iOS
🍏

• С 30 июня Apple не пустит в AppStore приложения без возможности удаления аккаунта
• Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете
• Золотые правила “weak self”
• Debugging Network Traffic With Proxyman
• A deep dive into Swift reference counting
• Memory leaks prevention using an autoreleasepool in unit tests
• Map on collections in Swift
• Calling Private APIs in iOS
• Scripting in Swift: Git Hooks
• Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager
• Markdown rendering using Text in SwiftUI - SwiftLee
• Vision Framework Tutorial for iOS: Contour Detection
• Core Data Saving Changes
• Mastering TimelineView in SwiftUI
• The power of accessibilityChildren view modifier in SwiftUI
• Closures in Swift explained
• 100 SwiftUI Recipes
• Design a Beautiful Loading Screen for Your iOS App
• How To Boost Your iOS Code Performance by Reducing Collection Type Initialisation
• 16 Useful Extensions for SwiftUI
• Design Patterns implemented in Swift

Кроссплатформа / Разработка
💻

• SOLID – это не правила, а гайдлайны
• Нелегкий путь к динамическому анализу мобильных приложений
• Flutter 3: что нового (перевод)
• Dart 2.17: Продуктивность и интеграция
• KMP, iOS Developers and Production
• Kotlin — Lazy Thread-safety modes explained
• Как на Flutter-проекте реализовать разделение Google-сервисов и Huawei-сервисов
• Тестирование Flutter-приложений: гайд по разработке тестов на Flutter
• 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
• Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter
• Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса
• Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями

Previous | Next

Предложить материал: @artemiygreg
Митапы и конференции: @meetup_today
Библиотеки и инструменты: @mobile_dev_tools
Подписаться: @mobile_native
Чат: @mobile_native_chat
👍10🔥3
19 Things to Know About Kotlin Flow — A Quick Note

Статья-заметка, 19 пунктов о которых нужно знать про Kotlin Flow.

Читать (En)
👍13🔥4