Обновить
128K+

Android *

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

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

Как сделать мобильное приложение удобным и уникальным: 8 шагов от идеи до тестирования

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

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

Думаешь, анализируешь, ищешь вариант, генерируешь идеи… Но всё не то. И каждый раз сталкиваешься с тем, что это уже кто-то реализовал. Да ещё и так круто, что подступиться страшно.

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

Изучая UI/UX-дизайн, маркетинг и рынок в целом, я пришла к главному выводу: уникальность заключается не в том, чтобы придумать то, чего никто никогда не делал, а в том, чтобы сделать так, как никто другой не делает: удобно, красиво, с душой. И для этого не нужна команда дизайнеров. Только вы, ваше желание и правильные шаги.

Читать далее

Сегодня мы построим свою локальную модель на смартфоне. С блэкджеком и WebUI

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

Недавно Apple подтвердила стратегическое партнерство с Google для интеграции ИИ Gemini в свои устройства.  Сегодня мы их опередим и поднимем свою LLM в Android-смартфоне. С блэкджеком и WebUI.

Читать далее

Proxyman Scripts: как превратить прокси в инструмент автоматизации тестирования

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

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

В этот момент прокси-инструменты вроде Proxyman начинают играть совсем другую роль. Это уже не просто «посмотреть запросы», а полноценный слой управления трафиком.

Меня зовут Станислав, я Test-инженер в KODE, в этой статье разберу, как использовать Proxyman Scripts не как вспомогательную фичу, а как инструмент автоматизации тестирования.

Читать далее

Playwright + Appium + WebdriverIO: как эта связка усиливает тестирование гибридного Android-приложения

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

Привет, хабровчане! С вами снова Евгений Иванов, QA-lead в компании Fix Price. В этот раз поделюсь с Вами опытом внедрения автоматизации для гибридного мобильного приложения на Android. 

У этого решения есть свои плюсы и минусы, и мы продолжаем работать над его развитием. Но уже сейчас понятно: оно приносит реальную пользу команде во время регрессионных и предрелизных прогонов. Расскажу подробнее, как мы собрали связку Playwright + Appium + WebdriverIO и что из этого вышло.

Читать далее

Разбираем Remote Compose: как Google предлагает строить BDUI

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

Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote Compose.

Remote Compose выглядит очень перспективной технологией. Фреймворк активно развивается и поддерживается командой Google. Однако на момент написания статьи технология всё ещё находится в alpha-версии, поэтому использовать её на проде пока рано. 

Но я изучил этот фреймворк и хочу поделиться своим опытом, а когда Remote Compose выйдет в бета-версию вы будете знать, как с ним работать

В статье разберём:

•  общую концепцию Remote Compose,
•  чем он отличается от классического BDUI,
•  какие интересные технические решения используются внутри,
•  несколько практических примеров использования.

Читать далее

Из-за критической уязвимости VLESS клиентов скоро все ваши VPN будут заблокированы

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

Вскоре после нахождения шпионского модуля в Max я обнаружил критическую уязвимость во всех известных VLESS клиентах.

Эта уязвимость позволяет обходить per-app split tunneling и приватные пространства (Knox/Shelter/Island/etc) и гарантированно обнаруживать выходной ip прокси, который вы используете.

При этом один из клиентов уязвим настолько, что позволяет дампить ваши конфиги и, в худшем случае, расшифровать весь ваш трафик.

Я сообщил об этом разработчикам этих клиентов, но они это проигнорировали. На днях минцифры разослала методичку, из которой ясно что они либо знают, либо скоро узнаю об этой уязвимости.

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

Читать далее

Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs

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

Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha03, а стабильный релиз обещают где‑то к лету.

Если вдруг выпали из контекста: Room — это повсеместно используемая ORM‑обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform.

И у неё вышел 3 мажор! Подробнее внутри.

Читать далее

Мобильная разработка за неделю #626 (30 марта — 5 апреля)

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

В новом выпуске выпуск приложений в App Store без Mac и Android Service своей мечты, узкие места в производительности Android-приложений и как Swift работает с памятью, Android SDK на Swift, кризис в RuStore и путь к тёмной стороне, захват категории Cast to TV в Google Play, галлюцинации LLM и многое другое. Заходите!

Читать далее

