ПО на заказ и сервисный учёт
Десктопное или веб-приложение: что выбрать для бизнеса
Устанавливаемая программа или приложение в браузере? Практичное сравнение по работе офлайн, доступу к оборудованию, обновлениям, безопасности и сопровождению, а также промежуточные варианты.
Автор: AYM FlowОпубликовано: Обновлено: 6 мин чтения
Десктопное или веб-приложение — один из первых вопросов в любом проекте разработки ПО на заказ, и ответ на него на годы определяет стоимость, безопасность и сопровождение. Десктопное приложение устанавливается на каждый компьютер и работает на нём; веб-приложение работает на сервере, а пользователи открывают его в браузере. Оба варианта могут выглядеть современно, оба могут быть быстрыми, и оба могут оказаться неверным выбором. В этом руководстве сравниваем их по факторам, которые действительно решают исход проектов, объясняем, когда выигрывает каждый, и разбираем промежуточные варианты. Цель — чтобы вы дали команде разработки ясное направление, а не размытое пожелание.
Десктопное или веб-приложение: короткий ответ
Если пользователи работают в разных местах и на разных устройствах, а основная задача — вводить, передавать и анализировать данные, по умолчанию лучше подходит веб-приложение. Если программа должна работать без интернета, напрямую общаться с локальным оборудованием или обрабатывать очень большие локальные файлы, чаще оправдано десктопное приложение. Большинство реальных проектов находятся между этими полюсами, поэтому стоит смотреть на отдельные факторы, а не на ярлыки.
Ещё одно замечание до деталей: выбор не только технический. Он определяет, кто обновляет программу, кто отвечает за резервные копии и как быстро исправление дойдёт до каждого пользователя. Держите это в голове, читая сравнение.
Что представляет собой каждый вариант
Десктопное приложение
Десктопное приложение — это программа для Windows, macOS или Linux. Она использует процессор, память и диск компьютера и может обращаться к локальным ресурсам: файлам, принтерам, USB-устройствам и последовательным портам. Пока её данные хранятся локально, она продолжает работать и без сети. Зато каждую установленную копию нужно обновлять — вручную или через механизм обновлений, который вы разработаете или купите.
Веб-приложение
Веб-приложение живёт на сервере. Пользователи открывают его в браузере на любой операционной системе, и каждое выпущенное изменение доходит до всех при следующей загрузке страницы. Данные хранятся централизованно, поэтому их проще передавать, анализировать и резервировать, но приложению нужно подключение, а доступ к устройству ограничен тем, что разрешает браузер. SaaS-продукты — это веб-приложения, которые продаются как услуга; модель подробно описана в статье что такое SaaS.
Факторы, которые решают выбор
Пройдитесь по этим пунктам применительно к своему случаю. Обычно вопрос решают два-три из них:
- Установка и обновления: веб-приложение обновляется один раз на сервере. Десктопному нужны установщик, канал обновлений и поддержка тех, кто откладывает обновления.
- Работа без интернета: десктопные приложения по умолчанию работают офлайн. Веб-приложениям для этого нужна дополнительная разработка — service worker и локальное хранилище, — и возможности всё равно ограничены.
- Доступ к оборудованию: принтеры этикеток, весы, считыватели карт, измерительные приборы и последовательные порты легко подключаются к десктопному приложению. В браузере поддержка зависит от устройства и браузера, а некоторые интерфейсы есть только в отдельных браузерах.
- Большие локальные файлы: видео, чертежи CAD или крупные наборы данных проще обрабатывать там, где они лежат, чем сначала загружать на сервер.
- Совместные данные: когда многие редактируют одни и те же записи, центральный сервер естественен для веб-приложения; десктопному в этом случае тоже понадобится сервер или общая база данных.
- Безопасность и место хранения данных: веб-приложение держит данные в одном месте, которое вы контролируете и защищаете. Десктопные распределяют данные по устройствам, что важно, если ноутбук потерян или сотрудник уволился.
- Платформы: веб-приложение работает везде, где есть современный браузер. Нативные десктопные приложения разрабатываются под каждую операционную систему, если не использовать кроссплатформенный фреймворк.
- Распространение: установщики должны быть подписаны, чтобы система не показывала предупреждения; macOS дополнительно ожидает нотаризацию для программ, распространяемых вне App Store.
Разбор на примере: сервисная компания
Представьте компанию, чьи техники выезжают к клиентам обслуживать оборудование. Офис планирует выезды, техники фиксируют выполненные работы и иногда снимают показания с измерительного прибора, а руководству нужны еженедельные отчёты. Планирование и отчётность явно указывают на веб-приложение: с одними и теми же данными работают несколько человек из разных мест. Выезды добавляют два требования: на некоторых объектах нет связи, а один прибор подключается по USB. Разумный ответ здесь — не выбор между двумя ярлыками, а сочетание: веб-приложение для офиса, устанавливаемое PWA для техников, которое хранит задания на день офлайн и синхронизирует их при появлении связи, и небольшой помощник только на тех ноутбуках, что считывают прибор. Если записать сценарий таким образом, решение обычно становится очевидным за несколько минут, а обсуждение переходит от вкусов к конкретным требованиям и их стоимости.
Когда лучше десктопное приложение
Выбирайте десктопное приложение или хотя бы десктопный компонент, если верно одно или несколько условий:
- Работа должна продолжаться без связи — на удалённом объекте, на судне или на складе с плохим покрытием.
- Программа постоянно управляет локальными устройствами или считывает с них данные: оборудованием, весами, измерительными приборами.
- Пользователи обрабатывают очень большие файлы локально, и загружать их долго или неудобно.
- Нагрузка тяжёлая и интерактивная, например обработка изображений или 3D, и ей нужна вся мощность компьютера.
- Внутренние правила требуют, чтобы определённые данные не покидали устройство или локальную сеть.
Главная статья затрат здесь — сопровождение: каждую версию нужно собрать, подписать, распространить и поддерживать на всех версиях операционных систем, которые вы принимаете. В первом бюджете разработки эта работа часто не видна, но за годы становится одной из крупнейших статей.
Когда лучше веб-приложение
Хороший пример — Multi Score Screen, наша программа табло для спортивных объектов: она работает в браузере уже имеющегося у корта телевизора и на телефонах игроков, поэтому ничего не нужно устанавливать, а при слабой связи продолжает вести счёт и синхронизируется, когда соединение восстановится.
- Пользователи распределены по офисам, домам и устройствам, включая смартфоны и планшеты.
- Многие сотрудники работают с одними и теми же данными и должны сразу видеть изменения.
- Нужно единое место для резервных копий, прав доступа и журналов действий.
- Вы планируете предлагать программу другим компаниям, то есть модель SaaS.
- Быстрые и частые обновления важнее работы офлайн.
Здесь нужно заложить хостинг, безопасность и доступность: сервер становится центральной точкой, которую надо защищать, мониторить и резервировать. Если вы ещё выбираете между разработкой такой системы и покупкой готового продукта, поможет статья ПО на заказ или готовое решение.
Промежуточные варианты: PWA, Electron и локальный помощник
Выбор редко бывает «всё или ничего». Три промежуточных пути закрывают многие реальные задачи:
Прогрессивное веб-приложение (PWA)
Прогрессивное веб-приложение создаётся на веб-технологиях, но его можно установить, открыть в отдельном окне и с помощью service worker сохранить работу выбранных функций без связи. Это подходит выездным сотрудникам, которые обычно онлайн, но не должны терять данные при обрыве связи. Доступ к устройствам и лимиты хранилища по-прежнему зависят от браузера и системы.
Кроссплатформенный десктоп на веб-технологиях
Фреймворки вроде Electron упаковывают веб-интерфейс вместе с Chromium и Node.js в десктопное приложение для Windows, macOS и Linux. Одна кодовая база может обслуживать и веб-версию, и десктопную версию с доступом к файлам и устройствам. Цена — более крупный установщик и больший расход памяти, чем у нативной программы.
Веб-приложение и небольшой локальный помощник
Если локальное оборудование нужно только для одной задачи — печати этикеток или считывания весов, — всё остальное может быть веб-приложением, а с устройством работает небольшая установленная программа-помощник. Основная логика остаётся централизованной, а проблема оборудования решается в одном месте.
Как мы принимаем это решение в проекте
В проектах разработки ПО на заказ мы решаем этот вопрос в самом начале, потому что от него зависят архитектура, бюджет и поддержка. Процесс короткий и практичный:
- Перечислить группы пользователей и места их работы: офис, выезд, дом, производство.
- Отметить задачи, которые должны работать офлайн, и устройства, с которыми общается программа.
- Оценить объём данных и сколько человек редактируют одни и те же записи.
- Решить, кто устанавливает, обновляет и поддерживает программу и на каких операционных системах.
- Выбрать самую простую архитектуру, которая закрывает эти потребности, и оставить место для гибридного варианта, если одно требование выбивается.
Результат — короткое письменное решение с перечнем плюсов и минусов. Так все участники понимают, почему проект стал веб-приложением, десктопным приложением или их сочетанием и что это означает для стоимости и сопровождения в годы после запуска. Когда требования меняются, например открывается новый филиал или на объектах появляется новое оборудование, достаточно обновить этот документ и быстро проверить, остаётся ли решение верным.
Частые вопросы
Чем веб-приложение отличается от десктопного?
Десктопное приложение устанавливается и работает на каждом компьютере; веб-приложение работает на сервере и открывается в браузере. Из этой разницы следуют различия в обновлениях, работе офлайн, доступе к оборудованию и хранении данных.
Веб-приложения менее безопасны?
Не сами по себе. Веб-приложение концентрирует данные на сервере, который нужно хорошо защищать; десктопное распределяет данные по устройствам, которые можно потерять. Безопасность зависит от реализации и эксплуатации.
Может ли веб-приложение работать без интернета?
Частично. Прогрессивное веб-приложение может кэшировать страницы и данные через service worker и выполнять некоторые задачи офлайн, но его возможности уже, чем у десктопного приложения.
Сопровождение десктопного приложения дороже?
Часто да: каждую версию нужно собирать, подписывать, распространять и поддерживать на нескольких операционных системах. У веб-приложения эти затраты переходят в хостинг, мониторинг и защиту сервера.
Похожие статьи
ПО на заказ и сервисный учёт
Офлайн-приложение: бизнес-программы, которые работают без интернета
Когда в мастерской, спортзале или на выезде пропадает связь, работа не должна останавливаться. Логика, преимущества и подводные камни offline-first программ.
ПО на заказ и сервисный учёт
Складской учёт со штрихкодом и заказ-наряды: запчасти и работы под контролем
Чтобы знать, где запчасть — на полке, в заказ-наряде или в счёте, — штрихкоды и заказ-наряды должны работать вместе. Практическое руководство для сервисных мастерских.
ПО на заказ и сервисный учёт
Программа для сервисного центра: 10 функций, на которые стоит смотреть
Сервис, который ведётся в таблицах и на бумажных бланках, с ростом выходит из-под контроля. Какие функции нужны программе для сервисного центра и как сделать правильный выбор.
