Mobile Native ️️
5.63K subscribers
905 photos
6 videos
3 files
1.03K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://t.me/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose

Статья по бóльшей части для начинающих, про KeyStore в контексте мобильной разработки: что это, для чего нужен и с примером реализации экрана с пинкодом для входа в приложение.

P.S. На код в статье, как на эталонный не стоит ориентироваться. Можно почитать для общего понимания принципа работы.

Читать (Ru)
Как заглянуть под капот Composable функции

Довольно интересная и полезная статья от Абакара Магомедова (главный техлид в Альфа-Банке), в которой разбирается, как Composable-функции меняются при компиляции и как работает аннотация @Composable.

Читать (Ru)
Gradle + GitLab: эффективный и бесплатный билд-кэш

Эта заметка является чем-то вроде гайда по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.

Читать (Ru)
Forwarded from Swift Tips
Отрицание, гнев, торг: как дизайну и разработке найти общий язык

Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.

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

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

Читать (Ru)
Advanced Kotlin Coroutine Cheat sheet (for Android Engineer)

Большая статья (шпаргалка-справочник) по использованию корутин в более продвинутых сценариях.

Читать (En)
Command Your User Inputs with Jetpack Compose — Text Field Features Hidden in Plain Sight

Большая статья, с обзором доступных функций Text Field в Jetpack Compose, с помощью которых можно улучшить визуальную часть Text Field и сделать их более интерактивными.

👉 The Basics
👉 Gradient Text Field
👉 Decoration Box
👉 Let’s Go Funky
👉 Masked Text Field for Credit Card Input
👉 Handling User Interactions
👉 Real Time User Tagging
👉 Keyboard Actions
👉 Providing Haptic Feedback
👉 Supporting Rich Media Content

Читать (En)
Don’t Lock the Screen Orientation! Handling Orientation in Compose

Статья про то, почему не стоит отключать горизонтальную ориентацию в приложении, почему пользовтелям может быть не удобна портретная ориентация и какие есть способы обработки и получения текущей ориентации в Jetpack Compose.

Читать (En)
Алгоритмы  —  самый провальный этап собеседований

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

Читать (Ru)
Что стоит знать о Jetpack Compose: руководство для начинающих

Туториал для начинающих с разбором ключевых аспектов Compose, который сэкономит время на погружение.

👉 State и Composition
👉 Примеры стабильных и нестабильных типов
👉 Как Jetpack Compose управляет рекомпозицией
👉 Как разработчики могут оптимизировать производительность приложений

Читать (Ru)
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать

В статье разбираются некторые механизмы многопоточки из Java, как они работают и как использовать.

👉 Volatile
👉 Lock-free
👉 Immutable
👉 Блокировки
👉 Atomic