Как контролировать расходы, если денег уже не осталось: разбор механик тотального контроля в 6 PFM-сервисах

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

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

Мы разобрали 6 популярных PFM-инструментов (Personal Finance Management), чтобы посмотреть, как именно — на уровне архитектуры и UX — они заставляют пользователя «резать косты» и брать бюджет под контроль.

Читать далее

Как я запустил AI-ассистента на старом Xiaomi 11T, который пылился в ящике

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

Убирался в комнате, наткнулся на старый Xiaomi 11T в ящике — 8 ГБ ОЗУ, Dimensity 1200, лежит без дела. Решил превратить его в персональный AI-сервер: поднял OpenClaw через Termux, подключил бесплатную модель через OpenRouter и теперь у меня в Telegram отвечает свой AI-ассистент. Бесплатно. Четыре способа установки, борьба с Android за живучесть процесса и подробный раздел про безопасность.

Читать далее

Создаем Java обертку для C++ класса в Android приложении и реализуем обратные вызовы из нэйтива

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

Кратко расскажу о себе и о том, зачем возникла необходимость в подобном. Я более десяти лет пишу приложения под Android, около 5 лет под IOS, и сейчас переношу свои наработки под десктопы. Приложения мои предназначены для сисадминов, это SSH клиент, сетевые сканеры и тд. В общем, самое сложное — не сам интерфейс, а то, что под капотом. Когда я лишь начинал, я думал, что остановлюсь на платформе Android и стал пилить все на Java. Но затем осознал свою ошибку и исправил ее. На данный момент все мои приложения состоят из двух частей: общего для всех систем ядра на С++ и платформозависимого интерфейса, написанного на Java/Swift/C++ в зависимости от системы.

Оговорюсь сразу, эта статья будет лишь своего рода вступлением. Я покажу, как работать с объектно‑ориентированным кодом на C++ в Java оболочке (в JNI нам доступен экспорт С функций). Инициализировать объект, делать из него вызовы, удалять, при этом имея аналогичный класс в оболочке, будто бы наш код был написан на Java. Задача эта не слишком сложная, но прежде чем опытные прогеры закрыли эту статью, я оговорюсь, что в следующей части мы уже будем работать с каллбэками — вызовами Java листенеров из нашего С++ кода, а вот это уже задача совсем нетривиальная, требующая понимания работы JNI и Dalvik. Но обо всем по порядку.

Итак, у нас есть некий CPP класс и Java оболочка. Через JNI мы можем вызывать только С‑функции, то есть не объектный код. Так как же нам работать с ООП? Главная проблема — не столько вызовы, сколько хранение адреса объекта нативного класса. Лично для себя я нашел решение — хранить его в Java классе, как long. То есть, у нас получается приблизительно такой код:

Читать далее

Первый в своем роде ИИ помощник на вашем телефоне

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

