Обновить
512K+

Android *

Пишем под самую популярную мобильную ОС

447,1
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Почему Android не может использовать CDC Ethernet

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели17K

Если вам просто нужен ответ на вопрос в заголовке, то просто нажмите на TLDR и можете закрыть страницу. Но если вам любопытны подробности, то пристегнитесь, мы займёмся отладкой; этот пост в основном посвящён моему мыслительному процессу и методикам, которые я использовал, чтобы прийти к ответу.

Читать далее

Рекомендации по Jetpack Compose: от основ к масштабируемым UI

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.7K

Всем привет!

В этой статье мы будем обсуждать, как писать масштабируемые и поддерживаемые интерфейсы на Jetpack Compose: от базовых компонентов до архитектурных практик. Разбираем иерархию, принципы проектирования, naming, порядок параметров и антипаттерны.

Думаю, что статья будет полезна как новичкам, так и опытным разработчикам.

Читать далее

Liquid Glass и цикличность в UI-дизайне

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели14K

Когда я смотрел эстетичные Frutiger Aero картинки, либо эстетичные UI-концепты со стекломорфизмом в Пинтересте, я не думал, что оно снова станет реальностью, а останется приятной ностальгией..

Читать далее

Делаем простой навигатор с помощью google maps на flutter своими руками

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.7K

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

В этой статье мы расскажем, как использовать Google Maps для создания удобного навигатора, и поделимся практическими советами по работе с картами во Flutter.

Читать далее

Мобильная разработка за неделю #589 (2 — 8 июня)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.5K
В этом выпуске творческая переработка MVVM и TCA, революционное изменение в обработке ошибок в Kotlin и ускорение React Native, 40 ударов палкой и глупые ошибки Google, лабораторные микроскопы, переезд с Java на Swift и многое другое. Заходите!

Читать дальше →

I sliced up fun – я разделяю веселье (автор — Jonathan Kohl)

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели1.3K

Для тестирования мобильных приложений придумано множество эвристик и мнемоник. В этой статье расскажем об одной из полезных мнемоник для тестирования мобильных приложений.

Читать далее

Как ИИ помог создать систему видеонаблюдения на Android

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.6K

Привет, Хабр!

Прежде чем я начну рассказ о своем проекте, хочу выразить огромную благодарность всем тем бесчисленным программистам, разработчикам и энтузиастам, которые на протяжении многих лет делились своим кодом, знаниями и опытом в интернете. Ваши открытые проекты, ответы на Stack Overflow, статьи, туториалы и обсуждения на форумах стали той самой питательной средой, на которой обучались большие языковые модели (LLM), включая и ту, что помогала мне. Без вашего вклада в общее дело, такие мощные ИИ‑ассистенты, которые сегодня так сильно облегчают и ускоряют разработку, были бы просто невозможны. Спасибасвам за то, что делаете мир разработки открытее и доступнее!

Исходный код проекта «Storog» полностью открыт и доступен на GitHub.

Читать далее

/e/OS 3.0: мобильная платформа для тех, кто ценит приватность

Время на прочтение4 мин
Охват и читатели16K
image

В начале июня 2025 года вышла новая версия мобильной операционной системы /e/OS 3.0, созданной Гаэлем Дювалем, создателем небезызвестного Mandrake Linux. Она полностью исключает сервисы Google, предлагая пользователям высокий уровень конфиденциальности без компромиссов в функциональности.

Система получила интерфейс BlissLauncher, улучшенные инструменты приватности, сертифицированный менеджер учетных записей, а также функции поиска утерянных устройств и голосового ввода Murena Voice. В этой статье разберем, что такое /e/OS, для чего она нужна, какие новшества привносит версия 3.0 и какие перспективы ждут проект в мире, где защита данных становится приоритетом.
Читать дальше →

Как построить свою ферму устройств и упростить работу с устройствами и эмуляторами: делимся опытом создания DeviceHub

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8.7K

Без качественного и ответственного тестирования не может быть сложного продукта. Для такого тестирования нужен большой парк устройств. Это позволит находить баги до релиза и выдавать качественный продукт. А ещё — максимально оперативно реагировать на обращения пользователей в поддержку и обеспечивать ещё большую стабильность в работе.

Читать далее

Мобильная разработка за неделю #588 (26 мая — 1 июня)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.3K
В новом дайджесте быстродействие прокрутки в SwiftUI и выразительные анимации, сахар для UI-тестирования и красота Android, NativePHP, анатомия энергопотребления, небольшое изменение в интерфейсе Duolingo, которое меняет все и многое другое. Заходите!

Читать дальше →

Индикация клика на стероидах в Compose: пишем свою IndicationNodeFactory

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.3K

При работе с Jetpack Compose разработчики часто не замечают, как элементы Material и Material 3 дизайн-систем вплетаются в их код. Один из таких элементов - это индикация клика, реализованная в Material как круги на воде (англ. ripple effect). В этой статье мы разберем, в чем недостатки дефолтной реализации риппл-эффекта в Compose и как сделать свою.

Читать далее

Автоматизация проверки стиля кода с помощью KtLint в Android проекте

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.2K