Уверен, многие с приходом Kotlin`а напрямую их неиспользуют, но их знания и то, как они работают точно лишними не будут.

Читать (Ru)
Forwarded from Swift Tips
Async await in Swift: The Full Toolkit

Большая статья с примерами кода по доступным инструментам Swift Concurrency.

🟢async / await
🟢async let
🟢Task
🟢Task group
🟢Actors
🟢MainActor
🟢Sendable
🟢Continuations (theory)
🟢Continuations (practice)
🟢AsyncSequence
🟢AsyncStream
🟢Async Algorithms

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Как получить выплаты в РФ от зарубежного заказчика?

Разработчики из РФ являются одними из самых востребованных в мире. Но зарубежные заказчики все чаще боятся иметь дело с исполнителями из РФ из-за санкций. Ведь для них неисполнение данных требований - не шутки, и может создать много проблем для их бизнеса.

💁‍♂️ Ну и как быть в данной ситуации?

Мы предлагаем вам платежное решение для выплат русскоязычным исполнителям
из-за рубежа с комиссией всего 2 % (для выплат на СМЗ 3.5%).

Salary.cabсервис оплаты работы фрилансерам и исполнителям из-за рубежа, который:

— Соблюдает все законодательные требования, связанные с международными финансовыми операциями;
— Обеспечивает безопасность финансовых транзакций и защиту информации;
— Обрабатывает транзакции не более 24 часов в рабочие дни, как правило, 1-2 часа;
— Предоставляет документацию по каждой выплате.

➡️ Ознакомиться с условиями: https://clck.ru/3CMm3w

Реклама. Ходырев Максим Михайлович. ИНН: 165036899487. Erid: 2VtzquyGTWb
Selenoid для запуска UI-тестов на Android

В первой статье рассказывается про опыт настройки Selenoid, с какими сложностями можно столкнуться и как их решать. Вторая про развёртывание инфраструктуры для запуска тестов на реальных Android-устройствах на Linux и Mac + примеры кастомных скриптов для генерации конфигурационных файлов для подключенных устройств.

Selenoid – мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах. Как утверждают производители Selenoid, их решение потребляет намного меньше ресурсов, чем, например тот же Selenium.

👉 Настройка Selenoid для запуска UI-тестов на Android
👉 Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве
🎦 Небольшой курс по использованию DivKit от яндексоидов

Backend-Driven UI позволяет ускорить доставку изменений до клиентских устройств в мобильных приложениях. А DivKit — это наш опенсорсный фреймворк для работы с BDUI.

Мы подготовили серию обучающих видео о том, как использовать DivKit:

🟠 Часть 1. Какие подходы к организации мобильных приложений существуют, что такое BDUI и как устроен DivKit

🟠 Часть 2. Какие типы элементов поддерживаются DivKit и как во фреймворке устроена вёрстка

🟠 Часть 3. В чём особенность интерактивных элементов и как устроена логика их вёрстки

🟠 Часть 4. Как добавить DivKit в Android-приложение

🟠 Часть 5. Как добавить DivKit в iOS-приложение

Выбирайте ролик под свои задачи или посмотрите всё от начала до конца в отдельном плейлисте на ютубе.

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile

Реклама. ООО "Яндекс", ИНН 7736207543.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вредные советы, как приходить с вопросами к техлиду

Абакар Магомедов собрал свой топ-4 вредных советов о том, как не надо приходить с вопросами к лиду.

Особенно полезно может быть джунам.

Читать (Ru)
The best way to load data in ViewModels

Статья с примером реализации своего компонента со стейтами, для более удобной загрузки данных во ViewModel и последующей обработкой на UI.

Пример кода на GitHub → DataLoadingExample

Читать (En)
Уже знакомы с мобильными ORM SwiftData, Realm и CoreStore, но хотите узнать больше об альтернативах? Сталкиваетесь с вопросами производительности и памяти при работе с данными на iOS?

Представьте, что вы знаете, как портировать фреймворк Fluent из Vapor под iOS и решать те же задачи, что и SwiftData. Вы уверенно сравниваете производительность и память различных ORM и принимаете архитектурно правильные решения для своих проектов.

Присоединяйтесь к открытому вебинару 20 августа в 20:00 мск и сделайте этот прыжок в будущее! После занятия вы сможете создать iOS-приложение, использующее Fluent в качестве хранилища.

Спикер Сергей Балалаев — PhD Physical and Mathematical Sciences, руководитель мобильного приложения в Озон и опытный преподаватель.

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, Erid: LjN8Jw1Q6
Android-приложение без Firebase — миф или реальность?

Автор статьи на основе опыта работы с Firebase рассказывает о плюсах, минусах и альтернативах использования этой платформы. Текст будет полезен тем, кто разрабатывает или планирует разрабатывать мобильные приложения.

👉 Что такое Firebase?
👉 Альтернативы Firebase: почему они важны?
👉 Чем можно заменить FCM?
👉 Remote Config: какие есть аналоги?
👉 Анализ ошибок: Firebase vs Tracer
👉 Аналитика от Firebase: альтернативы есть
👉 Архитектурная гибкость

Читать (Ru)
MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose

В статье рассматриваются и сравниваются функциональные возможности MutableState и MutableStateFlow для управления стейтом в Jetpack Compose.

👉 What is MutableState?
👉 Using MutableState with Backing Properties in ViewModel
👉 Introduction to Flows in Jetpack Compose
👉 Using Flow in ViewModel for Heavy Computations
👉 Comparison of MutableState and MutableStateFlow

Читать (En)