Мы с братом создали Sova AI (https://ayconic.io/sova), ИИ агента на Андроиде, который оперирует приложениями и выполняет ваши хотелки таски на телефоне. Это первый ассистент, которому не нужны ADB, USB, PC, root и т.д., просто самое обычно приложение, которое устанавливается на Андроид (пока IOS в разработке) и всегда с вами, куда бы вы не пошли (звучит страшно? 😁).

Зачем еще один ИИ ассистент?

Потому что он единственный в своем роде, все остальные “mobile-use” требуют подключения к PC, и это конечно неудобно и не интересно. Если уже есть PC, то лучше уже на нем и выполнять различные задачи, зачем тогда телефон мучать? Computer-use, browser-use вполне себе прекрасно работают на PC.

Нам хотелось ассистента, который всегда будет на телефоне, а не когда мы с кабелем USB возле компа, ассистента который будет делать на телефоне все, что может делать пользователь, а не еще один умный браузер (привет Perplexity) который будет требовать API чтобы что-то сделать, или кастрированный Gemini assistant который только и твердит что он ИИ модель и не может ничего. Они в большинстве просто бесполезны, как и все чатботы которые всего лишь чатботы, но почему-то называются AI assistant для маркетинга.

Что оно умеет

Как и computer‑use он делает клики, скроллы, открывает приложения, и симулирует любые действия пользователя. Под капотом — работа с Accessibility API Андроида, используем tree экрана и скриншоты. Только на скриншотах мало что сделаешь, модели не очень хорошо с ними работают, оптимизируют картинки каждый по своему и так далее. Поэтому мы сделали определенную комбинацию того и другого, с экономией токенов, чтобы пользователи не продавали себя в рабство из‑за одного заказа еды. Также его можно сделать асситентом по умолчанию и оно будет реагировать на ваши голосовые команды и делать что захотите, без этого всего «Я ИИ модель и ничего не могу делать, хнык‑хнык».

Читать далее

Как автор книг по Kotlin проверял мой проект: разбор ошибок в Coroutines и архитектуре

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

Проведя аудит GitHub, я обнаружил, что полноценных реализаций Gemini-клиента с глубокой проработкой архитектуры практически нет. Я решил стать первым, кто выложит в открытый доступ не просто обертку над API, а готовую архитектурную базу с точным повторением UI оригинального Gemini.

Читать далее

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

Как улучшить пейволл в мобильном приложении

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

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

А сейчас — как раз такой разбор. Делюсь саммари мастер-класса Джейка Мора и Дэвида Барнарда о базовых, но критически важных принципах, которые напрямую влияют на эффективность пейволла.

Читать далее

Новый народный мессенджер России. Можно, а зачем?

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

Telegram практически заблокирован. Max — официальный, удобный, но его не хотят ставить даже те, кто в курсе, что именно VK-экосистема уже хранит половину их цифровой жизни. В этом зазоре появляется вопрос: а нужен ли вообще «свой» мессенджер, и если да — каким он должен быть? Я попробовал ответить не словами, а кодом.

Читать далее

Наконец-то нашел Android Service своей мечты после того, как потерял его 13 лет назад

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

В этой статье я собираюсь показать вам Android фичу, представленную в 2012 году, и попробую написать для неё UI на Compose.

Изучая недра Android, я наткнулся на один Service, который привлек моё внимание. Класс, который я обнаружил, не только заинтриговал меня своим названием, но и снова удивил интересными возможностями, скрытыми внутри Android.

Узнать подробности

Мобильная разработка за неделю #625 (23 — 29 марта)

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

В новом дайджесте сетевой слой в iOS и сериализация Kotlin, 10 ошибок, которые Android-разработчиков и сожаление о выборе профессии, что происходит с подписочной моделью в приложениях, как перестать бояться Claude Code и научить его не ломать проекты, и многое другое. Заходите!

Читать далее

Fury: Как за 4 месяца разработки мессенджера с нуля не сойти с ума

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

Итак, продолжу рассказ о том, как в один прекрасный день, оказавшись на задворках блокировок мессенджеров, я решил создать свой собственный. Изначально проект задумывался как простое средство коммуникации с родными и партнерами по бизнесу. Но вот во что это вылилось спустя всего 4 месяца... Ранее писал о том как всё это начиналось [тут] и [тут]

Аудитория и первые стресс-тесты

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

Большое внимание пришлось уделить группам. Изначально они были задуманы максимально примитивно, но с ростом числа пользователей и пониманием их потребностей фокус сместился на серьезную доработку групповых чатов:

Читать далее

Vivaldi 7.9 для мобильных устройств — Удобно и красиво

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

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

Читать далее

Я написал язык программирования на C — и он работает в Termux

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

Kite lang

Я написал язык программирования на C — и он работает в Termux

Почему вообще

Всё началось с мечты — написать свой собственный язык программирования. Я смотрел кучу роликов на YouTube, пытался что-то понять, но эти жалкие попытки ни к чему не приводили. В теории я знал как устроен интерпретатор — лексер, парсер, AST. Но как воплотить это в реальный код — не понимал совсем.

Потом я наткнулся на один ролик который дал мне надежду. Я вспомнил что DeepSeek неплохо пишет код и решил попробовать — первый Python проект заработал. Я был на седьмом небе от счастья.

Но тот проект был сырой и недоделанный. А когда пытаешься сделать на нём что-то серьёзное — DeepSeek выдавал код полный ошибок. Я фиксил один баг, появлялись три новых. Стало ясно что просто просить AI написать язык — не работает.

Однажды я снова сидел на YouTube и наткнулся на видео с канала WeaklyHow — он создавал свой язык программирования с помощью нейросетей. Видео было на английском, но я смотрел просто так — контекст был понятен и без перевода.

Читать далее