Разработка десктопного программного обеспечения

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


Коротко о задаче

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

Оборудование. Сканеры, весы, считыватели, измерительные приборы, специализированные устройства с драйверами под Windows. Браузер к ним либо не имеет доступа, либо имеет с ограничениями, которые нельзя обойти.

Отсутствие связи. Цех, склад, выездная работа, объект без стабильного интернета. Приложение должно работать локально и синхронизироваться, когда связь появится.

Объёмы на рабочем месте. Обработка тяжёлых файлов, расчёты, работа с локальными базами. Гонять это через сеть дольше и дороже, чем считать на месте.

Интеграция с рабочим столом. Файловая система, буфер обмена, печать на конкретный принтер, взаимодействие с офисными и отраслевыми программами.

Если ваша задача из этого списка, десктоп — правильный выбор. Если нет, мы скажем об этом прямо и предложим {{ссылка: веб-сервис}}: он дешевле в поддержке.


Что входит в услугу

  • Обследование и выбор архитектуры

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

  • Проектирование интерфейса

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

  • Разработка

Пишем приложение, реализуем работу с оборудованием, локальное хранение и синхронизацию с сервером с разрешением конфликтов.

  • Установка и обновление

Собираем установщик и настраиваем автоматическое обновление, чтобы новая версия не требовала обхода рабочих мест. Для парка машин готовим тихую установку под средства централизованного развёртывания.

  • Интеграция

Обмен данными с учётными системами предприятия, экспорт и импорт файлов, печать документов по шаблонам.

  • Сопровождение

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


Что это даёт заказчику

  • Работа там, где веб бессилен. Оборудование, офлайн, локальные объёмы.
  • Скорость для оператора. Интерфейс под работу целый день, а не под первое знакомство.
  • Единый стек с серверной частью. Десктоп и веб пишутся на .NET, поэтому логика и модели переиспользуются, а не дублируются.
  • Честная оценка формата. Если задача решается браузером, мы это скажем: поддержка десктопного парка стоит денег, и брать её на себя без необходимости незачем.
  • Управляемое обновление. Новая версия доезжает до рабочих мест сама.


Как мы работаем

Стек — .NET для Windows. Серверную часть, если она нужна, делаем на ASP.NET Core и PostgreSQL, обмен строим через собственный API.

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


Наш опыт

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

Отдельный смежный опыт — перевод приложения с устаревшего кроссплатформенного фреймворка на актуальный. {{ссылка: Обновление платформы и миграция версий}}

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

Давайте создавать вместе!

Свяжитесь с нами и мы проконсультируем по вопросам реализации IT-решений и найдем лучший подход к разработке

Контакты

Офис: г. Казань, ул. Островского, 57Б, оф. 110
Почта: info@nabla-lab.ru
Телефон: +7 (965) 595-62-78