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
This media is not supported in your browser
VIEW IN TELEGRAM
Swipe to Pay, или Как мы переписали слайдер оплаты на Compose

Полезная статья, в которой разработчик из Dodo Engineering подробно разбирает процесс создания достаточно сложного и прикольного компонента на Compose.

Читать (Ru)
🔥114👍4
The dark corners of inline, crossinline, and reified in Kotlin

Статья про возможные проблемы при неправильном использовании inline, crossinline и reified в Kotlin.

👉 The promise and peril of inline
👉 Why crossinline matters in suspending contexts
👉 Reified: type-safe builders and beyond
👉 Debugging and testing inline code
👉 Checklist for safe use

Читать (En)
🔥5👍43
LayoutNode: What Actually Happens When You Write @Composable

Полезная статья, в которой разбирается LayoutNode: что это такое, как строится дерево из LayoutNode, как это влияет на производительность и отрисовку.

👉 What is the LayoutNode?
👉 How Compose Actually Creates Nodes
👉 LayoutNode vs Modifier.Node
👉 Rendering Pipeline
👉 Custom Layouts
👉 The bottom line

Читать (En)
🔥8👍53
Мобильное тестирование: разбираемся с эмуляторами и тестовыми фермами

Обзорная статья с разбором доступных решений для тестирования мобильных приложений, с плюсами и минусами.

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

Мобильные фермы. Подходят для регрессионных и UI-тестов, нагрузочного и исследовательского тестирования. Один из плюсов – разнообразное количество девайсов для воспроизведения платформенно-специфичных багов. Наиболее популярные решения на рынке: опенсорс-платформы Smartphone Test Farm и DeviceHub, мобильная ферма от Selectel.

Читать (Ru)
👍5🔥4🤔31
Integration Testing on Android: A Practical Guide with Hilt, Compose & Room

Практическое руководство по написанию интеграционных тестов в Android.

👉 Introduction
👉 Project setup
👉 Writing the test
👉 Swapping Real Dependencies with Fake Ones
👉 Testing Failure Scenarios
👉 Robotic Pattern for compose test
👉 Why Integration Testing Matters

Читать (En)
🔥32👍1
TAO Bubbles: элегантные и настраиваемые подсказки для ваших Jetpack Compose приложений

Статья с примером реализации компонента для отображения подсказок на Jetpack Compose.

Читать (Ru)
🔥124👍4
The Magic Behind Retrofit: How a Simple Interface Becomes Your API Gateway

Если вдруг кто-то не знал как под капотом устроен и работает Retrofit, вот свежая статья с детальным разбором: Dynamic Proxy, аннотации, парсинг, формирование запросов и т.д.

Читать (En)
7🔥6👍4👨‍💻1
‼️Технический разбор приложения Max от Сеньора

Настолько приложение Max хайпит за время своего существования, что какие-то несчастные статьи на Хабре, про то, какие например использует разрешения Max собирают десятки и сотни тысяч просмотров – раз (191K), дваз (139K), триз (46К).

И все эти статьи у меня вызывают так сказать неопределённые чувства 🤷‍♂️, точнее чувства-то определённые, но не хочется матом писать 😂

Посмотрите например вот эту статью "Что можно узнать о Max из AndroidManifest" – тут автор рассказывает про структуру манифеста, из чего он состоит, какие разрешения есть в Max и другую всячину по типу App Links. Статья собрала 46K просмотров 🤦‍♂️

Или возьмем вот эту статью "Разрешения MAX для Android. Сравниваем с Telegram и WhatsApp*" – тут собственно и комментировать нечего. 139K просмотров.

Вот это вообще шик, статья-рекордсмен "Технический разбор Max: что внутри APK". Интересно, что же там внутри? А внутри там мягко говоря ничего – урлы api, пару разрешений из манифеста, ну и ещё какие-то используемые sdk и библиотеки. На текущий момент статья собрала 191K 😳.

46, 139, 190 тыщ просмотров Карл!!! То есть, суммарно под 400К просмотров. Вы серьезно? Кажется мир свернул не туда.

Цель авторов я конечно же понимаю – хайп, все дела, у каждого свой тг-канал и всё такое. Но как будто бы странно такими способами хайпить и пытаться набрать аудиторию.

Читателей и комментаторов не очень понимаю. Среднему пользователю такие статьи никакой инфы не дадут, а технические спецы если нужно и сами могут APK декомпилить и посмотреть что там и как.

Я это к чему. Периодически встречаются действительно годные материалы, статьи, которые хорошо, если соберут 2, 3 или 4 тысячи просмотров. Согласен, действительно крутых материалов сейчас гораздо меньше, но они есть. При этом же людям интереснее почитать какую-то +/- бестолковую информацию – а что же там такого супермега шпионского спрятано в MAX. Приложения мессенджеров +/- все одинаковые и разрешения у них будут +/- одинаковые и набор функций и т.д. Чего вы ждёте-то от таких статей?

Фух, выдохнул, пора заканчивать 😂

Анализируйте, фильтруйте и потребляйте полезную информацию. Всем доброй ночи 😉

P.S. Комментарии если что открыты 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
50👍19❤‍🔥12👎11🤔31
Forwarded from Swift Tips
12 Swift Optimization Secrets Apple Won’t Tell You

Статья с советами, рекомендациями и примерами оптимизации Swift-кода.

🟢Copy-on-Write (COW): Smart Memory Efficiency
🟢Value Types vs Reference Types: The Foundation of Swift Performance
🟢ARC Overhead: Understanding Retain and Release
🟢Inlining and Function Dispatch
🟢Looping and Lazy Collections
🟢Memory Layout Optimization: Struct Alignment Tricks
🟢Concurrency Optimizations: Making Async Code Fly
🟢Compiler-Level Optimizations
🟢Profiling with Instruments
🟢Real-World iOS Scenarios
🟢Practical Tips & Best Practices
🟢Conclusion: Clean Code First, Optimize Second

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍2
Android ViewModel Data Loading: Best Practices and Flow-Based Architecture

