mobDev()
157 subscribers
62 photos
5 videos
98 links
🔥 Твой фид мобильной разработки
➡️ Новости, статьи, видео, квизы
👨‍💻 #android #ios #crossplatform
Download Telegram
Как построить динамичный UI приложения на Json? 🤔

Конечно же, с помощью Jetpack Compose.

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

Остается лишь вопрос "зачем?", но ответ есть — как минимум, этот метод позволяет запустить полноценный Server-Side Rendering: бэк отправляет Json-файл, клиент считывает его и отрисовывает динамический UI на устройстве.

#android
👍3
Flutter или Native — опыт разработчиков Ozon Tech

Команда мобильного приложения Ozon ушла в нативную разработку после года на Flutter. Почему — читайте в статье на хабре

Причины вкратце:
— Опасность остановки поддержки (гугл известны внезапными объявлениями технологий deprecated, и на фоне роста популярности KMM, Flutter может в скором времени стать одним из них)
— Несовершенство Dart (до сих пор завозят технологии, которые уже давно есть на Kotlin и Swift)
— Рендеринг UI (поведение некоторых визуальных компонентов Flutter отличается от принятого на каждой из платформ)

Подробнее — по ссылке

#flutter #crossplatform
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядная демонстрация работы Hot reload на Flutter — догружаем файлы кода прямо в запущенную Dart Virtual Machine

#android #flutter
😁9
Цикл подробных статей про корутины в Kotlin

Все мы очень любим корутины (так ведь?), поэтому сохраняйте этот список себе: цикл из 5 статей от основ CoroutineContext до отмены корутин с примерами и пояснениями

👉 1. CoroutineContext
👉 2. CoroutineScope
👉 3. Structured Concurrency
👉 4. Exception Handling
👉 5. Cancellation

#android
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированный Splash Screen для Android 🔃

С приходом Android 12 мы наконец получили полноценный API для создания кастомизированных экранов загрузки. Если еще не попробовали, то сейчас самое время разобраться и внедрить технологию в свое приложение

Пара ссылок, чтобы лучше вникнуть в тему: здесь подробная документация по использованию с android developers, а здесь статья с более наглядным пояснением на хабре

#android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Еще одна анимация загрузки, в этот раз для iOS

LiquidLoader — библиотека индикаторов загрузки. По умолчанию есть два варианта: круговой (GrowCircle) и линейный (GrowLine), но при желании можно покопаться и накастомить что-то свое

Реализация на Swift: https://github.com/yoavlt/LiquidLoader

#ios
Уже более 500 мобильных приложений добавили слово "метавселенная" в свои названия 🌌

Если вы еще не устали от этого слова, скоро это может произойти: более 500 приложений из App Store и Google Play "обновили" свои названия с учетом нового тренда (в октябре прошедшего года их было всего 11).

Чаще всего слово "метавселенная" используют в своих названиях игры (107), финансовые приложения (101) и соцсети (70).

Впрочем, по факту никакого функционала метавселенной в большинстве из них нет, и это скорее маркетинговый ход, чем технически обоснованный шаг 🤷

Еще больше статистики здесь: https://habr.com/ru/news/t/649675/

#android #ios
👍2
Эта ошибка едва не стоила разработчику жизни...
3 технологии Android-разработки, которые умрут в 2022 💀

Интересный материал на медиуме: автор прогнозирует 3 технологии разработки, которые станут неактуальны до конца этого года. Вытеснят их (вполне ожидаемо) вездесущий Jetpack Compose, корутины и StateFlow.

Если вкратце, то прощаться по мнению автора пора со следующими технологиями:

— Android View на XML (→ Jetpack Compose)
— LiveData (→ StateFlow)
— Activity Lifecycle APIs (→ Lifecycle Aware Coroutine)

При прочтении конечно стоит помнить, что все это лишь прогнозы, хотя такой исход по итогам 2022 на самом деле вполне вероятен.

#android
👍4
Kotlin 1.6.20 уже на подходе, и вот как будет выглядеть Context Receiver

