Обложка канала

Mobile Native. Страница 21

Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

  • Mobile Native

    Неочевидное про Fragment API. Часть 1. Транзакции Статья от команды Тинькофф, про некоторые интересные моменты из Fragment API, о которых вы могли не знать (add, replace, show/hide, reorderingAllowed, ограниченный lifecycle). Читать (Ru)
  • Mobile Native

    Explore Compose MotionLayout Пример реализации достаточно прикольной анимации с помощью MotionLayout в Jetpack Compose. Читать (En)
  • Mobile Native

    Новый канал в семействе Native – QA Native 😎 Давно в планах было создать еще несколько тематических каналов, таким образом еще в январе я забронировал линк в ТГ – @qa_native и начал потихоньку накидывать туда материалы. Сегодня разгрузил какую-то часть интересного и полезного избранного материала и предлагаю подписаться тем, кому интересна тема QA, тестирования, автоматизации и т.д. Для тех, кто не знает, когда-то давно я сам начинал в IT с обычного тестировщика, поэтому в этой теме я тоже разбираюсь на достаточном уровне. Присоединяйтесь → @qa_native P.S. Следите за новостями, еще есть несколько линков забронированных 😉
  • Реклама

  • Mobile Native

    Что мы используем для анализа Android-приложений Крутая статья, с набором инструментов для анализа Android-приложений. Для удобства, вынес ссылки на некоторые инструменты в пост. 👉 BurpSuite 👉 MitmProxy 👉 OWASP ZAP 👉 JADX 👉 Apktool 👉 ByteCode Viewer 👉 Androguard 👉 Mariana Trench 👉 Hbctool 👉 Frida 👉 Objection 👉 MagiskTrustUserCerts 👉 WebViewDebugHook Однозначно в избранное ✅ Читать (Ru)
  • Mobile Native

    Concurrency in iOS: GCD Пока по андроиду не попадаются интересные материалы, предлагаю почитать статейку не тему Concurrency в iOS. 👉 Introduction to Concurrency 👉 Concurrency in iOS 👉 Grand Central Dispatch 👉 DispatchQueue 👉 DispatchWorkItem 👉 Concurrency Problem Читать (En)
  • Mobile Native

    Deep Dive Into Deep Link. Часть 1. Введение и исходная задача Первая, вводная часть из серии статей про Deep Link. 👉 Что такое Deep Link 👉 Android App Link 👉 Как работают Deep Link на разных устройствах. Читать (Ru)
  • Mobile Native

    ❇️ Создайте свое первое приложение на Android. На открытом уроке для новичков «Реализация кроссплатформенного приложения на KMP». 👉 https://otus.pw/h8eM/ Почему стоит посетить вебинар? - Напишем приложение с одним экраном, где есть общая часть, написанная в Kotlin-Muliplatform и использующуюся в нативных платформа. - Посмотрим, как создавать проекты для этой платформы, как они устроены. - Узнаем, как они интегрируются в iOS/Android проект. Вебинар пройдет в рамках специализации «Android Developer» — онлайн-курса для тех, кто хочет освоить эту профессию с нуля. 👉 Чтобы участвовать, зарегистрируйтесь
  • Mobile Native

    A cleaner way to interact between Composable and ViewModel in Jetpack Compose Пример более чистого взаимодействия между Composable и ViewModel в Jetpack Compose, через единый класс для UI стейтов и Sealed Class для ивентов. Кажется, что данный подход никак не привязан к UI стилю (Jetpack Compose / Xml), а больше про взаимодействие View слоя с ViewModel. Поэтому, Jetpack Compose в принципе отсюда можно 😉 Читать (En)
  • Mobile Native

    Stop using MVVM with SwiftUI Давненько не было на канале материалов по iOS, нужно это исправлять 😎 Статья про то, почему использование MVVM в связке с SwiftUI плохая затея. Читать (En)
  • Mobile Native

  • Mobile Native

    → Тест: вы уже тестировщик или пока нет? 1️⃣ Тестировщик нашёл баг. Как можно сообщить команде о баге? а) Отправить начальству сообщение в телеграме с описанием бага. б) Написать отчёт — баг-репорт. в) Записать голосовое сообщение и рассказать все детали. 2️⃣ Баг вот такой: «Ожидаемый результат: Логотип Яндекс.Метро. При нажатии на слово «Метро» открывается страница Яндекс.Метро. Фактический результат: Открывается главная страница Яндекса.» Какой заголовок лучше подойдёт, чтобы описать дефект? а) Сломался логотип Яндекс.Метро. б) Не открывается страница Яндекс.Метро. в) При клике на слово «Метро» в логотипе не открывается страница Яндекс.Метро. г) Клик по слову «Метро» в логотипе ведёт на главную страницу Яндекса. 3️⃣ Что такое «окружение» в баг-репорте? а) Что находится вокруг пользователя, когда он заходит на сайт. б) Операционные системы, браузеры или версии приложений, в которых возникает ошибка. в) Тактика устранения багов, когда один баг окружают несколько тестировщиков. А вот и ответы: 1Б, 2Г, 3Б ️ ⭕️Если ошиблись — не переживайте. Познакомиться с основами тестирования можно в бесплатной вводной части базового курса по тестированию → https://practicum.yandex.ru/qa-engineer ✅Если всё правильно — похоже, у вас уже есть опыт! Углубить свои знания можно в полном курсе по тестированию → https://practicum.yandex.ru/qa-engineer
  • Mobile Native

    10 Almost Unknown Tools Which Facilitate Android Apps Development Еще один сборник c тулзами, которые могут облегчить жизнь Android-разработчикам и ускорить процесс разработки. Читать (En)
  • Mobile Native

    Опыт перехода на MVI в Android на базе собственного решения И снова про MVI. В статье ребята из Юлы делятся опытом перехода на MVI на базе собственного решения – Reduktor. Рассмативаются базовые штуки, типа отличий MVP/MVVM/MVI, ну и про то, как пришли к собственному решению. Библиотека на GitHub → Reduktor Читать (Ru)
  • Mobile Native

    Продолжаю тему небольших постов с разбором простых вещей, сделанных неочевидно. Предыдущий пост тут. Сегодня про UX/UI, а именно про различные состояния у кликабельных вьюшек (state_pressed, state_enable). Кейс 1 - state_pressed. Иногда пользуясь некоторыми приложениями, замечаю такую штуку: нажимаю какую-нибудь кнопку или иконку и состояние элемента никак не меняется. Почему так происходит? Иногда разработчики делают кликабельными компоненты отличные от Button, ImageButton и т.д., например TextView, ImageView, различные Layout`s или кастомные вьюшки, но соответствующий бэкграунд для них не устанавливают. Как мы с вами знаем, бэкграунд можно задавать через xml drawable, в котором мы предварительно описываем нужные стейты. Для Button`s это уже заложено системой, у других компонентов нет. Это всё можно сделать элементарно и просто, но по каким-то причинам некоторые разработчики этого не делают… Так вот, если вы делаете кликабельными такие компоненты – используйте хотя бы готовые, системные drawable, это на 1 строчку кода больше, а получится нормальный кликабельный с ripple эффектом компонент и приложение будет более юзерфрендли 😉 Вот как можно задать некоторые системные drawable 1. android:background="?android:attr/selectableItemBackground" – для текстовых кнопок 2. android:background="?android:attr/selectableItemBackgroundBorderless" – для текстовых кнопок 3. style="?attr/toolbarNavigationButtonStyle" – для иконок Кейс 2 – state_enable Не давно формировал счет в приложении "Налог" и у них в это время были технические работы на бэке. При нажатии на кнопку "Выдать счет" ничего не происходит, я тыкаю еще раз – тоже самое и так было N-количество раз… По итогу удалось сформировать счет – вроде всё ок. Через несколько дней увидел, что одинаковых счетов сформировалось штук 15 😳. Я конечно же не нужные аннулировал, но давайте разберёмся почему так могло произойти. 1. Не было состояния загрузки (progress_bar, progress_view) 2. Кнопка была всегда активной Как решать подобное? Для асинхронных функций (особенно для критично важных) на время выполнения нужно показывать состояние загрузки и дизейблить кнопку. Больше наверное тут и добавить нечего)
  • Mobile Native

    Как работа с ресурсами вызывает микрофризы Достаточно интересная и полезная статья про микрофризы при работе с ресурсами, а именно Drawable. Приводится несколько вариантов, как этого можно избежать. Ну и как всегда, по большей части речь идет про списки 💪 Читать (Ru)
  • Реклама

  • Mobile Native

    Android Access Token Logic With Retrofit OkHttp Interceptors Пример реализации обновления токена (OAuth) через OkHttp Interceptors. В целом довольно стандартная реализация, но вдруг кому-то понадобится. Читать (En)
  • Mobile Native

    Полный гайд по Java и Android в кармане 🧠 Даже сеньор может поплыть на джоб-интервью, отвечая на вроде бы простые вопросы. В каналах Interview Review мы собрали ответы на самые популярные вопросы с IT собеседований — кратко, понятно и человеческим языком. Ничего лишнего: только хардкорный контент для полного погружения в «кишки» технологии. Подпишись на свою личную шпаргалку по Java и Android! С ней любая задача по зубам. @JavaSobes | @AndroidSobes
  • Mobile Native

    Algorithms and Design Patterns Сразу несколько полезных материалов по алгоритмам. В первом собраны наиболее распространенные алгоритмы, структуры данных и паттерны проектирования на Kotlin. Второй – онлайн сервис, с множеством статей по различным алгоритмам, структурам и т.д. 👉 Kotlin Algorithms and Design Patterns 👉 Алгоритмика