Большая статья, с примерами кода, в которой автор рассказывает про проблемы загрузки данных в ViewModel.init{ } блоке и рассматривает Flow-Based решение, как более правильный, удобный и оптимальный архитектурный подход.

Читать (En)
🔥73👍3
Forwarded from Swift Tips
How to Build a CI/CD Pipeline for iOS Projects

Подробная статья в блоге Jetbrains о том, как собрать CI/CD пайплайн для iOS-проектов с помощью TeamCity.

🟢Code checkout and version control integration
🟢Building iOS applications with Xcode
🟢Testing across multiple iOS versions
🟢Static code analysis and code coverage reporting
🟢Signing and packaging (IPA files)
🟢Deploying to TestFlight or the App Store
🟢Setting up the iOS project
🟢Initializing fastlane
🟢Setting up the beta lane
🟢Configuring fastlane match
🟢Create a new project in TeamCity Cloud
🟢Configure build job
🟢Set up AWS Secrets
🟢Set up build parameters
🟢Testing the pipeline

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥9👍54
New Shadow API for Jetpack Compose

Подробный обзор с примерами кода нового API в Jetapck Compose для работы с тенями, которое добавили в последнем релизе 1.9.0.

Читать (En)
🔥156👍4
Глубокое погружение в Java Memory Model

На выходных смотрел публичный мок-собес и там ребята обсуждали Java Memory Model. Дай думаю посмотрю материалы на эту тему и наткнулся на крутую, большую и хардкорную статью, в которой автор детально разбирает что происходит под капотом JMM.

Довольно много низкоуровневой информации, которая на практике возможно и не пригодится, но такие знания точно лишними не будут.

Читать (Ru)
👍16🔥43
Compose + Koin + Jetpack Navigation: что мы поняли за 2 года

Большая и полезная статья от разработчика core-команды WB Partners Wildberries & Russ, в которой он делится опытом развития архитектуры приложения на Jetpack Compose: с какими ограничениями столкнулись, как укротили навигацию от Google и каким образом всё это подружили с Koin.

Читать (Ru)
👍75🔥4
Improve app performance with optimized resource shrinking

В AGP версии 8.12.0 Гугловцы запилили более эффективный способ уменьшения размера приложения с помощью R8.

В новом подходе R8 одновременно оптимизирует ссылки на код и ресурсы, гарантируя, что все ресурсы, на которые ссылается неиспользуемый код, идентифицируются как неиспользуемые и затем удаляются.

P.S. Рекомендую использовать с осторожностью и перед релизом обязательно несколько раз потестить финальную сборку 😉

Читать (En)
👍6🔥32
Forwarded from Swift Tips
Swift на Android: создаём библиотеку

В Swift 6 появилась возможность работать с Android NDK. Это значит, что мы можем писать код на Swift`е и в последствии, с минимальной болью вызывать его из Android среды (Java, Kotlin) c помощью JNI*.

Java Native Interface (JNI) – это мост который позволяет нативному коду обращаться к Java Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI.


Ловите подробную гайд-статью от @imike3049, как это всё можно завести.

Читать (Ru)
6👍4🔥2🤔2
Расширяем возможности GitHub Copilot для IDEA или как писать unit-тесты в пару кликов

В статье демонстрируется один из кейсов использования ИИ-помощников, а именно как научить плагин GitHub Copilot помогать писать unit-тесты буквально в пару кликов.

Статья может быть полезна тем, кто хочет узнать как влезать в работу сторонних плагинов, ускорить написание тестов и тем, кто ищет способы прокачать работу с ИИ-помощниками в своих проектах.

Читать (Ru)
6👍4🔥3👨‍💻1
Clipping and Masking in Jetpack Compose

Небольшая, но полезная статья про то, как в Jetpack Compose использовать Clipping и Masking для более дружелюбного UI: как обрезать компонент, кастомные шейпы, наложение градиента, различные эффекты и режимы наложение.

Читать (En)
🔥74👍3
Как я научил Jetpack Compose показывать рекомпозиции в реальном времени

А вот это прям достойный материал 🔥

Вот тут сервис, который в режиме реального времени показывает Compose рекомпозиции + показывает как делать нужно и как не нужно(потому что рекомпозиции).

А вот собственно статья, в которой автор рассказывает, как он делал этот сервис. Чтобы всё это добро заработало, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.

Исходный код на GitHub → Recomposition Visualization
Готовый сервис → Recomposition Visualization

Читать (Ru)
👍13🔥74
Гайд по File Templates: как шарить шаблоны с однотипным кодом

В статье рассказывается как можно облегчить жизнь своим коллегам и сэкономить немного времени, посредством шеринга шаблонов(File Templates) с однотипным кодом.

Читать (Ru)
🔥83👍2
Погружение в JNI: проблемы и решения при взаимодействии между JVM и нативным кодом

Разработчик из Яндекс Браузера рассказывает про взаимодействие с нативным С++ кодом из Android, подводные камни и проблемы, с которыми может столкнуться разработчик в процессе написания нативных библиотек, а также методы их обхода.

🟢Что такое JNI и для чего используется
🟢Пример реализации простой JNI‑библиотеки, способы сборки и интеграция в Android
🟢Кейс: интеграция библиотеки Алисы в мобильный Яндекс Браузер
🟢Подводные камни и проблемы
🟢Полезные инструменты для разработчика

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥32