Обновить
100.24

Android *

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

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

Яндекс ТВ Pro (YNDX-00102): дорогой экран с навязанной рекламой. Опыт реального использования

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

Эта статья — не обзор «из коробки» и не пересказ маркетинговых материалов.
Яндекс ТВ Pro (модель YNDX-00102) был куплен мной 17.06.2025 в магазине ДНС за 81799р и использовался как основной телевизор в течение длительного времени.

Все платные сервисы были подключены и корректно авторизованы:

Читать далее

Новости

Как red_mad_robot развивает свою опенсорс-экосистему — от Android и iOS инструментов до AI-систем и агентных фреймворков

Время на прочтение12 мин
Охват и читатели8.1K

На днях @sW1ftСергей Иванов, Head of Android red_mad_robot — поделился со мной подробностями об открытых проектах и open source-стратегии компании, её целеполагании и результатах в данной сфере. Получилось развернутое интервью с примечательными инсайтами, а также примерами и комментариями по теме.

Читать далее

Релиз Capacitor 8

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

8 декабря 2025 года вышел релиз Capacitor 8. О нововведениях и миграции со старых версий читайте в статье

Читать далее

Удалил сервер из мессенджера. Как общаться по P2P в 2026 году без метаданных и Google Services. Личный опыт и KMP

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

Помните обещания об «абсолютной приватности»? Марк клялся, Павел обещал, но в 2025-м новости о мессенджерах всё больше напоминали сводки с фронта: утечки сотен гигабайт переписки, найденные бэкдоры и данные, внезапно ставшие доступными «третьим лицам».

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

В чем реальная уязвимость сигнальных серверов

Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер.

Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений.

Ну и наконец в серверную могут просто прийти уполномоченные люди которые потребуют предоставить доступ ко всему.

Читать далее

Мобильная разработка за неделю #615 (12 — 18 января)

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

Возвращаюсь с первым дайджесте в этом году. В нем про SwiftLint в масштабах компании, Android и ICMP, стабильный Compose Hot Reload и следующие два года в области разработки программного обеспечения, японская игра о скачках, электроналиватор и многое другое. Заходите!

Читать далее

Создаём iOS-style Wheel Picker в Jetpack Compose. Часть 1

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

Представьте классический сценарий в мобильном приложении: пользователю нужно выбрать год рождения, час будильника или количество товаров в корзине. На iOS для таких случаев давно существует элегантное и интуитивное решение - Wheel Picker (или UIPickerView). Этот компонент стал неотъемлемой частью языка дизайна Apple. В этой статье я расскажу вам, как реализовать такой же компонент в Android.

Приготовьтесь, будет много математики!

Читать далее

Как подружить Android и ICMP: заметки разработчика

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

Разбираемся, как работать с ICMP в Android, не имея прав root. От отправки простого ping-пакета до разбора служебных ICMP-сообщений.

Читать далее

Roo Code для тестировщика: как превратить обязательные запросы к DeepSeek в реальную пользу

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

Знакомо? Модульный проект, где непонятно, откуда что берётся. Тест не видит элемент, хотя он точно есть на экране. А ещё в компании развернули локальный DeepSeek и установили норму запросов — и вы честно её выполняете, копируя куски кода в чат и получая ответы уровня «попробуйте проверить id элемента».

Проблема не в AI. Проблема в том, что чат не видит ваш проект.

Покажу, как подключить тот же корпоративный DeepSeek через Roo Code — и вместо абстрактных советов получать анализ конкретно вашего кода. С промтами для Kaspresso, решением проблемы «невидимых» id и миграцией с Espresso.

Читать далее

Как проходить Leetcode-интервью: ритуал, который работает

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

Решил 434 задачи на Leetcode и прошёл все кодинг-интервью за последние 4 года — X, Google, Careem, TrustWallet, Yandex. Делюсь тем, что понял: какие мифы уже не работают, как готовиться, и главное — ритуал решения задачи, который оценивают интервьюеры.

Читать далее

Navigation3 + Koin в Compose Multiplatform

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

В этой статье я бы хотел поделиться своими наработками по тому, как можно удобно совмещать библиотеку Navigation3 и Koin в Compose Multiplatform проекте и какие подводные камни есть на текущий момент.

Читать далее

Работа с аудио в Android: опыт реализации DAF — техники терапии заикания

Время на прочтение7 мин
Охват и читатели9.5K

Небольшие заметки о работе с аудио в Android: получение минимальной задержки, работа с аудио сэмплами напрямую, запись аудиоданных с сжатом виде.

Возможно для кого-то это окажется полезным.

Читать далее

Как правильно оттестировать первый релиз Android приложения для выкладки в Google Play Market

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

Краткое руководство для прохождения тестирования вашего первого релиза в Google Play market.

Как многие наверное знают, Гугл требуетналичие 12 тестировщиков в течении 14 дней чтобы вы успешно прошли его проверку. Это у него кратко. «А можно подробней? Детали?».

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

Что именно требует Google?

Читать далее

Оптимизация и запуск нейронных сетей на React Native: кейс с травой

Уровень сложностиСложный
Время на прочтение26 мин
Охват и читатели9.6K

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

