Какое бизнес-приложение нужно вашей компании: web или desktop?

web-or-desktop
ecm-soft      -

Какое бизнес-приложение нужно вашей компании: web или desktop?

Идея написать статью на эту тему возникла в 2020 году, когда к нам с запросом на разработку ПО обратился крупный региональный производитель профлиста. Компании понадобилось приложение для менеджмента заказов на производство и доставку, и уже был определен примерный список требований.

Одним из пожеланий заказчика была разработка именно десктоп-приложения. Однако в процессе обследования и оценки задач мы вместе с клиентом пришли к выводу, что быстрее разработать web-приложение на платформе Jmix (ранее Cuba Platform).

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

web-or-desktop

Важно! Так как статья ориентирована на читателей, которые знакомы с IT-сферой и разработкой ПО скорее на уровне пользователей, чем на уровне системных администраторов, для начала определим предмет разговора и уточним, что мы понимаем под вебом и под десктопом.

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

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

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

Мифы о десктоп-приложениях

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

Миф №1 «Десктоп всегда безопаснее, а из веб-приложения нашу информацию могут украсть»

И да, и нет. Если сервер находится «снаружи» организации, и доступ к нему недостаточно защищен, то данные могут украсть независимо от того, будете ли вы пользоваться десктоп или веб приложением. То есть тут мы путаем «технологию разработки» и собственно архитектуру системы, и то, как организована защита передачи данных. Первично именно то, где находится сервер, насколько он защищен, и насколько защищены каналы доступа с клиентских ПК до сервера.

Технология разработки и интерфейс – этот как раз или веб-клиент, или десктоп. Это та часть, через которую пользователь взаимодействует с программой и запускает какие-то процессы. Защитить информацию на этом уровне можно только путем настройки доступа: создать надежные пароли и организовать их безопасное хранение, настроить уровни прав доступа для разных групп пользователей, установить на ПК антивирусы, которые обнаружат вредоносное и шпионское ПО.

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

  • собственный физический сервер, который стоит в вашем офисе;
  • арендованный сервер, который физически находится в ЦХОДе (центре хранения и обработки данных) и доступен удаленно;
  • публичное облачное хранилище, арендованное по подписке.

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

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

Миф №2 «Десктоп работает и без интернета, а веб-приложение важна высокая скорость соединения»

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

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

Пример: вам нужно простое десктоп-приложение для ведения сделок и хранения базы клиентов, которое будет работать на собственном сервере в офисе. Для удобства менеджеров в приложение встроена проверка потенциального контрагента по ИНН с указанием возможных рисков.

Для проверки система обращается к открытым источникам в интернете. Если в офисе отключили интернет, менеджеры смогут спокойно работать с самим приложением. Однако автоматическая проверка по ИНН не будет работать до того момента, пока не восстановится соединение.

Если в аналогичном примере у компании не один, а два офиса, а сервер вынесен за пределы офисной сети и доступен только удаленно, при отключении интернета любое приложение будет недоступно.

Миф №3 «Десктопные приложения проще и понятнее, чем веб»

Такое впечатление может сложиться после сравнения какой-то простейшей десктоп-программы, разработанной под конкретную задачу, и сложной многофункциональной веб-системы, такой как Битрикс24. И здесь мы снова сталкиваемся с тем, что выбор технологии разработки не влияет сам по себе на удобство интерфейса. Одинаково непонятную или наоборот удобную для пользователя систему можно построить как в виде «настольного» приложения, так и в его веб-версии.

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

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

Плюсы и минусы десктоп-приложений

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

Преимущества десктопных бизнес-приложений

  1. Более отзывчивые и быстрые при работе с высококачественной графикой и выполнении других операций, которые требуют большого количества ресурсов. Примеры: Adobe Photoshop, AutoCAD, Visual Studio. Да, для таких приложений выпускают облегченные веб-версии, но пока возможностей браузера недостаточно для полноценной замены более мощного десктопа.
  2. Лучше подходят для задач, которые подразумевают большое количество операций с файлами на рабочем месте пользователя. Ни одно веб-приложение без ведома пользователя не может пользоваться ресурсами его компьютера, например, текстовыми файлами. Если требуется автоматически забирать файлы и выполнять с ними какие-то действия (например, формировать отчеты), то стоит рассматривать именно десктоп.
  3. Подходят для работы с внешним оборудованием и программирования на аппаратном уровне.

