🖥️

Приложения для Android и Windows

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

Разработка приложений под Windows (включая Windows 7 — для заказчиков со старым парком техники) и Android. Один код логики на все платформы, свой интерфейс под каждую, самообновление по воздуху и отчёты о сбоях разработчику — чтобы узнавать о проблеме раньше пользователя.

Из сделанного: VPN-клиент со сменным ядром под три платформы и аудиоплеер с прямым выводом звука на USB-ЦАП в обход системного микшера.

С какой задачей приходят

Типовые ситуации и что мы в них делаем.

Пользователи не должны разбираться в настройках

Прячем сложное за одной кнопкой и разумными умолчаниями: подписка вводится один раз, приложение само выбирает рабочий вход и само обновляется. Так устроен наш VPN-клиент.

Парк техники на Windows 7

Собираем отдельный клиент на .NET Framework 4.8, который запускается на старой Windows, с общей логикой из основной версии.

О сбоях узнаём от пользователей, а не от приложения

Встраиваем самообновление по воздуху с проверкой подписи и отправку отчётов о сбоях на свой сервер. Разработчик видит падение и журнал раньше, чем пользователь напишет в поддержку.

Кому подходит

Типы заказчиков, для которых мы это уже делали.

Что мы делаем

Виды работ в этом направлении. У каждого есть кейс, где это уже сделано.

Аудиоплеер для Android с выводом на USB-ЦАП

Плеер для своей фонотеки, который говорит с USB-ЦАПом напрямую по USB Audio Class в обход системного микшера Android и отдаёт трек бит в бит. В нём свой ресемплер, проверка подделок Hi-Res по спектру, плейлисты, поиск по четырём источникам и раздел аудиокниг. Заканчивается APK, который дальше обновляется сам.

VPN-клиент для Android и Windows

Приложение с одной кнопкой «Подключить»: подписка вводится один раз, вход выбирается гонкой, при обрыве клиент переключается сам, российские сайты идут напрямую. Ядро Xray или sing-box подключено через узкий слой, поэтому его можно заменить. Сейчас клиент на тестировании у пользователей.

Клиент для Windows 7

Отдельная сборка на .NET Framework 4.8 и WinForms с общей логикой из основного клиента. TUN на семёрке нет, поэтому работает системный прокси, а ядро — sing-box. Собрана и запускалась на Windows 11, на настоящей Windows 7 пока не проверялась.

Самообновление приложения по воздуху

Список выпусков подписан ключом, открытый ключ вшит в приложение: подменённый список отвергается. Android качает APK под свою архитектуру, Windows скачивает только изменившиеся файлы и откатывает замену при сбое. Есть канал для тестеров и обычный.

Приёмник отчётов о падениях и журналов

Небольшой сервис на Python в Docker на вашем сервере, куда приложение присылает журнал, версию, состояние сети и причину падения по токену. Секреты маскируются на устройстве до отправки, при обрыве связи отчёт ждёт в очереди на диске. Заканчивается скриптом, которым разработчик читает отчёты.

Что входит в результат

Что остаётся у заказчика после сдачи проекта.

  • Приложение под Android, Windows 10/11 или Windows 7 с собственным интерфейсом под каждую платформу
  • Самообновление по воздуху с подписанным списком выпусков
  • Отчёты о падениях и журналы на ваш приёмник, секреты маскируются на устройстве
  • Раздел «Как пользоваться» и история версий внутри приложения
  • Установка из файла: APK для Android, архив со встроенным установщиком для Windows
  • README в формате ТЗ с известными ограничениями и CHANGELOG
  • Месяц бесплатной поддержки после сдачи, код и данные остаются у заказчика

Как идёт работа

От заявки до сдачи: на каждом шаге понятно, что происходит и что дальше.

  1. 1

    Заявка и бесплатный аудит

    Вы описываете задачу: платформы, устройства, что уже есть. Мы разбираем её и вместе с вами составляем ТЗ: состав работ и как проверим результат.

  2. 2

    Платформы и архитектура

    Решаем, какая логика общая, а что своё на каждой платформе, и какие есть ограничения, например старая Windows или конкретный ЦАП.

  3. 3

    Разработка на реальных устройствах

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

  4. 4

    Тестирование у заказчика

    Тестовые сборки ставятся из файла. Режим тестера присылает отчёты о падениях и аномалиях, по ним исправляем ошибки.

  5. 5

    Выпуск и раздача

    Готовим APK и установщик для Windows, подписываем список выпусков, включаем самообновление.

  6. 6

    Сдача и поддержка

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

Стек направления

