Избавляемся от «хвоста» старых версий приложений
У многих часто обновляющихся приложений существует процент активных пользователей, которые сидят на сильно устаревшей версии приложения. Согласно статье, ситуация может породить 3 вида проблем:
— перегруженная техподдержка и низкие оценки в сторах из-за багов, которые были исправлены в последующих версиях;
— может использоваться старое серверное API, который сложно поддерживать наравне с новым;
— внедрение фич может замедляться, поскольку недостаточно статистики по их использованию.
Как с этим быть? В статье разобраны инструменты, которые помогают совершить принудительное обновление приложений, а также даны советы, как уменьшить размер и количество обновлений, а также убеждать пользователей обновиться.
#android #ios
У многих часто обновляющихся приложений существует процент активных пользователей, которые сидят на сильно устаревшей версии приложения. Согласно статье, ситуация может породить 3 вида проблем:
— перегруженная техподдержка и низкие оценки в сторах из-за багов, которые были исправлены в последующих версиях;
— может использоваться старое серверное API, который сложно поддерживать наравне с новым;
— внедрение фич может замедляться, поскольку недостаточно статистики по их использованию.
Как с этим быть? В статье разобраны инструменты, которые помогают совершить принудительное обновление приложений, а также даны советы, как уменьшить размер и количество обновлений, а также убеждать пользователей обновиться.
#android #ios
👍5
Android 13: разбор обновления и способы установки
Большая статья на русском языке, где подробно рассмотрены нововведения системы и виртуализация, а также дана инструкция для установки на Pixel:
https://habr.com/ru/company/selectel/blog/571864/
#android
Большая статья на русском языке, где подробно рассмотрены нововведения системы и виртуализация, а также дана инструкция для установки на Pixel:
https://habr.com/ru/company/selectel/blog/571864/
#android
👍7
Изучаем с нуля Kotlin Flow
Flow — нативный инструмент в Kotlin для работы с асинхронным кодом, который пришёл на замену уже устаревшей RxJava.
Если вы с ним ещё ни разу не работали, то статья поможет изучить основные принципы работы Flow и его жизненный цикл:
https://proandroiddev.com/kotlin-coroutines-flow-in-a-nutshell-90399fc9aed7
#kotlin
Flow — нативный инструмент в Kotlin для работы с асинхронным кодом, который пришёл на замену уже устаревшей RxJava.
Если вы с ним ещё ни разу не работали, то статья поможет изучить основные принципы работы Flow и его жизненный цикл:
https://proandroiddev.com/kotlin-coroutines-flow-in-a-nutshell-90399fc9aed7
#kotlin
👍16🔥2👎1
Примеры анимаций на Jetpack Compose
На GitHub появился интересный репозиторий, где реализованы две анимации на Jetpack Compose:
— стек карточек;
— кнопка со свайпом.
Как это работает: https://github.com/antonshilov/ComposeAnimations
#android #compose #ui
На GitHub появился интересный репозиторий, где реализованы две анимации на Jetpack Compose:
— стек карточек;
— кнопка со свайпом.
Как это работает: https://github.com/antonshilov/ComposeAnimations
#android #compose #ui
👍22🔥10👏1
Как обновить контент в приложении и не выкатывать релиз в сторах
Существует множество кейсов, когда необходимо быстро уведомить пользователей приложения. При этом обновление приложения — не вариант, поскольку ревью в магазинах приложений может затянуться.
К счастью, в iOS имеется механизм Server Driven View, который отображает View с данными, полученными с сервера. Но у метода свои ограничения, и подробнее о механизме объясняется в статье.
Если больше по душе формат видео, то статья написана по мотивам доклада:
https://youtu.be/gk0SxLKmpX8
#ios #доклады
Существует множество кейсов, когда необходимо быстро уведомить пользователей приложения. При этом обновление приложения — не вариант, поскольку ревью в магазинах приложений может затянуться.
К счастью, в iOS имеется механизм Server Driven View, который отображает View с данными, полученными с сервера. Но у метода свои ограничения, и подробнее о механизме объясняется в статье.
Если больше по душе формат видео, то статья написана по мотивам доклада:
https://youtu.be/gk0SxLKmpX8
#ios #доклады
YouTube
Дмитрий Авдеев – Server driven view на SwiftUI
Server driven view - это технология для контроля отображения со стороны сервера. Можно на лету обновлять то, как выглядит фича на клиенте. SwiftUI и однонаправленная архитектура хорошо ложатся на такой подход. Посмотрим код iOS и сервера.
Код:
https://github.com/tutu…
Код:
https://github.com/tutu…
👍8🔥5
Серия статей про DataStore
Материалы помогут освоить библиотеку DataStore, чтобы эффективно хранить настройки приложения, состояния и другие небольшие объёмы данных:
— DataStore и внедрение зависимостей.
— DataStore и сериализация Kotlin.
— DataStore и синхронизация.
— DataStore и миграция данных.
— DataStore и тестирование.
Предыдущие статьи из цикла:
1. Введение в Jetpack DataStore.
2. DataStore Preferences.
3. Proto DataStore.
#android
Материалы помогут освоить библиотеку DataStore, чтобы эффективно хранить настройки приложения, состояния и другие небольшие объёмы данных:
— DataStore и внедрение зависимостей.
— DataStore и сериализация Kotlin.
— DataStore и синхронизация.
— DataStore и миграция данных.
— DataStore и тестирование.
Предыдущие статьи из цикла:
1. Введение в Jetpack DataStore.
2. DataStore Preferences.
3. Proto DataStore.
#android
👍4
Подход Branch by Abstraction на примере Android-разработки
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
Долгий рефакторинг в рабочем проекте может привести к тому, что с pull request вы получите множество конфликтов и непройденные тесты. И всё потому, что кто-то также влил большой pull request раньше.
Чтобы избежать подобных проблем, можно воспользоваться подходом Branch by Abstraction. Он позволяет делать задачу постепенно и в то же время часто выпускать релизы приложения.
Подробнее о Branch by Abstraction читайте в статье.
#android
👍12
Вакансия iOS+Android разработчика в Lineate
Международная компания Lineate в поисках специалиста с развитыми коммуникативными навыками и опытом работы в разработке мобильных приложений от 3-х лет.
От вас:
— знание Android SDK, Coroutines, Kotlin, ООП, Swift, Objective-c, iOS SD, основных архитектурных паттернов и паттернов разработки, в частности MVVM;
опыт работы с Flow & LiveData, БД (Realm), XCTest, Robolectic;
— опыт ведения процесса по Agile методологии (Scrum, Kanban);
— знание английского языка для прямого устного общения с зарубежным заказчиком.
От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие, личный социальный бюджет с растущим коэффициентом, гибкое начало рабочего дня и возможность работать удаленно.
Если заинтересовались, переходите по ссылке за подробностями.
Написать рекрутеру @JuliaKatrich
#вакансия
Международная компания Lineate в поисках специалиста с развитыми коммуникативными навыками и опытом работы в разработке мобильных приложений от 3-х лет.
От вас:
— знание Android SDK, Coroutines, Kotlin, ООП, Swift, Objective-c, iOS SD, основных архитектурных паттернов и паттернов разработки, в частности MVVM;
опыт работы с Flow & LiveData, БД (Realm), XCTest, Robolectic;
— опыт ведения процесса по Agile методологии (Scrum, Kanban);
— знание английского языка для прямого устного общения с зарубежным заказчиком.
От Lineate: возможность работать с иностранными заказчиками из России, комфортная рабочая среда, профессиональное развитие, личный социальный бюджет с растущим коэффициентом, гибкое начало рабочего дня и возможность работать удаленно.
Если заинтересовались, переходите по ссылке за подробностями.
Написать рекрутеру @JuliaKatrich
#вакансия
👎15💩9👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированная нижняя панель навигации для Android-приложения
Элементы выполнены в виде «пузырьков». Легко кастомизируется.
Как использовать: https://github.com/akshay2211/BubbleTabBar
#android #ui #библиотеки
Элементы выполнены в виде «пузырьков». Легко кастомизируется.
Как использовать: https://github.com/akshay2211/BubbleTabBar
#android #ui #библиотеки
❤30🤔2👍1💩1
Что посмотреть: доклад про CI/CD в мобильной разработке
Митапы всё чаще стали проводиться в различных регионах России. Например, по всей стране действуют ячейки Google Developer Groups, которые периодически организуют мероприятия. Рекомендуем поискать подобное сообщество в своём городе, чтобы поделиться идеями, а также зарядиться общением.
Одно из сообществ, GDG Astrakhan, проводило в декабре собственный DevFest. Для мобильных разработчиков может быть интересным доклад про CI/CD в мобильной разработке на примере Flutter-приложения:
https://youtu.be/a163owiQ0Ds
#flutter #android #ios
Митапы всё чаще стали проводиться в различных регионах России. Например, по всей стране действуют ячейки Google Developer Groups, которые периодически организуют мероприятия. Рекомендуем поискать подобное сообщество в своём городе, чтобы поделиться идеями, а также зарядиться общением.
Одно из сообществ, GDG Astrakhan, проводило в декабре собственный DevFest. Для мобильных разработчиков может быть интересным доклад про CI/CD в мобильной разработке на примере Flutter-приложения:
https://youtu.be/a163owiQ0Ds
#flutter #android #ios
YouTube
Викентий Меретин - CI/CD в мобильной разработке или как найти время на личную жизнь?
👉О спикере:
Викентий Меретин, Speak Peak, lead mobile developer
👉Описание выступления:
CI/CD в мобильной разработке или как найти время на личную жизнь?
Долгие код-ревью и пятничные релизы с бубном - проблемы многих начинающих разработчиков. CI/CD - отличное…
Викентий Меретин, Speak Peak, lead mobile developer
👉Описание выступления:
CI/CD в мобильной разработке или как найти время на личную жизнь?
Долгие код-ревью и пятничные релизы с бубном - проблемы многих начинающих разработчиков. CI/CD - отличное…
👍1🔥1
Участвуйте ли вы в митапах в своём городе?
Anonymous Poll
12%
Да
67%
Нет, т.к. не знаю о них
22%
Нет, т.к. не хочу
Как реализовать тень от кнопки в Android-приложении?
Самый стандартный способ — использовать
Помимо данного варианта, существует ещё множество способов создания тени. Подробнее о них — в статье.
#android #ui
Самый стандартный способ — использовать
elevation (для управления величиной размытия и цветом тени) и Outline (для управления формой тени и её смещением).Помимо данного варианта, существует ещё множество способов создания тени. Подробнее о них — в статье.
#android #ui
👍20
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация двусторонних переворачивающихся карточек на Jetpack Compose
Библиотека Flippable имеет множество параметров, которые можно кастомизировать.
Как использовать: https://github.com/wajahatkarim3/Flippable
#android #ui
Библиотека Flippable имеет множество параметров, которые можно кастомизировать.
Как использовать: https://github.com/wajahatkarim3/Flippable
#android #ui
👍19🤩2
Skyeng ищет Android-инженеров в команду платформы приложений от Skysmart до Skypro.
Прорабатывайте технологии вглубь, создавая переиспользуемые решения, библиотеки и инфраструктуру, которые улучшают Developer Experience других команд.
Подробнее: https://skyeng.5x10.ru/rqr
#вакансия
Прорабатывайте технологии вглубь, создавая переиспользуемые решения, библиотеки и инфраструктуру, которые улучшают Developer Experience других команд.
Подробнее: https://skyeng.5x10.ru/rqr
#вакансия
Анонсирован Google for Games Developer Summit 2022
Google проведёт 15 марта онлайн-конференцию для разработчиков мобильных игр. Доклады от экспертов будут разделены на две секции:
— Mobile Games, посвящённая Android Game Development Kit, Google Play и не только;
— Cloud Games and Infrastructure, где расскажут о создании облачной инфраструктуры игр, а также о разработке проектов на Stadia.
Со списком всех докладов можно ознакомиться на сайте конференции.
#gamedev #android
Google проведёт 15 марта онлайн-конференцию для разработчиков мобильных игр. Доклады от экспертов будут разделены на две секции:
— Mobile Games, посвящённая Android Game Development Kit, Google Play и не только;
— Cloud Games and Infrastructure, где расскажут о создании облачной инфраструктуры игр, а также о разработке проектов на Stadia.
Со списком всех докладов можно ознакомиться на сайте конференции.
#gamedev #android
👍2
Вышла Lottie 5.0 — библиотека для добавления анимаций в Android-приложение
Анимированные изображения удобно реализовывать в After Effects. А библиотека Lottie позволяет конвертировать анимацию в нативную на мобильных устройствах.
В версии 5.0 для Android разработчики библиотеки существенно улучшили стабильность библиотеки, добавили поддержку закруглённых углов для прямоугольников (rectangle) и фигур (shape), отказались от View.setLayerType() и не только. Подробнее об изменениях вы можете узнать из статьи.
Если вы никогда не пользовались библиотекой Lottie, то попробуйте анимировать котика по гайду.
#android #ui
Анимированные изображения удобно реализовывать в After Effects. А библиотека Lottie позволяет конвертировать анимацию в нативную на мобильных устройствах.
В версии 5.0 для Android разработчики библиотеки существенно улучшили стабильность библиотеки, добавили поддержку закруглённых углов для прямоугольников (rectangle) и фигур (shape), отказались от View.setLayerType() и не только. Подробнее об изменениях вы можете узнать из статьи.
Если вы никогда не пользовались библиотекой Lottie, то попробуйте анимировать котика по гайду.
#android #ui
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированная нижняя панель навигации для iOS-приложения
Помните, на днях мы рассказывали про похожую панель для Android? Существует её версия на iOS, но от другого автора. А функциональность та же: кастомизируемые элементы навигации в виде «пузырьков».
Как использовать: https://github.com/Cuberto/bubble-icon-tabbar
#ios #ui #библиотеки
Помните, на днях мы рассказывали про похожую панель для Android? Существует её версия на iOS, но от другого автора. А функциональность та же: кастомизируемые элементы навигации в виде «пузырьков».
Как использовать: https://github.com/Cuberto/bubble-icon-tabbar
#ios #ui #библиотеки
👍11
Переносим локализованные файлы из iOS в Android-приложение
В Android и iOS файлы локализации существенно отличаются. Для их переноса существуют платные сервисы, но работа с ними может только усложнить задачу. Неужели нет варианта попроще?
В статье рассказали про подход к использованию текстовых локализованных файлов, который покрывают большую часть кейсов и не использует сторонние решения.
#android #ios
В Android и iOS файлы локализации существенно отличаются. Для их переноса существуют платные сервисы, но работа с ними может только усложнить задачу. Неужели нет варианта попроще?
В статье рассказали про подход к использованию текстовых локализованных файлов, который покрывают большую часть кейсов и не использует сторонние решения.
#android #ios
👍3👎2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Скетчбук в Android-приложении
Библиотека Sketchbook для Jetpack Compose предоставляет необходимые инструменты для рисования на холсте: выбор цвета, палитру, а также различные компоненты и функции.
Как использовать: https://github.com/getStream/sketchbook-compose
#android #ui
Библиотека Sketchbook для Jetpack Compose предоставляет необходимые инструменты для рисования на холсте: выбор цвета, палитру, а также различные компоненты и функции.
Как использовать: https://github.com/getStream/sketchbook-compose
#android #ui
👍12
Раскладываем по полочкам Material You
В 2021 году вместе с Android 12 Google представила третью версию дизайн-системы Material — Material You, которая привнесла в дизайн Android-приложений много нового, в том числе:
— обновление цветовой палитры Material,
— динамические цвета,
— обновление UI-компонентов.
В статье даётся обзор нововведений Material You:
https://habr.com/ru/company/surfstudio/blog/653115/
#android #ui
В 2021 году вместе с Android 12 Google представила третью версию дизайн-системы Material — Material You, которая привнесла в дизайн Android-приложений много нового, в том числе:
— обновление цветовой палитры Material,
— динамические цвета,
— обновление UI-компонентов.
В статье даётся обзор нововведений Material You:
https://habr.com/ru/company/surfstudio/blog/653115/
#android #ui
👍11😁1
Ускоряем прохождение UI-тестов в iOS
Делимся серией статей по iOS-автоматизации, где даны советы по оптимизации времени работы UI-тестов. Пригодится, если запущенные тесты образуют очереди на ci или же UI-тесты запускаются одновременно с началом регрессионого тестирования.
1. Запуск тестов без сборки проекта
Статья знакомит с Test runner, а также объясняет, что нужно для прогона тестов без компиляции проекта.
2. Распараллеливание тестов
Вы узнаете, зачем нужно распараллеливать тесты и как это сделать в Xcode и Fastlane.
#ios #тестирование
Делимся серией статей по iOS-автоматизации, где даны советы по оптимизации времени работы UI-тестов. Пригодится, если запущенные тесты образуют очереди на ci или же UI-тесты запускаются одновременно с началом регрессионого тестирования.
1. Запуск тестов без сборки проекта
Статья знакомит с Test runner, а также объясняет, что нужно для прогона тестов без компиляции проекта.
2. Распараллеливание тестов
Вы узнаете, зачем нужно распараллеливать тесты и как это сделать в Xcode и Fastlane.
#ios #тестирование
👍5