Современная разработка программного обеспечения требует не только написания функционального кода, но и обеспечения его качества, надежности и безопасности.
Для обеспечения этого во многих командах по-прежнему существует Code Review. По моему мнению в 90% случаев это абсолютно бесполезная трата времени и сил разработчиков команды. Code Review это рудимент, который изжил себя. Я не утверждаю, что Code Review должен исчезнуть - принцип и подход должны измениться.
Ручная организация Code Review ведет к деградации продуктивности и взаимоотношений внутри команды. Очень часто Code Review превращается в способ самоутверждения, эмоциональной разрядке одного из участников команды за счет других. Комментарии часто бывают противоречивыми и контр продуктивными.
Как этого избежать?
Ответ – полностью автоматизировать этот процесс.

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

Я всю свою практику участвовал в командах, где Code Review было ручным и каждый участник команды ставил approve, либо оставлял комментарий. Думаю, так происходит и сейчас во многих командах. Качество такого Review низкое и трудно быть по-настоящему объективным.

Мне повезло участвовать в большом стартапе и начать проект самостоятельно. И в моем проекте я решил покончить с Code Review.

Что мне было необходимо? Нужен был инструмент который бы приводил код к единому стилю и избавил меня и других участников команды от необходимости проверять стиль кода. Сюда входит правила расстановки новых строк, именования методов, отступы и тд. Необходимо чтоб инструмент подсвечивал места где стиль не соблюдается и исправлял автоматически такие места.

Читать далее

Пример офлайн/онлайн инвентаризации на SimpleUI/1C как демонстрация новых возможностей платформы в 2025 году

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели3.3K

Пример такой:

Сквозной пример с пошаговым разбором решения на фреймворке SimpleUI для Android совместно с 1С: оффлайновая работа с инвентаризацией, загрузка/выгрузка товаров и документов из 1С и результатов инвентаризации обратно в 1С, CV-возможности ActiveCV. Демонстрация новых механизмов SimpleUI и актуальных подходов к разработке в 2025 году.

Читать далее

Ближайшие события

Станет ли Android наконец красивым?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели36K

Material 3 Expressive – обновление дизайна ОС Android, после которого он выйдет на новый уровень или всего лишь очередные концепты для Behance и Dribbble?

Читать далее

Создание кастомного тултипа Jetpack Compose

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.9K

Привет, Хабр! Меня зовут Альберт, я Android-разработчик в команде интеграции рассрочки в приложении Wildberries.

В этой статье мы напишем простенькую реализацию тултипов на Jetpack Compose своими руками.

Читать далее

FCM для Android и Backend на Kotlin

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8K

Как доставлять информацию на устройства через Google-сервисы или как удаленно заставить приложение отправить уведомление пользователю?

Читать далее

ESP32-S3 BLE Keyboard

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели21K

Идеяустройства возникла у меня давно. Захотелось аппаратного менеджера паролей. Надоело перепечатывать 20-символьные пароли из телефонного KeyPass, а на каждый компьютер, где нужно что‑то вводить, устанешь устанавливать. Посмотрел, что предлагают, посмотрел, что делают. В основном, не понравились размеры. Иногда цена. С другой стороны, телефон с паролями всегда с собой. А тут ещё бесплатный DeepSeek.

TL;DR: Просто история мучений. В конце прошивка для контроллера + Android‑приложение, работает. Хотя и на стадии «концепт».

Читать далее

Две недели кодинга без ноутбука: AR очки и Linux-on-Android

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели57K

Всем привет! Представляю вашему вниманию перевод статьи «Coding without a laptop — Two weeks with AR glasses and Linux‑On‑Android». Перевод сделал человек с помощью мозга, а не LLM.

Под катом будет личный опыт программиста, который отправился в поездку но не хотел брать с собой ноутбук, а вместо этого взял Android и AR‑очки. Из него вы узнаете с какими трудностями он столкнулся выбрав такое решение, и какие плюсы он почерпнул. И самое главное, повторит ли он свой опыт, если выпадет случай?

Приятного чтения

Мобильная разработка за неделю #587 (17 — 25 мая)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.7K
На этой неделе прошла I/O 2025 и главное на ней было посвящено ИИ, но и для Android-разработчиков есть много обновлений — новая навигация Jetpack Navigation 3, новые функции в Android Studio, обновления Google Play и т.д. Кроме этого новые релизы Flutter и Dart, плагин KMP для IntelliJ IDEA и Android Studio, большое обновление DivKit, тестирование без инцидентов в проде и многое другое. Заходите!

Читать дальше →

Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.1K

За последнее время Jetpack Compose и его кроссплатформенный собрат Compose Multiplatform прошел большой путь от ранних альфа релизов и скептического отношения комьюнити до статуса главного UI-фреймфорка под Android и production-ready состояния на iOS.

Тем не менее одна из важных тем, касающихся runtime-производительности фреймворка, все еще остается полной темных пятен, и это тема stability. Как ни странно, ведь на эту тему сделано множество статей и докладов. Проблема заключается в том, что стремительное развитие фреймворка очень быстро делает эти статьи, доклады и даже документацию устаревшими, а новые посты на эту тему вторят старым, дальше распространяя ложную информацию о том, как работает рекомпозиция, пропускаемость (skippability) и перезапускаемость (restartability).

Использование LLM для получения актуальной информации не очень поможет. Простой пример - спросим у ChatGPT, будет ли перезапущена Composable функция, если она имеет нестабильные аргументы, и получим неправильный ответ:

Читать далее