Kotlin и Jetpack Compose →
Основа приложений для Android: адаптивный интерфейс, который следует теме системы.
C# / .NET 10 и WPF →
Основа клиента для Windows 10/11: нативные окна и запуск ядра отдельным процессом.
.NET Framework 4.8 →
Позволяет собрать клиент, который работает на Windows 7, где новые версии .NET не запускаются.
C++ (NDK) →
Там, где важны время и точность, например поток звука на USB-ЦАП, код пишется на C++ под Android.
Xray и sing-box →
Сменные VPN-ядра: клиент общается с ними через узкий слой, поэтому одно ядро можно заменить другим.

Стоимость

Ориентиры, чтобы понимать порядок цифр. Точную смету считаем после аудита.

Приложение для Android
от 130 000 ₽
за проект

Нативное приложение на Kotlin: работа с оборудованием, офлайн-данные, свой дизайн.

  • ✓Приёмник отчётов о падениях и журналов — по КП после аудита
  • ✓Самообновление по воздуху — по КП после аудита
  • ✓Исходный код передаём заказчику
Публикация в магазинах
от 30 000 ₽
за приложение

RuStore и Google Play: подпись, сборка, страница приложения, ответы модерации.

  • ✓Сборка в CI по кнопке
  • ✓Подготовка скриншотов и описаний
  • ✓Сопровождение — от 6 000 ₽ в месяц

Аудит и коммерческое предложение — бесплатно. Почасовой оплаты нет: цена фиксируется за результат, точная сумма — в КП после аудита. Сопровождение после сдачи — от 6 000 ₽ в месяц, первый месяц бесплатно. Сроки — индивидуально, называем после утверждения технического задания.

Кейсы по направлению

3 проекта — с задачей, решением и цифрами

Частые вопросы

Почему Windows 7 — её же давно не поддерживают?
У части заказчиков — кассы, склады, производство — парк техники на Windows 7, и менять его никто не будет ради одной программы. Собираем отдельный клиент на .NET Framework 4.8, который там запускается, с общей логикой из основной версии.
Публикуете в Google Play и магазинах?
Умеем и так, и в обход магазинов: раздача APK по ссылке из бота с самообновлением по воздуху и подписанным списком выпусков. Для внутренних корпоративных приложений второй путь обычно проще.
Приложение будет обновляться само?
Да: закладываем самообновление с проверкой подписи — на Android установка проходит тихо, на Windows качаются только изменившиеся файлы, при сбое обновление откатывается.
Можно ли сделать одно приложение сразу для Android и Windows?
Логику можно разделить, а интерфейс делать под каждую платформу. В нашем VPN-клиенте Android написан на Kotlin, Windows 10/11 на C# и WPF, Windows 7 на .NET Framework 4.8, а клиенты для Windows делят общую логику. Между интерфейсом и VPN-ядром стоит общий слой, поэтому ядро заменяется без переписывания приложения.
Что будет с трафиком, если VPN-клиент или его ядро упали?
На Windows в режиме TUN стоят фильтры WFP «защита от утечек»: исходящее мимо туннеля закрыто, при обрыве и перезапуске ядра программы видят «нет интернета», а не настоящий адрес. На Android туннель живёт до нажатия «Отключить», а защиту до запуска приложения даёт системная «постоянная VPN»: главный экран напоминает, если она выключена.
Как собирать отчёты о падениях приложения без сторонних сервисов?
Приложение само присылает журнал, версию, состояние сети и причину падения на приёмник, который стоит на вашем сервере, по токену. Ссылки подписок, ключи, пароли и токены маскируются на устройстве при записи журнала, до отправки. Если приёмник недоступен, VPN-клиент кладёт отчёты в очередь на диске: до 20 файлов и 50 МБ.
Можно ли вывести звук на USB-ЦАП без изменений на Android?
Да. Плеер OshaPlay забирает ЦАП через USB Host API и отправляет звук изохронными передачами в обход системного микшера, который иначе пересчитывает любой трек до 48 кГц. Прямой вывод умеет ЦАП по UAC2 с адаптивной или синхронной передачей, асинхронные ЦАПы и UAC1 пока играют через систему.
Сколько стоит приложение и как быстро его можно сделать?
Приложение для Android — от 130 000 ₽. VPN-клиент для Android и Windows — от 300 000 до 1 100 000 ₽ и выше, в зависимости от требований: самообновление с сервера, сбор статистики, клиент для Windows 7. Публикация в RuStore и Google Play — от 30 000 ₽. Самообновление и приёмник отчётов о падениях как отдельные работы оцениваем в КП после бесплатного аудита. Почасовой оплаты нет, цена фиксируется за результат.

Нужно что-то из раздела «Приложения для Android и Windows»?

Короткий разбор — бесплатно: посмотрим задачу и скажем, что и за сколько имеет смысл делать.