Услуга · Desktop-приложение и .NET

Desktop-софт, который реально выдерживает работу — а не только живёт в браузере.

Windows desktop-приложения, .NET- и WPF-софт, внутренние инструменты, отраслевые решения и модернизация legacy — из Германии, со стабильным стеком, чистой архитектурой, контролируемой моделью установщика и обновлений и интеграцией с устройствами, backend и вашей IT. Founder-led из Крефельда.

  • .NET · C# · WPF / WinUI · MSIX · MAUI · Azure
  • Интеграция с оборудованием, устройствами и ERP в одной команде
  • База в Крефельде · Германия и EU · GDPR-аккуратность

Почему desktop в 2025-м всё ещё правильный канал.

Во многих компаниях критическая система — это не сайт, а приложение, которое работает на экранах с первой до последней смены: обработка заказов, управление производством, касса, инструменты в цехе, конструкторская работа, склад, взвешивание, печать этикеток. Браузер для этого часто слишком медленный, слишком хрупко подключён к сети, слишком зависит от интернета и слишком далёк от устройства. Хорошо сделанный Windows desktop-приложение здесь не «устаревший», а более честный ответ: быстро, локально, интегрированно, надолго. p24.co проектирует и собирает desktop-софт на .NET так, чтобы он снова был именно этим: надёжным инструментом, который утром стартует и к вечеру не падает.

Аудитория

Когда desktop — правильный выбор: типичные сценарии.

Мы видим шесть ситуаций, в которых .NET-desktop-приложение почти всегда подходит лучше, чем «просто web». Если вы узнаёте себя в одной из них — вы по адресу:

Внутренние инструменты для power-user в ежедневной работе

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

Offline и local-first процессы

Цех, выездные бригады, производство, логистика, временные точки: интернет нестабилен или не гарантирован. Desktop-приложение продолжает работать локально, буферизирует данные и контролируемо синхронизируется с backend — а не зависает при каждой проблеме с Wi-Fi.

Интеграция с оборудованием и устройствами

Принтеры этикеток, весы, штрих-сканеры, RFID-ридеры, измерительные и контрольные приборы, кассовые ящики, COM/USB-интерфейсы, локальные драйверы. В браузере — постоянная борьба, на Windows-клиенте — решённая задача.

Windows-бизнес-софт и отраслевые решения

Специализированный софт для цехов, лабораторий, юридических контор, медицинских практик, экспертов, управляющих компаний, инженерных и геодезических бюро. Локальные данные, печать, экспорт документов, интеграция с Word/Excel — всё, что отрасль реально использует.

Модернизация legacy (Access, VB6, WinForms, Delphi)

У вас есть выросшее за годы приложение на Access, VB6, WinForms, Delphi — или «Excel с макросами, которым пользуются все». Оно как-то работает, но никто уже не решается его трогать. Мы перехватываем его и приводим к поддерживаемому состоянию на .NET.

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

Когда данные по регуляторным или контрактным причинам не могут жить в облачном SaaS — заводская или клиентская IP, медицинские данные, конфиденциальные CAD-файлы — desktop-приложение с контролируемой синхронизацией часто единственное чистое решение.

Проблемы · рычаги

Где desktop, честно говоря, лучше браузера.

Не каждое приложение должно жить в браузере. Эти шесть пунктов мы регулярно видим в аудитах — и для каждого есть конкретный рычаг на стороне desktop:

01

Web-версия «почти» достаточно быстрая

Большие таблицы, drag-and-drop, массовые операции и клавиатурные сценарии быстро упираются в границы браузера. Нативный WPF/WinUI-интерфейс остаётся плавным даже на 50 000 строк, 200 видимых колонках и постоянных переходах между мышью и клавиатурой.

02

Интеграция с оборудованием не подлежит обсуждению

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

03

Offline-работа не должна «молча ломаться»