Фича все еще значится в стадии прототипа, поэтому не исключено, что это не финальная версия.

В любом случае, попробовать новый синтаксис на JVM можно будет уже скоро, сразу после релиза 1.6.20

Полный список ожидаемых изменений в 1.6.20 — здесь

#android
Microsoft Snippet — библиотека для измерения времени исполнения кода

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

Несколько технологий для такого замера уже существуют (среди них Hugo, Android Profiler и TimeLogger), однако полного функционала ни одна из них не предлагает — например, Hugo позволяет замерять только отдельные методы, а Android Profiler и вовсе затормаживает работу приложения

Решение пришло откуда не ждали, а именно от разработчика из Microsoft — он создал библиотеку Microsoft Snippet, которая позволяет отслеживать блоки кода любого размера и не требует много ресурсов

Посмотреть, как работает Snippet, можно здесь

#android #lib
Подробный гайд по Concurrency и Multithreading на iOS

Большой гайд про параллелизм и многопоточность. Прочитать стоит в первую очередь тем, плохо ориентируется в теме — материал объясняется подобно и со множеством примеров.

Что внутри?

👉 Main thread vs. background thread
👉 Async/await and Actor
👉 GCD vs. OperationQueue
👉 Group dispatch / DispatchGroup

#ios
👍3
Планы на завтра: дождаться, пока студия придет в себя после Invalidate Caches
This media is not supported in your browser
VIEW IN TELEGRAM
Набор базовых анимаций на Jetpack Compose

4 стандартные анимации для Compose в одном репозитории:

— счетчик с поворотом
— idle лайк
— индикатор загрузки
— кнопка голосового набора

Сами анимации лежат здесь, а в блоге также есть подробная статья с примерами кода

#android #compose
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядная визуализация данных. AsyncTask -> Loader -> LiveData -> StateFlow

#android
😁8
В интернет слили скриншоты распределения ресурсов на твоем компьютере 🙈
😁10🤯1
Хорошая серия статей по системному дизайну

Практики системного дизайна на мобильных ОС. Всего 5 частей, 2 теории и 3 практических задачи с разбором:

👉 A Simple Framework For Mobile System Design Interviews
👉 Additional Topics For Mobile System Design Interviews
👉 Mobile System Design Exercise: File Downloader Library
👉 Mobile System Design Exercise: Caching Library
👉 Mobile System Design Exercise: Image Library

Статьи неплохо вводят в тему, так что читать стоит в первую очередь тем, кто не до конца ориентируется в системном дизайне, архитектуре, использовании модулей и т.д.
👍4
Koin 3.2 Beta + Roadmap на 2022 🗺

Koin — очень крутая и набирающая популярность технология для Kotlin Injections, и недавно вышел анонс новой версии 3.2 Beta. Вкратце:

— Режим выпуска обновлений приводится к стандарту 1 раз в полгода (примерно так это делает команда Kotlin)

— Koin получил спонсорскую поддержку от компании Kotzilla, что позволит вложить больше средств в разработку

— Внедрена фича под названием Constructor DSL: она позволяет добавлять компоненты в проект по имени класса, т.е. без использования get()

— Добавлена поддержка Kotlin Native Memory Model

Более подробная информация, а также роадмап на 2022 год — по ссылке

#android
👍6💩1
Настраиваем Android CI через GitHub Actions 🧩

Android Continuous Integration (CI) — система, позволяющая автоматически создавать и тестировать приложение каждый раз, когда отправляется запрос на обновление. Таким образом, экономится время на регулярных билдах и тестах

Настроить CI сейчас можно полностью через сервис GitHub Actions: от создания CI flow до Unit-тестов

Больше информации и подробная инструкция по настройке — по ссылке

#android
👍4
Большой гайд по стилизации текста на Jetpack Compose 🧩

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

Выравнивание текста, цвета, вес шрифта, жир/курсив и прочее отлично настраивается на Compose, подробнее — по этой ссылке

Инструкции там довольно элементарные, но иметь такой гайд под рукой никогда не помешает

#android #compose
👍6