Возможные «минусы» выбора десктоп-приложений для бизнеса

  1. Разработка может занять больше времени и стоить дороже, чем в случае с вебом. Нельзя сказать, что это аксиома, так как можно использовать средства ускорения разработки с конструкторами экранов и других модулей. Другой вопрос, что этих средств становится все меньше и меньше, а стоимость их использования все выше. Раньше можно было использовать Delphi, Sybase PowerBuilder и другие системы, которые позволяли достаточно легко и просто создавать базу данных и интерфейс быстрее, и с минимальным по тем временам количеством кода. Такие системы есть и сейчас, но большая часть из них почти «мертва» либо стоит очень дорого. В то время как современные средства быстрого создания бизнес-приложений в вебе опережают их по функционалу и скорости разработки.
  2. Менее гибкое, дорогая разработка для кросс-платформ. Если у приложения должен быть сразу и десктоп, и веб-клиент, то стоимость разработки будет в несколько раз выше. Систем, которые позволяют делать это достаточно быстро, тоже становится все меньше, а стоимость лицензий на их использование может составлять несколько тысяч долларов в год на одного разработчика. Естественно, себестоимость средств разработки в итоге отражается на «счете» для заказчика. Например, если мы разрабатываем десктоп-приложение, которое должно одинаково выглядеть и корректно работать на Windows, Linux и MacOS, его стоимость будет минимум в 2-3 раза дороже, чем аналогичного приложения только для Windows. Конечно, есть средства разработки, позволяющие разработать относительно универсальный клиент, но даже при их использовании понадобятся дополнительные доработки, например, экранных компонентов для Linux.
  3. Сложные и дорогие в поддержке. Если сравнивать процесс обновления десктоп и веб-приложения, второй скорее всего будет быстрее и проще. Для обновления десктопа понадобится сначала обновить сервер, а затем версию программы на машинах всех пользователей. В зависимости от количества ПК и сложности процесса это может занять от нескольких часов до нескольких дней. Поэтому при заказе разработки десктоп-приложений нужно быть к таким временным затратам вашего системного администратора.

Веб-приложения: преимущества и недостатки

Преимущества

Гибкие и кросс-платформенные решения, дешевле разработка

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

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

Но не стоит думать, что при заказе бизнес-приложения для компании на 15-20 пользователей этот пункт не важен. Даже если сейчас вам известно, на каких именно устройствах и платформах будет использоваться разработанное решение, уже через 1-2 года ситуация может измениться.

Например, так произошло при разработке приложения для одного из наших клиентов. После завершения разработки и успешного внедрения клиент решил масштабировать решение на филиал в другом городе. И внезапно оказалось, что в парке пользовательских ПК есть старые машины с операционной системой Windows 7.

Благодаря тому, что приложение было разработано на платформе Jmix, нам удалось успешно запустить программу даже на такой «древней» операционке. Если бы вместо веб-приложения мы разработали десктоп, то заказчику было бы проще купить новые ПК, чем дорабатывать приложение под Windows 7 ради нескольких рабочих мест.

Проще в установке и поддержке

Выше мы уже описывали процесс обновления версии десктоп-приложения. А теперь сравните с вебом: достаточно за 5-10 минут загрузить обновления на сервер и попросить пользователей «перелогиниться» в системе. Даже если в компании более 50-80 пользователей, провести обновление будет намного проще, чем в случае с десктопом.

Недостатки веб-приложений для бизнеса

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

  1. Веб-приложения неудобны для работы с большим количеством файлов на компьютере пользователя в автоматическом режиме, так как от пользователя требуется разрешение на доступ к файлам.
  2. Пока возможности веба ограничены при работе с высококачественной графикой и сложными ресурсоемкими технологиями.
  3. Не подходит для программирования на аппаратном уровне и приложений, которые будут работать с каким-то внешним оборудованием (плоттерами, принтерами и т.д.)

Десктоп или веб: какое приложение подойдет для решения ваших бизнес-задач?

Разработку десктоп-приложения стоит выбрать, когда вашей компании необходима программа для:

  • работы с высококачественной графикой и выполнения ресурсоемких задач, которые пока не под силу веб-приложениям;
  • управления внешним оборудованием;
  • работы с большим количеством файлов на ПК пользователя в автоматическом режиме;
  • совместной работы с уже существующим десктоп-приложением (например, дополнительный модуль для реализации дополнительных функций).

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

Сколько стоит разработка программы на заказ?

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