Если работа обязана идти и без устойчивого соединения — web-приложение не тот инструмент. Desktop-приложение корректно ведёт локальные базы, очереди и стратегии разрешения конфликтов.

04

Раздача и обновления — давно решённая задача

Desktop-софт давно не означает «setup.exe с флешки». MSIX, схемы обновлений типа Squirrel/ClickOnce или собственный канал делают раскатку такой же контролируемой, как web-deploy — с rollback.

05

Безопасность на клиенте достижима

Локальное шифрование данных, авторизация через Windows, Active Directory, смарт-карты, подписанные пакеты, code-signing сертификаты. При понятных правилах desktop-приложение не менее безопасно, чем вкладка браузера, — часто оно даже более *контролируемое*.

06

Существующий .NET/Office-стек — это актив, а не груз

Если ваша IT уже строится на Windows, AD, Office, Exchange, SQL Server и .NET, .NET-desktop-приложение — не чужое тело, а аккуратная интеграция: SSO, экспорт в Word/Excel, связь с Outlook, SQL Server, Reporting Services.

Объём работ

.NET-стек и архитектура — что именно вы получаете.

Desktop-приложение от p24.co — это не «setup с базой данных». Каждый блок сознательно спроектирован, документирован и передан:

1. Discovery и архитектурный эскиз

Use case-ы, рабочие места, устройства, сетевая топология, существующие системы (ERP, AD, SQL), регуляторные ограничения. Результат: компактный архитектурный эскиз, обоснование стека (WPF vs. WinUI vs. MAUI), модель обновлений — до первой строки кода.

2. UI на WPF или WinUI (MVVM, чистая структура)

WPF для классического Windows-бизнес-софта, WinUI 3 — для современных, более плавных интерфейсов. MVVM с типизированными view models, понятные bindings, валидация, клавиатурное управление, шаблоны печати. Где уместно — Avalonia или MAUI для кросс-платформы.

3. Прикладная логика на современном .NET (C#)

.NET 8/9 + C#, чистые слои: домен, application, infrastructure, UI. DI (Microsoft.Extensions.DependencyInjection), структурированные логи (Serilog), конфигурация через IConfiguration. Никаких «god-форм», никаких UI-методов, лезущих в базу напрямую.

4. Локальные данные и синхронизация с backend

Локально: SQLite или LiteDB для offline-кэша, SQL Server LocalDB где это оправданно, EF Core как доступ к данным. Backend: ASP.NET Core Web API, REST или gRPC, авторизация через JWT/OAuth, контролируемая синхронизация с реальной стратегией разрешения конфликтов.

5. Интеграция с устройствами

Подключение принтеров, весов, штрих- и RFID-сканеров, COM/USB-устройств, измерительной техники. Драйверы изолированы в отдельном слое устройств — UI остаётся независимым, новые устройства добавляются без перестройки приложения.

6. Installer, канал обновлений и распространение

Пакетирование в MSIX с подписанным сертификатом, контролируемый канал обновлений (своя update-engine, Velopack/Squirrel или Microsoft Store for Business), rollback для неудачных релизов, опционально silent-install для раскатки через Intune/SCCM.

7. Безопасность, авторизация и работа с секретами

Code signing, подписанные MSIX-пакеты, авторизация через Windows-логин / Active Directory / Entra ID, локальное шифрование чувствительных данных (DPAPI, при необходимости дополнительный AES-слой), чёткое разделение прав пользователя и администратора.

8. Логирование, телеметрия и обнаружение инцидентов

Структурированные логи локально (Serilog), опциональная анонимная телеметрия в централизованный backend (Application Insights или аналог), краш-репорты со stack trace и контекстом. Вы видите проблемы на рабочих местах — до того, как звонит hotline.

9. Документация и передача

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

Процесс

Миграция и модернизация: из legacy — в поддерживаемое состояние.

Большинство desktop-проектов — не green field, а перехваты: Access, VB6, старые WinForms-приложения, Delphi-софт или Excel-решения, незаметно ставшие основной программой. Мы идём фазами — с честным промежуточным состоянием, без big bang.

  1. 01

    Инвентаризация и аудит рисков

    Неделя 1–2

    Снимаем существующее приложение: функции, модель данных, интерфейсы, устройства, группы пользователей, болевые точки и те 20% процессов, что действительно важны. Результат: компактный аудит, приоритизированные риски миграции, чёткие non-goals.

    output → Инвентаризация · аудит рисков
  2. 02

    Целевая архитектура и план миграции

    Неделя 2–3

    Проектируем целевой стек (.NET-версия, WPF vs. WinUI vs. MAUI, локальные/центральные данные, слой устройств, backend, модель обновлений) и поэтапный план миграции — включая fallback-пути, если отдельные модули мигрируют позже.

    output → Целевая архитектура · план миграции
  3. 03

    Модель данных, миграция и стратегия strangler

    Неделя 3–5

    Аккуратно мигрируем модель данных (часто из Access/MDB, SQL Server, Excel, старых схем) и фиксируем стратегию strangler: новое приложение по модулям перехватывает работу, старое контролируемо живёт рядом, пока полностью не заменится.

    output → Путь миграции · модель данных
  4. 04

    Сборка первого модуля (desktop MVP)

    Неделя 5–11

    Собираем первый реально продуктивный модуль: WPF/WinUI-интерфейс, прикладная логика, локальные данные, sync с backend, интеграция с устройствами, логирование, installer. Еженедельные демо, ранние pilot-инсталляции на реальных рабочих местах.

    output → Первый продуктивный модуль · pilot-инсталляция
  5. 05

    Закаливание, code signing и раскатка

    Неделя 11–13

    Производительность, стабильность, обработка ошибок, security-гигиена, code signing, MSIX-пакетирование, канал обновлений, документация для IT-раскатки, обучающие материалы. Pilot на площадку или отдел, затем контролируемая раскатка.

    output → Подписанный релиз · план раскатки
  6. 06

    Эксплуатация, поддержка и новые модули

    с 13-й недели

    Go-live, телеметрия и краш-репорты активны, налажен support-процесс. Дальше — модульное развитие: перехватываем новые процессы из старого приложения, добавляем функции, выводим старую систему из эксплуатации.

    output → Живая эксплуатация · setup поддержки
Критерии качества

Что значит «хорошо» для desktop-приложения на практике.

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

Быстро стартует, стабильно работает

Приложение становится рабочим за считанные секунды, выдерживает весь рабочий день, не имеет ползущих утечек памяти и не падает «просто так» на печати или сканировании.

Keyboard-first, без принуждения к мышке

Все критические процессы выполняются с клавиатуры: F-клавиши, разумные шорткаты, порядок Tab, индикаторы фокуса. Power-user работает быстрее, чем в старом софте, а не медленнее.

Устойчиво offline и в LAN

Приложение продолжает работать, если интернет или backend ненадолго пропадают. Конфликты синхронизации обнаруживаются и разрешаются, а не молча перезаписываются. То, что создано локально, не теряется.

Интеграция с устройствами и печатью держится

Принтеры этикеток, весы, сканеры, чековые принтеры управляются предсказуемо. Шаблоны печати воспроизводимы, этикетки выходят 1:1 по спецификации — без «принтер сегодня просто другой».

Обновления — non-event

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

Поддерживаемо годами

Тесты покрывают бизнес-логику, CI собирает и подписывает воспроизводимо, зависимости остаются обновляемыми. Приложение живёт 5+ лет, а не только до следующей версии Windows.

Trust

Безопасность, приватность и ответственность основателя.

Desktop-приложение работает на машинах ваших сотрудников, часто с доступом к реальным бизнес- и клиентским данным — это не игрушка. p24.co управляется Димитрием Кронихом из Крефельда. Вы получаете технического собеседника с европейской базой, который реально берёт ответственность за архитектуру, безопасность и приватность, а не делегирует их вниз.

  • 01Ответственность на уровне основателя — прямой контакт с человеком, который принимает решения по архитектуре и безопасности.
  • 02База в Крефельде · Германия и EU — GDPR-аккуратность, EU-хостинг backend, прозрачные основания обработки.
  • 03Подписанные установщики, контролируемый канал обновлений, локальное шифрование чувствительных данных — по умолчанию.
  • 04Воспроизводимые релизы, документированная архитектура, реальный план реакции и восстановления.
  • 05Передача такая, чтобы вашу desktop-программу мог продолжать вести и другой подрядчик — без замка на руках.
FAQ

Часто задаваемые вопросы о разработке desktop-приложений и .NET.

Зачем вообще desktop-приложение, если всё можно сделать в браузере?

Потому что есть приложения, в которых браузер — неподходящий инструмент: восьмичасовые смены с power-user-работой, локальная интеграция с устройствами, offline-режим, регуляторные требования к локальным данным, шаблоны печати, клавиатурные сценарии. Для таких случаев .NET-desktop-приложение сегодня часто более стабильное, быстрое и честное решение.

Какие технологии вы используете для desktop-софта?

В основном .NET 8/9 с C#, UI на WPF (для классического бизнес-софта) или WinUI 3 (для современных интерфейсов), MVVM, EF Core, ASP.NET Core для backend. Кросс-платформа при необходимости — через Avalonia или .NET MAUI. Локальные данные — SQLite, LiteDB или SQL Server. Installer обычно MSIX с подписанным сертификатом.

Сколько стоит заказное desktop-приложение или отраслевой софт?

Серьёзно сделанный первый модуль .NET-desktop-приложения обычно в среднем-верхнем пятизначном диапазоне евро, более крупные отраслевые решения или модернизация legacy быстро уходят в шестизначный. Мы открыто фиксируем scope, допущения и риски — без «фикспрайсов» поверх половинчатых требований.

Можете ли вы модернизировать существующее приложение на Access, VB6, WinForms или Delphi?

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

Как вы подключаете принтеры, весы, сканеры и другое оборудование?

Через выделенный слой устройств: каждый тип устройства (принтер этикеток, весы, штрих-/RFID-сканер, COM/USB-устройство) имеет понятную абстракцию с заданным поведением — таймауты, ошибки, reconnect. UI остаётся независимым, новые устройства или модели добавляются без перестройки приложения.

Как устроены распространение и обновления приложения?

Обычно подписанный MSIX-пакет с контролируемым каналом обновлений — версии публикуются централизованно, скачиваются в фоне и активны при следующем старте. Где это оправданно, интегрируемся с существующими IT-инструментами (Intune, SCCM) или поднимаем компактный собственный update-сервер.

Работает ли приложение offline и как синхронизируется с backend?

Да. Приложение использует локальное хранилище (SQLite/LiteDB/LocalDB) и продолжает работать без интернета. Как только связь возвращается, выделенный sync-слой работает с backend (REST или gRPC) с реальной стратегией разрешения конфликтов. То, что создано локально, не теряется.

Что с приватностью, GDPR и хранением данных в Германии?

Локальные данные шифруем средствами Windows (DPAPI) и при необходимости дополнительно (AES). Backend-компоненты по умолчанию хостим в EU (Azure West Europe или эквивалент). Персональные данные чётко отделяем, обработки документируем, блоки для договоров обработки данных готовы.

Кто эксплуатирует и поддерживает desktop-приложение после запуска?

По запросу мы берём эксплуатацию: мониторинг (краш-репорты, телеметрия), обновления, security-патчи, развитие. Точно так же вы можете перевести её на свою команду после раскатки — мы передаём документацию и сетап так, чтобы этот путь оставался реальным.

Следующий шаг

Давайте аккуратно спланируем вашу desktop-программу.

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