В этой статье поговорим о том, что получилось: от выбора моделей до их оптимизации и интеграции в React Native, а также поделюсь своим открытым кодом запуска, обучения и экспортом моделей нейронных сетей в ONNX, и ссылками на датасеты и проекты с нейронными сетями для растений.

Читать далее

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

Анимация смены темы в Compose Multiplatform

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

Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы.

Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS).

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

На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:

Читать далее

Мой дашборд

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

Дома у меня лежали несколько старых Android-устройств. Они работают, но давно не используются и просто лежат без дела.

Я стал думать, как их можно использовать. Хотелось чего-то простого и полезного: показывать информацию и иногда вводить данные. Ничего сложного, просто что-то, что реально будет использоваться. Так появилась идея превратить их в дашборды.

Потом я понял, что для этого нужна веб-часть и мобильное приложение. Сделал веб-приложение на Analog и Android-клиент на Ionic Framework. В разработке активно помогал AI-ассистент из Qoder — он сильно ускорял работу и решал много задач сам.

Проект пока ещё в процессе, но я решил написать о нём пост. Возможно, кому-то пригодятся мои наработки.

Читать далее

Capacitor: от веба к мобильным приложениям. Часть 0. Зачем нужен Capacitor

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

С Новым годом, Хабр. Меня зовут Илья, я работаю Frontend разработчиком в компании Бастион. Январские выходные в самом разгаре, но уже многие, включая меня, наобещав себе свернуть горы в этом году, находятся в поиске полезной для мозга информации. Тогда присаживайтесь поудобнее, ибо сейчас мы будем разговаривать о такой замечательной технологии для разработки гибридных мобильных приложений, как Capacitor.

Читать далее

Flutter, Google, Fuchsia, Zircon, Linux, Starnix, Magma, Microfuchsia, будущее Андроида и других ОС

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

С момента появления загадочного репозитория на GitHub с описанием «Pink + Purple = Fuchsia» прошло десять лет. За это время медиа-пространство успело пережить несколько циклов хайпа: от «Убийцы Android» до «Мертвого проекта Google».

На календаре январь 2026 года. В магазинах нет коробок с надписью «Fuchsia Phone». Однако, если у вас дома стоит Nest Hub второго поколения, вы уже пользуетесь этой ОС. Если вы разработчик под Android, вы, возможно, уже взаимодействуете с её компонентами через виртуализацию.

Fuchsia не умерла. Она совершила то, что в биологии называется метаморфозом. В этой статье мы отбросим маркетинговую шелуху и разберем архитектуру системы "под микроскопом". Поговорим о том, как Google решает фундаментальные проблемы ядра Linux, что такое Starnix на уровне системных вызовов, зачем нужен FIDL и почему 2024–2025 годы стали переломными для проекта, переведя его из стадии R&D в стадию инфраструктурного фундамента.

Читать далее

Fury Messenger: От «семейного чата» до народного мессенджера (или как я перестал спать и начал фиксить баги)

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

Всем привет! На связи снова тот самый парень, которому «коту делать нечего».

В прошлой статье я рассказывал, как психанул и за три недели на коленке собрал свой собственный мессенджер Fury Messenger — с шифрованием, маскировкой под мусорный трафик и полным отсутствием привязки к номеру телефона. Изначально план был надежен, как швейцарские часы: сделать удобную «болталку» для себя, жены и пары друзей, чтобы никакой DPI не был страшен, а интерфейс радовал глаз киберпанковской эстетикой.

Но что-то пошло не так... В хорошем смысле!

Я совершенно не ожидал, что моя поделка обретет такую любовь и популярность у абсолютно незнакомых мне людей! Хабр, ты — сила. Огромное спасибо всем энтузиастам, кто ломанулся тестировать приложение. Вы не просто качали APK, вы реально помогали: присылали логи, тыкали носом в баги и писали теплые слова, от которых хочется кодить даже в 4 утра.

Именно благодаря вашему мощному фидбеку проект не заглох, а наоборот — оброс мясом. За последнее время я выкатил пачку обновлений (с версии 0.45 до 0.61), и вот во что превратился наш уютный чатик.

Читать далее

Мир доступного дизайна: как увеличить шрифт и не сломать UI?

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

Сегодня мобильными приложениями активно пользуются не только молодёжь, но и представители старших поколений, количество которых непрерывно растёт (Pew Research Center). Чаще всего именно эти пользователи меняют системный шрифт и настраивают контрастность для комфортного использования. Это влияет не только на пользовательский опыт работы, но ещё и формирует новые потребности в развитии операционных систем Android и iOS.

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

Меня зовут Игорь, я Android-разработчик в Сбере, развиваю проект СберИнвестии в команде «Портфель клиента». Расскажу про наш опыт работы с особыми возможностями Android, как мы к этому пришли, а также на практических примерах покажу улучшения UX нашего приложения. Конечно же, я также расскажу про подводные камни, на которых мы удачно поскользнулись, куда же без этого :).

Читать далее

Планировщики задач для Android: 10 приложений для командной работы и личных дел

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

Привет, Хабр! Меня зовут Майя, я — контент-менеджер и опять пишу обзор про приложения в сфере тайм-менеджмента.

По моим наблюдениям, сегодня большинство людей управляют задачами с телефона, поэтому Android-приложение больше не «дополнение к вебу», а основной рабочий инструмент. На практике многие планировщики к этому не готовы: 

Читать далее
1
23 ...