Как построить динамичный UI приложения на Json? 🤔
Конечно же, с помощью Jetpack Compose.
Материал на медиуме подробно рассказывает, как устроен этот процесс, а по итогу выясняется, что способ действительно работает.
Остается лишь вопрос "зачем?", но ответ есть — как минимум, этот метод позволяет запустить полноценный Server-Side Rendering: бэк отправляет Json-файл, клиент считывает его и отрисовывает динамический UI на устройстве.
#android
Конечно же, с помощью Jetpack Compose.
Материал на медиуме подробно рассказывает, как устроен этот процесс, а по итогу выясняется, что способ действительно работает.
Остается лишь вопрос "зачем?", но ответ есть — как минимум, этот метод позволяет запустить полноценный Server-Side Rendering: бэк отправляет Json-файл, клиент считывает его и отрисовывает динамический UI на устройстве.
#android
Medium
Jetpack Compose Enables JSON Defined View Layout
Making a more dynamic layout from the server payload
👍3
Flutter или Native — опыт разработчиков Ozon Tech
Команда мобильного приложения Ozon ушла в нативную разработку после года на Flutter. Почему — читайте в статье на хабре
Причины вкратце:
— Опасность остановки поддержки (гугл известны внезапными объявлениями технологий deprecated, и на фоне роста популярности KMM, Flutter может в скором времени стать одним из них)
— Несовершенство Dart (до сих пор завозят технологии, которые уже давно есть на Kotlin и Swift)
— Рендеринг UI (поведение некоторых визуальных компонентов Flutter отличается от принятого на каждой из платформ)
Подробнее — по ссылке
#flutter #crossplatform
Команда мобильного приложения Ozon ушла в нативную разработку после года на Flutter. Почему — читайте в статье на хабре
Причины вкратце:
— Опасность остановки поддержки (гугл известны внезапными объявлениями технологий deprecated, и на фоне роста популярности KMM, Flutter может в скором времени стать одним из них)
— Несовершенство Dart (до сих пор завозят технологии, которые уже давно есть на Kotlin и Swift)
— Рендеринг UI (поведение некоторых визуальных компонентов Flutter отличается от принятого на каждой из платформ)
Подробнее — по ссылке
#flutter #crossplatform
Хабр
Flutter vs Native: почему мы переходим с первого на второй
Привет, Хабр! Меня зовут Сергей, я занимаюсь мобильной разработкой 13 лет и недавно стал руководителем разработки мобильного приложения «Пункты выдачи заказов» в Ozon. Невольно став сместителем...
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядная демонстрация работы Hot reload на Flutter — догружаем файлы кода прямо в запущенную Dart Virtual Machine
#android #flutter
#android #flutter
😁9
Цикл подробных статей про корутины в Kotlin
Все мы очень любим корутины (так ведь?), поэтому сохраняйте этот список себе: цикл из 5 статей от основ CoroutineContext до отмены корутин с примерами и пояснениями
👉 1. CoroutineContext
👉 2. CoroutineScope
👉 3. Structured Concurrency
👉 4. Exception Handling
👉 5. Cancellation
#android
Все мы очень любим корутины (так ведь?), поэтому сохраняйте этот список себе: цикл из 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
С приходом 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
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
Если вы еще не устали от этого слова, скоро это может произойти: более 500 приложений из App Store и Google Play "обновили" свои названия с учетом нового тренда (в октябре прошедшего года их было всего 11).
Чаще всего слово "метавселенная" используют в своих названиях игры (107), финансовые приложения (101) и соцсети (70).
Впрочем, по факту никакого функционала метавселенной в большинстве из них нет, и это скорее маркетинговый ход, чем технически обоснованный шаг 🤷
Еще больше статистики здесь: https://habr.com/ru/news/t/649675/
#android #ios
Хабр
Слово «метавселенная» в своё название добавили уже более 500 мобильных приложений
В настоящее время существует 552 мобильных приложения, которые содержат термин «метавселенная» в названии или описании, выяснили аналитики Sensor Tower. Многие из них добавили слово...
👍2
3 технологии Android-разработки, которые умрут в 2022 💀
Интересный материал на медиуме: автор прогнозирует 3 технологии разработки, которые станут неактуальны до конца этого года. Вытеснят их (вполне ожидаемо) вездесущий Jetpack Compose, корутины и StateFlow.
Если вкратце, то прощаться по мнению автора пора со следующими технологиями:
— Android View на XML (→ Jetpack Compose)
— LiveData (→ StateFlow)
— Activity Lifecycle APIs (→ Lifecycle Aware Coroutine)
При прочтении конечно стоит помнить, что все это лишь прогнозы, хотя такой исход по итогам 2022 на самом деле вполне вероятен.
#android
Интересный материал на медиуме: автор прогнозирует 3 технологии разработки, которые станут неактуальны до конца этого года. Вытеснят их (вполне ожидаемо) вездесущий Jetpack Compose, корутины и StateFlow.
Если вкратце, то прощаться по мнению автора пора со следующими технологиями:
— Android View на XML (→ Jetpack Compose)
— LiveData (→ StateFlow)
— Activity Lifecycle APIs (→ Lifecycle Aware Coroutine)
При прочтении конечно стоит помнить, что все это лишь прогнозы, хотя такой исход по итогам 2022 на самом деле вполне вероятен.
#android
Medium
3 Android Techs That Are Sunsetting in 2022
There were once the needed or popular. But it’ll be replaced.
👍4
Kotlin 1.6.20 уже на подходе, и вот как будет выглядеть Context Receiver
Фича все еще значится в стадии прототипа, поэтому не исключено, что это не финальная версия.
В любом случае, попробовать новый синтаксис на JVM можно будет уже скоро, сразу после релиза 1.6.20
Полный список ожидаемых изменений в 1.6.20 — здесь
#android
Фича все еще значится в стадии прототипа, поэтому не исключено, что это не финальная версия.
В любом случае, попробовать новый синтаксис на JVM можно будет уже скоро, сразу после релиза 1.6.20
Полный список ожидаемых изменений в 1.6.20 — здесь
#android
Microsoft Snippet — библиотека для измерения времени исполнения кода ⏲
Оптимизация времени выполнения кода — важная задача, от выполнения которой напрямую зависит опыт использования приложения: многие пользователи и вовсе могут отказаться от продолжения работы с ним из-за слишком долгих загрузок
Несколько технологий для такого замера уже существуют (среди них Hugo, Android Profiler и TimeLogger), однако полного функционала ни одна из них не предлагает — например, Hugo позволяет замерять только отдельные методы, а Android Profiler и вовсе затормаживает работу приложения
Решение пришло откуда не ждали, а именно от разработчика из Microsoft — он создал библиотеку Microsoft Snippet, которая позволяет отслеживать блоки кода любого размера и не требует много ресурсов
Посмотреть, как работает Snippet, можно здесь
#android #lib
Оптимизация времени выполнения кода — важная задача, от выполнения которой напрямую зависит опыт использования приложения: многие пользователи и вовсе могут отказаться от продолжения работы с ним из-за слишком долгих загрузок
Несколько технологий для такого замера уже существуют (среди них Hugo, Android Profiler и TimeLogger), однако полного функционала ни одна из них не предлагает — например, Hugo позволяет замерять только отдельные методы, а Android Profiler и вовсе затормаживает работу приложения
Решение пришло откуда не ждали, а именно от разработчика из Microsoft — он создал библиотеку Microsoft Snippet, которая позволяет отслеживать блоки кода любого размера и не требует много ресурсов
Посмотреть, как работает Snippet, можно здесь
#android #lib
Medium
Meet Microsoft Snippet — an Android Library for Measuring Code Execution Time
Improve the performance of your apps
Подробный гайд по Concurrency и Multithreading на iOS
Большой гайд про параллелизм и многопоточность. Прочитать стоит в первую очередь тем, плохо ориентируется в теме — материал объясняется подобно и со множеством примеров.
Что внутри?
👉 Main thread vs. background thread
👉 Async/await and Actor
👉 GCD vs. OperationQueue
👉 Group dispatch / DispatchGroup
#ios
Большой гайд про параллелизм и многопоточность. Прочитать стоит в первую очередь тем, плохо ориентируется в теме — материал объясняется подобно и со множеством примеров.
Что внутри?
👉 Main thread vs. background thread
👉 Async/await and Actor
👉 GCD vs. OperationQueue
👉 Group dispatch / DispatchGroup
#ios
Medium
The Complete Guide to Concurrency and Multithreading in iOS
Main thread vs. background thread. Async/await and Actor. GCD vs. OperationQueue. Group dispatch, how to empower background thread, and…
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Набор базовых анимаций на Jetpack Compose
4 стандартные анимации для Compose в одном репозитории:
— счетчик с поворотом
— idle лайк
— индикатор загрузки
— кнопка голосового набора
Сами анимации лежат здесь, а в блоге также есть подробная статья с примерами кода
#android #compose
4 стандартные анимации для Compose в одном репозитории:
— счетчик с поворотом
— idle лайк
— индикатор загрузки
— кнопка голосового набора
Сами анимации лежат здесь, а в блоге также есть подробная статья с примерами кода
#android #compose
Хорошая серия статей по системному дизайну
Практики системного дизайна на мобильных ОС. Всего 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
Статьи неплохо вводят в тему, так что читать стоит в первую очередь тем, кто не до конца ориентируется в системном дизайне, архитектуре, использовании модулей и т.д.
Практики системного дизайна на мобильных ОС. Всего 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
Статьи неплохо вводят в тему, так что читать стоит в первую очередь тем, кто не до конца ориентируется в системном дизайне, архитектуре, использовании модулей и т.д.
Medium
A Simple Framework For Mobile System Design Interviews
The list of posts in this series:
👍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
Koin — очень крутая и набирающая популярность технология для Kotlin Injections, и недавно вышел анонс новой версии 3.2 Beta. Вкратце:
— Режим выпуска обновлений приводится к стандарту 1 раз в полгода (примерно так это делает команда Kotlin)
— Koin получил спонсорскую поддержку от компании Kotzilla, что позволит вложить больше средств в разработку
— Внедрена фича под названием Constructor DSL: она позволяет добавлять компоненты в проект по имени класса, т.е. без использования get()
— Добавлена поддержка Kotlin Native Memory Model
Более подробная информация, а также роадмап на 2022 год — по ссылке
#android
Medium
Koin 3.2 Beta & Roadmap for 2022
We have lots of new things to come and to share with you, about Koin in 2022!
👍6💩1
Настраиваем Android CI через GitHub Actions 🧩
Android Continuous Integration (CI) — система, позволяющая автоматически создавать и тестировать приложение каждый раз, когда отправляется запрос на обновление. Таким образом, экономится время на регулярных билдах и тестах
Настроить CI сейчас можно полностью через сервис GitHub Actions: от создания CI flow до Unit-тестов
Больше информации и подробная инструкция по настройке — по ссылке
#android
Android Continuous Integration (CI) — система, позволяющая автоматически создавать и тестировать приложение каждый раз, когда отправляется запрос на обновление. Таким образом, экономится время на регулярных билдах и тестах
Настроить CI сейчас можно полностью через сервис GitHub Actions: от создания CI flow до Unit-тестов
Больше информации и подробная инструкция по настройке — по ссылке
#android
Medium
Set up an Android CI using GitHub Actions
When I onboarded at Innovorder in September 2021, the Android team had a CI setup running on Google Cloud Build. It worked quite well…
👍4
Большой гайд по стилизации текста на Jetpack Compose 🧩
Стилизация текста, наравне с цветами интерфейса — один из главных способов визуального взаимодействия с пользователем. К примеру, на картинках выше один и тот же текст, однако вариант справа читается гораздо приятнее и лучше удерживает внимание
Выравнивание текста, цвета, вес шрифта, жир/курсив и прочее отлично настраивается на Compose, подробнее — по этой ссылке
Инструкции там довольно элементарные, но иметь такой гайд под рукой никогда не помешает
#android #compose
Стилизация текста, наравне с цветами интерфейса — один из главных способов визуального взаимодействия с пользователем. К примеру, на картинках выше один и тот же текст, однако вариант справа читается гораздо приятнее и лучше удерживает внимание
Выравнивание текста, цвета, вес шрифта, жир/курсив и прочее отлично настраивается на Compose, подробнее — по этой ссылке
Инструкции там довольно элементарные, но иметь такой гайд под рукой никогда не помешает
#android #compose
👍6