Попытаемся отреверсить и заглянуть в реализацию фото-эффектов приложения камеры Xiaomi 8 летней давности
Разработка под Android *
Пишем под самую популярную мобильную ОС
Новости
Как мы реализовали кнопку со свайпом на Jetpack Compose
Привет, Хабр! Меня зовут Женя Мельцайкин, я работаю в команде мобильной разработки Контура.
Мы разрабатываем экосистему для бизнеса, которая оптимизирует рутинные задачи: работу с маркировкой, проверку контрагентов, товароучет, документооборот, отчетность. И в одном из продуктов работаем с подписанием электронных документов. Электронная подпись — это юридически значимая операция, поэтому важно не допустить ошибки пользователя.
В статье расскажу, как мы сделали кнопку по проведению жеста свайпом на Jetpack Compose, чтобы избежать случайной подписи документа.
Как мы отслеживаем просадки FPS в Альфа-Мобайл?
Всем привет 👋 я Максим Кузнецов a.k.a. Android-developer из Альфа-Мобайл. В этой статье я хочу поделиться нашим опытом внедрения механизмов мониторинга производительности в продукты компании. Почему это важно? Потому что производительность напрямую влияет на опыт пользователей, рейтинги приложений и конверсии. Мы рассмотрим статистику, проблемы, наш горький опыт и планы на будущее. Давайте начнем! 🚀
Мобильная разработка за неделю #537 (29 апреля — 12 мая)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Истории
Сложности перевода: баг, который говорил по-русски и ломал моё приложение
Шпион всматривается в экраны
Несколько лет назад я работал над Lipo Manager, добавляя кое-какие долгожданные функции. Это довольно простое приложение, но вполне достаточное для управления батареями LiPos. Некоторые из вносимых мной изменений отвечали запросу сообщества. Это были визуальные доработки, оптимизация, мультиязычность, обновления зависимостей и исправление периодически возникавших исключений нулевого указателя.
Со всеми этими задачами я справился за день и, проведя несколько тестов, выпустил новую версию…
Room для Kotlin Multiplatform. Пробуем нативное решение
Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2.7.0-alpha01 и выше).
И сегодня мы опробуем работу с данной библиотекой на примере небольшого приложения Todo, написанного на KMP с использованием Compose Multiplatform.
Кроме Room, в проекте используется библиотека Lifecycle-viewmodel для KMP. И Koin для DI и гармонии.
Как новый компилятор K2 ускоряет компиляцию Kotlin на 94%
Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.
Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2.
По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новых языковых фич и унифицировать все платформы, предоставляя улучшенную архитектуру для мультиплатформенных проектов.
Но мало кто изучал, как работает K2, и чем он отличается от K1.
Эта статья освещает нюансы работы компилятора, которые будут полезны разработчикам для понимания, что же JB улучшают под капотом, и как это работает.
Anvil Utils: Assisted injection в многомодульных Android проектах без боли
Привет, Android разработчики!
Хотел бы рассказать вам про мою библиотеку (Anvil Utils) - кодогенератор позволяющий слегка уменьшить количество боилерплейта в многомодульных проектах использующих Dagger 2 и Anvil.
Посторонним В.: российские онлайн-аптеки не всегда доступны для незрячих пользователей
Инклюзивный проект Everland провел исследование невизуальной доступности онлайн-аптек, чтобы понять, насколько они адаптированы для людей с нарушениями зрения и моторики. В ходе исследования была протестирована 21 платформа (сайты и мобильные приложения для iOS и Android) 7-ми брендов. Оценку проводили тестировщики с инвалидностью по зрению в феврале 2024 года.
Конференция «Инженеры будущего». Описание проекта
Я участвовал в конференции «Инженеры будущего» для школьников в Москве в апреле 2024 года и рассказал о своем опыте в предыдущей статье на Хабре https://habr.com/ru/articles/810939/
Сейчас я ищу научного руководителя, который направит мою разработку в области Natural Language Processing и применения генеративного ИИ.
Новые коллекции в Android
В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.
На тот период Kotlin только начинал набирать обороты в Android разработке и добавление новых более эффективных коллекций, полностью написанных на нём было одним из шагов по внедрению языка.
С тех пор прошло более 6 лет и в январе текущего года был выпущен новый релиз с мощной заменой HashMap, о которой я расскажу чуть позже...
Мобильная разработка за неделю #536 (22 — 28 апреля)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Рекомпозиция в Compose: что не видно разработчику невооруженным глазом
Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.
Все новые фичи в проекте пишутся на Compose. Нужно было разобраться в нюансах использования, поэтому встал вопрос о повышении собственной квалификации.
Когда я изучил множество тонких моментов реализации, мне захотелось поделиться новыми знаниями с командой — инициатива вылилась во внутренний митап, посвященный работе в Compose. Встреча прошла насыщенно, я получил очень много вопросов от коллег. В итоге мы пришли к тому, что по материалам митапа нужно сделать некий резюмирующий текстовый гайд, с которым разработчик не задумывался бы, как применять Compose.
Большинство поддержало меня в том, чтобы я переложил нашу встречу в формат статьи. Все что вы увидите ниже — и есть тот самый гайд. В нем я постарался простыми словами объяснить, как устроен процесс построения UI на Compose.
Ближайшие события
Эволюция разработки под Android
Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась история самой популярной ОС. Возможность реализовывать приложения на Java сделало данную ОС очень популярным среди разработчиков. Но сегодня приоритетным языком программирования для Android-разработки является Kotlin. Это лишь малая часть того, что поменялось с 2008. В данной статье представлена история разработки под Android. Остановлюсь на знаковых технологиях, библиотеках, архитектурах и т.д.
Jetpack Compose для ленивых
Статья о том, как можно использовать Jetpack Compose для решения нестандартных ситуаций.
Рассказывает и показывает наш Android-разработчик Илья Кубышкин.
Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1
Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере Crackme из проекта OWASP MASTG.
Обзор архитектуры Compose с использованием паттерна «координатор»
В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.
Мобильная разработка за неделю #535 (15 — 21 апреля)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Один репозиторий, чтобы править всеми
Собираем кроссплатформенное (server-client, static-client, gh-pages, Android, iOS, macOS, Linux, Windows, Chrome extension, Docker, Kubernetes, ...) React приложение. В этой статье я почти не затрону Deep backend, только чуть-чуть в конце. Но рассмотрю Open Source шаблон/заготовку для сборки кроссплатформенных React приложений который мы используем в Deep.Foundation.
Генерируем отчеты PDF на Android с использованием HTML и WebView в фоне
Сервис, прежде всего, должен решать задачу пользователя. Часто приложения должны делать то, что, казалось бы, должно ложиться на плечи сервера и других публичных API. В рамках этой статьи хочу рассказать про наш опыт переноса функционала генерации PDF-отчетов на Android-устройство. Приятного чтения!
Вклад авторов
InlyIT 2927.0alizar 1936.0RoboForm 1900.0phillennium 1618.0bodyawm 1361.1aleksandrit 1145.6Developers_Relations 938.8vedensky 832.0myshyak 679.6Leono 661.0