Как устроены приложения веб мобильные или десктоп
Так случилось, что я имею опыт разработки ПО под Desktop (в основном, на C++ и Qt) и под Web (PHP, Javascript). Под Desktop я разрабатываю проекты в-основном для себя и для научных исследований. Под Web я научился разрабатывать, чтобы мог периодически брать заказы на фрилансе (Очень редко попадаются заказы под Desktop, которые я с радостью беру, если они соответствуют моим компетенциям).
Недавно преподаватель курса "Управление ИТ-проектами" пытался донести до нас одну мысль. Перефразирую, как понял:
Преподаватель - директор по сопровождению и эксплуатации в Центре финансовых технологий, хороший специалист и очень классный мужик, поэтому спорить с ним не стал =)
Предположим, что я хочу стать Project Manager'ом компании, разрабатывающей корпоративное ПО. Но клиентская часть корпоративного софта мне видится, как приложение под Desktop.
Спасибо за ответ!
Согласен, что нужно делать обоснованный выбор технологий самому, поэтому и возник этот вопрос.
Можете более подробно раскрыть тему про негибкость и забывчивость разработчиков? Вы имеете в виду, что в веб-приложении более понятно какие задачи решает клиент, а какие сервер?
Спасибо за ответ!
А можете привести более подробные аргументы по пунктам безопасности и доступности?
Раньше у меня было много ПО на компах а сейчас, ну программ 10 наверное - ФТП, фотошоп, IDE, Скриншотер, Офис, Антивирус и ПО для резервного копирования (связанное с веб-сервером) ну Криптографы ещё. Вот даже 8 а не 10.
Есть специализированный софт, например парсер картинок, но я его переписал для себя и вынес с компа на веб-сервер потому что держать комп включенным ночью что бы спарсить 100 тыс. картинок неудобно и ВСЕ прикладные программы которые я пробовал на 60 тыс. зависали просто от размера списка. То же самое с любыми другими обработчиками.
Про безопасность. Мне кажется, что это палка о двух концах. С одной стороны безопасно дублировать ценные данные, чтобы не пропали, а с другой стороны безопаснее хранить всё в зашифрованном виде в одном месте. Вопрос дублирования решается резервным копированием. Считаю, что большинству людей лишь кажется, что будет безопаснее, если данные будут храниться локально. Понятно, что идеально хранить данные локально и удалённо. Сам постоянно синхронизирую данные с облаком, чтобы данные были продублированы на каком-либо из девайсов. А это уже про доступность.
Пока всё это писал, понял, что наличие десктопной и мобильной версии софта также определяется надобностью хранения данных локально. Спасибо =)
В целом работа с «Форсайт. Аналитическая платформа» в настольном и веб-приложениях совпадает. Работа в мобильном приложении, которое реализовано на основе продукта «Форсайт. Мобильная платформа», несколько отличается. В таблице приведены отличительные особенности работы с каждой функциональностью продукта «Форсайт. Аналитическая платформа» в различных приложениях.
Подключение к данным и их подготовка
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Импорт данных без подготовки | |||
Подключение к внешним базам данных | |||
Структурирование наборов данных | |||
Импорт, экспорт и преобразование данных |
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Импорт, экспорт и преобразование данных».
Анализ данных и построение отчётов
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Оперативный просмотр и анализ данных (OLAP) | |||
Построение аналитических панелей | |||
Построение отчёта для печати | |||
Визуализаторы данных |
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Просмотр аналитических панелей».
Для получения более подробной информации обратитесь к разделу «Просмотр отчётов для печати».
Расширенная аналитика
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Автоматизация существующих методик и алгоритмов | |||
Анализ временных рядов | |||
Интеллектуальный анализ данных | |||
Моделирование и прогнозирование |
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Автоматизация существующих методик и алгоритмов».
Управление процессами и задачами
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Моделирование бизнес-процессов и их выполнение».
Визуальное конструирование бизнес-приложений
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Визуальное конструирование бизнес-приложений |
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Визуальное конструирование бизнес-приложений».
Администрирование и контроль доступа
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Администрирование и контроль доступа |
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Администрирование и контроль доступа».
Перенос объектов между репозиториями и их обновление
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Перенос объектов между репозиториями и их обновление |
- функциональность доступна в полном объёме;
- функциональность недоступна;
- функциональность доступна с особенностями использования.
Примечание . В таблице указана только та функциональность, которая отличается в зависимости от версии приложения. Одинаковая функциональность не приводится.
Для получения более подробной информации обратитесь к разделу «Перенос объектов между репозиториями и их обновление».
Надстройки для Microsoft Office
- функциональность доступна в полном объёме;
- функциональность недоступна.
Разработка и расширение функциональности приложений
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Инструменты разработки настольного приложения | |||
Инструменты разработки веб-приложения | |||
Интеграция с порталами |
- функциональность доступна в полном объёме;
- функциональность недоступна.
Идея написать статью на эту тему возникла в 2020 году, когда к нам с запросом на разработку ПО обратился крупный региональный производитель профлиста. Компании понадобилось приложение для менеджмента заказов на производство и доставку, и уже был определен примерный список требований.
Одним из пожеланий заказчика была разработка именно десктоп-приложения. Однако в процессе обследования и оценки задач мы вместе с клиентом пришли к выводу, что быстрее разработать web-приложение на платформе Jmix (ранее Cuba Platform).
И это далеко не первый случай, когда на этапе дискавери заказчик уверен в преимуществах десктоп-приложений, но в итоге делает выбор в пользу веба. Почему так происходит, какие плюсы и минусы у веба и десктопа, и какое приложение подойдет именно вашей компании — вы узнаете из этой статьи.
Важно! Так как статья ориентирована на читателей, которые знакомы с IT-сферой и разработкой ПО скорее на уровне пользователей, чем на уровне системных администраторов, для начала определим предмет разговора и уточним, что мы понимаем под вебом и под десктопом.
Веб-приложение — программа, которой вы можете пользоваться в любом удобном для вас браузере. Перед первым запуском ее не нужно устанавливать на ваш компьютер, достаточно вести адрес для доступа в строке браузера.
Десктопное приложение — программное обеспечение, которое вы используете в отдельном интерфейсе, а не в браузере. Перед использованием его придется обязательно установить на компьютер пользователя.
Это поверхностная разница на уровне очевидных для пользователя моментов, хотя на самом деле отличий у этих двух типов приложений гораздо больше.
Мифы о десктоп-приложениях
Еще 10-15 лет назад на рынке программного обеспечения царствовали именно десктоп-приложения, а веб только-только начинал развиваться. Процесс массового перехода к вебу происходил постепенно, и вот уже мы открываем большую часть необходимых для работы программ именно в браузере. Но, тем не менее, в представлении многих пользователей именно десктоп остался символом надежности, быстродействия и простоты. Так ли это на самом деле? Рассмотрим и попробуем опровергнуть самые распространенные мифы.
Миф №1 «Десктоп всегда безопаснее, а из веб-приложения нашу информацию могут украсть»
И да, и нет. Если сервер находится «снаружи» организации, и доступ к нему недостаточно защищен, то данные могут украсть независимо от того, будете ли вы пользоваться десктоп или веб приложением. То есть тут мы путаем «технологию разработки» и собственно архитектуру системы, и то, как организована защита передачи данных. Первично именно то, где находится сервер, насколько он защищен, и насколько защищены каналы доступа с клиентских ПК до сервера.
Технология разработки и интерфейс – этот как раз или веб-клиент, или десктоп. Это та часть, через которую пользователь взаимодействует с программой и запускает какие-то процессы. Защитить информацию на этом уровне можно только путем настройки доступа: создать надежные пароли и организовать их безопасное хранение, настроить уровни прав доступа для разных групп пользователей, установить на ПК антивирусы, которые обнаружат вредоносное и шпионское ПО.
Но самое ценное – собственно коммерческая информация, например, список клиентов и договоров – находится в базе данных. Местом ее хранения может быть:
- собственный физический сервер, который стоит в вашем офисе;
- арендованный сервер, который физически находится в ЦХОДе (центре хранения и обработки данных) и доступен удаленно;
- публичное облачное хранилище, арендованное по подписке.
Именно от того, где находится база данных, насколько надежно она защищена, и насколько защищены каналы связи, по большей зависит безопасность коммерческих данных вашей компании. Если разместить базу в публичном облаке, не ограничивая к ней доступ третьих лиц, то будет абсолютно неважно, веб или десктоп клиент используется на машинах пользователей.
Или если облачный сервер защищен от доступа посторонних, но пользователи получают доступ к данным через открытые каналы интернет без использования шифрования (VPN) – ваши данные под угрозой в любом случае.
Миф №2 «Десктоп работает и без интернета, а веб-приложение важна высокая скорость соединения»
Возможно, 10 лет назад это утверждение еще можно было назвать правдивым, но сегодня оно точно перешло в разряд мифов, и вот почему. Как веб, так и десктоп приложению для корректной работы может требоваться интернет, если:
Пример: вам нужно простое десктоп-приложение для ведения сделок и хранения базы клиентов, которое будет работать на собственном сервере в офисе. Для удобства менеджеров в приложение встроена проверка потенциального контрагента по ИНН с указанием возможных рисков.
Для проверки система обращается к открытым источникам в интернете. Если в офисе отключили интернет, менеджеры смогут спокойно работать с самим приложением. Однако автоматическая проверка по ИНН не будет работать до того момента, пока не восстановится соединение.
Если в аналогичном примере у компании не один, а два офиса, а сервер вынесен за пределы офисной сети и доступен только удаленно, при отключении интернета любое приложение будет недоступно.
Миф №3 «Десктопные приложения проще и понятнее, чем веб»
Такое впечатление может сложиться после сравнения какой-то простейшей десктоп-программы, разработанной под конкретную задачу, и сложной многофункциональной веб-системы, такой как Битрикс24. И здесь мы снова сталкиваемся с тем, что выбор технологии разработки не влияет сам по себе на удобство интерфейса. Одинаково непонятную или наоборот удобную для пользователя систему можно построить как в виде «настольного» приложения, так и в его веб-версии.
Совет: Заказчикам бизнес-приложений еще на этапе формирования своих пожеланий разработчику не стоит забывать о такой важной части, как обучение и «онбординг» пользователей. Именно от того, насколько интерфейс приложения учитывает сценарии работы пользователей, и от того, насколько гладко и успешно пройдет обучение, зависит, будут ли сотрудники использовать систему, или внутри коллектива начнется саботаж и деньги на разработку будут потрачены зря.
А еще хотя бы частично автоматизированная схема обучения позволяет не тратить время на обучение нового сотрудника, а позволяет ему самостоятельно познакомиться с основными сценариями в режиме обучения с подсказками, и задать вопросы.
Плюсы и минусы десктоп-приложений
После того, как мы развеяли распространенные мифы о десктопе, стоит разобраться, что на самом деле представляют из себя современные «настольные» программы, и кому они подходят.
Преимущества десктопных бизнес-приложений
- Более отзывчивые и быстрые при работе с высококачественной графикой и выполнении других операций, которые требуют большого количества ресурсов. Примеры: Adobe Photoshop, AutoCAD, Visual Studio. Да, для таких приложений выпускают облегченные веб-версии, но пока возможностей браузера недостаточно для полноценной замены более мощного десктопа.
Возможные «минусы» выбора десктоп-приложений для бизнеса
- Разработка может занять больше времени и стоить дороже, чем в случае с вебом. Нельзя сказать, что это аксиома, так как можно использовать средства ускорения разработки с конструкторами экранов и других модулей. Другой вопрос, что этих средств становится все меньше и меньше, а стоимость их использования все выше. Раньше можно было использовать Delphi, Sybase PowerBuilder и другие системы, которые позволяли достаточно легко и просто создавать базу данных и интерфейс быстрее, и с минимальным по тем временам количеством кода. Такие системы есть и сейчас, но большая часть из них почти «мертва» либо стоит очень дорого. В то время как современные средства быстрого создания бизнес-приложений в вебе опережают их по функционалу и скорости разработки.
Веб-приложения: преимущества и недостатки
Преимущества
Гибкие и кросс-платформенные решения, дешевле разработка
Это одна из главных причин, по которой сегодня веб-приложения практически заменили десктоп. Существующие фреймворки позволяют при разработке учитывать требования практически всех популярных браузеров, а не создавать отдельное приложение или адаптацию под каждый из них. Это делает разработку в несколько раз дешевле и быстрее, а полученные в результате приложения — более гибкими с точки зрения изменений и доработок в перспективе.
В первую очередь кросс-платформенность важна для разработки коммерческих продуктов. Приложение, которое будут использовать тысячи или даже миллионы пользователей из разных стран, должны по умолчанию подходит под большую часть популярных устройств и операционных систем на выбранных рынках.
Но не стоит думать, что при заказе бизнес-приложения для компании на 15-20 пользователей этот пункт не важен. Даже если сейчас вам известно, на каких именно устройствах и платформах будет использоваться разработанное решение, уже через 1-2 года ситуация может измениться.
Например, так произошло при разработке приложения для одного из наших клиентов. После завершения разработки и успешного внедрения клиент решил масштабировать решение на филиал в другом городе. И внезапно оказалось, что в парке пользовательских ПК есть старые машины с операционной системой Windows 7.
Благодаря тому, что приложение было разработано на платформе Jmix, нам удалось успешно запустить программу даже на такой «древней» операционке. Если бы вместо веб-приложения мы разработали десктоп, то заказчику было бы проще купить новые ПК, чем дорабатывать приложение под Windows 7 ради нескольких рабочих мест.
Проще в установке и поддержке
Выше мы уже описывали процесс обновления версии десктоп-приложения. А теперь сравните с вебом: достаточно за 5-10 минут загрузить обновления на сервер и попросить пользователей «перелогиниться» в системе. Даже если в компании более 50-80 пользователей, провести обновление будет намного проще, чем в случае с десктопом.
Недостатки веб-приложений для бизнеса
Можно сказать, что минусами веб-приложений считаются те же моменты, которые относят к плюсам у десктопных, поэтому не будем раскрывать их подробно, а повторим тезисно:
-
Веб-приложения неудобны для работы с большим количеством файлов на компьютере пользователя в автоматическом режиме, так как от пользователя требуется разрешение на доступ к файлам.
Десктоп или веб: какое приложение подойдет для решения ваших бизнес-задач?
Разработку десктоп-приложения стоит выбрать, когда вашей компании необходима программа для:
- работы с высококачественной графикой и выполнения ресурсоемких задач, которые пока не под силу веб-приложениям;
- управления внешним оборудованием;
- работы с большим количеством файлов на ПК пользователя в автоматическом режиме;
- совместной работы с уже существующим десктоп-приложением (например, дополнительный модуль для реализации дополнительных функций).
Во всех остальных случаях стоит сначала рассмотреть возможность разработки веб-приложения, так как сегодня они способны решать большую часть бизнес-задач, и при этом тратить на разработку меньше времени и средств.
Если вы когда-либо интересовались разработкой приложений для бизнеса, вы, вероятно, пытались провести какое-то сравнение между десктопными и мобильными приложениями. Смартфоны стали неотъемлемой частью нашей жизни, и без мобильного телефона все превратилось бы в полный хаос. Итак, важность мобильных телефонов полностью осознается. А как быть с компьютерами и ПО для них?
Разница десктопных и мобильных приложений
Обычно на ум приходят мобильные приложения, они созданы для мобильных устройств, загружаются в "магазинах приложений", таких как iTunes или Google Play, и доступны через значок на рабочем столе вашего телефона. Их создание может быть сложной задачей, поскольку необходимо разрабатывать разные мобильные приложения для Apple и Android, и по большей части код нельзя использовать совместно с платформами устройств. У Instagram, Facebook и многих других социальных сетей есть мобильные приложения. Сегодня, когда большинство людей думают о приложениях, они видят смартфоны, планшеты и значки.
Настольные приложения, или десктопное ПО, запускаются на компьютере, и для их работы не требуется доступ в Интернет. Они могут быть представлены в виде значков и часто входят в стандартную комплектацию новых компьютеров. Примеры включают Paint, Блокнот или iPhoto. Под ними также могут подразумевать настраиваемое "приложение", используемое для определенной цели в корпоративной среде.
Могут ли мобильные приложения "стереть" десктопное ПО?
Когда появились магазины приложений для смартфонов, мало кто задумывался, насколько они революционны. Теперь же приложений настолько много, что они действительно начинают понемногу вытеснять настольные ПК и, соответственно, десктопные приложения.
Хотя магазины приложений для смартфонов привели к появлению небольших одноразовых программ, разработчики не готовы отказываться от настольных приложений. Разработчики считают, что полнофункциональное программное обеспечение еще не умерло и по-прежнему будет занимать свое место на рабочих столах пользователей. Небольшие масштабы и ограниченные функции приложений для смартфонов являются побочным продуктом технических ограничений, таких как слабые процессоры и низкая емкость памяти на ранних моделях телефонов. Более мощные устройства с более мощными микропроцессорами и памятью позволят создавать более функциональные приложения.
<p>Когда речь идет о бизнесе, стоит подумать о том, чтобы скомбинировать десктопное ПО и мобильные приложения. Например, для ресторанного бизнеса можно разработать систему учета, которая будет установлена на компьютерах администрации и позволит быстро и удобно принимать заказы, вести бухгалтерию, рассчитывать смены для сотрудников и так далее. А мобильное приложение для ресторанов станет отличным помощником для клиентов, ведь там можно посмотреть меню, забронировать столик или сделать предзаказ.
Раздельное мышление
Мобильные приложения предназначены для выполнения определенной задачи или набора, поэтому что бы вам ни нужно было сделать, для этого всегда есть приложение. Конечные пользователи ищут в "магазинах" приложений все, что им нужно, а разбиение на категории только помогает. И когда пользователь определяет, какой приложение выбрать для своей цели, он его загружает. При том исключительно для выполнения конкретно этой цели, не более. Никто не использует фитнес-приложение для проверки цен на акции. А понятные иконки разделяют приложения и упрощают доступ.
В этом мобильные приложения значительно уступают десктопному ПО, которое может совмещать в себе десятки функций, при этом интегрируя их друг с другом. Тем не менее, если узнать сколько стоит разработка приложения и сравнить с ценой на десктопное ПО, приложения снова выигрывают.
Выводы
При том что у всех вариантов есть свои плюсы и минусы, мы рекомендует тщательно изучить особенности каждого из них, прежде чем сделать выбор. Десктопное ПО, как и веб-инструменты, позволяет объединить весь необходимый функционал в одном месте, интегрировать необходимые системы между собой и автоматизировать значительную часть работы. Мобильные приложения дают возможность выполнять определенные функции с любого места и в любой момент, при этом отлично дополняя софт на компьютере.
Читайте также: