Десктопное приложение или веб-клиент, вот в чем вопрос! Веб или десктоп — что выбрать студенту? — Сибирикс Правила игры и критерии оценок

Десктопное приложение или веб-клиент, вот в чем вопрос! Веб или десктоп — что выбрать студенту? — Сибирикс Правила игры и критерии оценок

A picture is worth a hundred words, and a nice live demo – even thousands. So don’t think – click on the image below and keep reading this article after watching the demo.

What is it

The demo above shows how the Web Desktop can be created on the base of Webix ui components. Such kind of shell can be used by remote user, providing them the desktop-like environment, where users can access the remote data and work with it. Users can launch inner apps, organize them on the screen, switch between them. All the same can be done with common desktop web apps. And it works in any browser (even in IE8!)

How does it work

Demo is fully written in JavaScript and is using common Webix ui components. Main UI is created with a help of Layout and List components. Popup elements are Window widgets. Work area with icons is really a Data View component. Webix components allow to redefine their look and feel through CSS, and as you can see it can lead to the dramatic changes.

It may be a bit crazy to create a desktop-like shell in the browser, but why not. Webix is a powerful toolkit and it is not limited to the tables and buttons.

What’s next

For now, Virtual web desktop is just a demo. While you can use it in web ui development, it doesn’t work as a standalone component, and may require a lot of code for proper integration. We are thinking about converting this demo to a standalone component, with rich API and documentation.

Please share your thoughts in comments. What do you think, does this demo need to be extended, or are there some other crazy things, which you wish to see implemented with Webix?

05 июля 2013 г. 17:15

«То о бэнтли я мечтал, то о мазерати,
То рыбалка, то футбол, то с друзьями пати…»
Группа Жуки

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

Правила игры и критерии оценок

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

  • Десктопное приложение - клиентское программное обеспечение, реализующее Windows Forms интерфейс. Приложение инсталлируется на рабочую станцию пользователя и запускается локально, или запускается удаленно. Допускается вариант запуска такого приложения с использованием ввода URL адреса в браузере, но от этого веб-клиентом не становится, также как и благодаря запуску с помощью различного рода эмуляторов;
  • Веб-клиент - клиентское программное обеспечение, представляющее собой браузер и использующее http/https протоколы. Приложение не требует инсталляцию или загрузку программных модулей на рабочую станцию пользователя. Допускается установка дополнительных общесистемных библиотек и использование защищенных сетевых протоколов, и от этого десктопным приложением не становится.

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

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

  • Функциональность, простота использования и быстродействие;
  • Возможность кастомизации и стилизации;
  • Мобильность и легкость обновления;
  • Масштабируемость и кроссплатформенность;
  • Безопасность и надежность;

Надеюсь, разобрались и можно начинать «играть». Звучат гимны команд, понеслась…

Первый период

В каждой второй конкурсной документации (если не чаще), в разделе технических требований, можно заметить требования к наличию веб-клиента или веб-доступа. Возникает резонный вопрос «Вам вот это зачем, помимо того, что это модно?»

Как правило, обоснования такие:

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

Часть этих преимуществ можно достичь и в варианте с десктопным приложением используя RDP доступы, доменные политики и прочее. Но в целом, удар из штрафной площади и 1-0 в пользу веб-клиента. Свисток, центр поля.

Безопасность и надежность - очень серьезный вопрос. Некоторые организации принципиально не хотят и не предоставляют возможность работы в корпоративных системах за пределами своего домена. Необходимость применения средств криптографической защиты информации (СКЗИ) и электронной подписи (ЭП) уже давно никому доказывать не надо, за нас это делают регуляторы. Для использования данных технологий необходимо обращаться к сторонним библиотекам, не все веб-приложения это «любят» и имеют ограничения. Стабильность работы самих браузеров также является потенциально узким местом, причем повлиять на это разработчик бизнес-приложения может не всегда. Оффлайн работа, объективно, чаще и проще реализуются с использованием десктопных приложений. В принципе отдельных организаций пока еще пугает работа в браузере (да-да в том самом, в котором сотрудники просиживают часами в социальных сетях, выкладывая туда всю свою подноготную). Это прорыв по флангу и счет 1-1 . Звучит свисток, первая половина игры закончена, команды уходят в свои СЭД закрывать накопившиеся поручения.

Второй период

Все покупатели хотят видеть «свой» продукт, отличный от множества других. Конечно, сложно на это надеяться, покупая массовый коробочный продукт. А сделать его «под заказ» значительно дороже и рисково. Но только не в IT области.

Повальная мода на скины, по-моему, уже прошла, или я постарел, и иметь не классическую «морду» аудио-проигрывателя мне уже не принципиально. Тем не менее, возможность изменить цветовую раскраску, логотипы, иконки, шрифты базовых интерфейсов - хороший бонус для клиента. Десктопные приложения могут предоставлять возможность применения цветовой темы, настройки отдельных интерфейсных элементов, но веб-приложения, применяя каскадные таблицы стилей, с этим справляются явно лучше. Возможность кастомизации определяется степенью развития самого программного продукта и тип клиентского приложения тут не должно иметь особой роли. Счет 2-1 и «браузерники» вырываются вперед.

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

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

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

Современный пользователь компьютера не меньше времени проводит в браузере, чем тратит его на работу с десктопным приложением. И первый вариант работы сложнее ему не кажется. Зато возможность масштабирования в браузере, отдельным категориям пользователей, приносит ощутимую пользу. Опасность у ворот команды веб-клиента была устранена. Счет по-прежнему 2-1 .

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

Разрабатывая веб-приложения с соблюдением стандартов можно надеяться, что программное обеспечение будет корректно работать во всех браузерах, по крайней мере, в первой пятерке. Чуда тут не происходит, и существует масса нюансов связанных с различной интерпретацией одной и той же разметки. Разработчики каждый день видят в системах баг-трекинга заявки из разряда «функция А не корректно работает в браузере Б, а в остальных браузерах все ОК». Но эти труды стоят получаемых бонусов.

Когда пользователь заходит на рядовой публичный сайт в Интернете он надеется увидеть корректное представление страниц с сохранением всей заложенной функциональности. Причем, посетитель сайта не хочет знать «под какие устройства» сайт создавался (стационарный компьютер или ноутбук, планшет или смартфон), это его вообще не должно беспокоить. Почему же ровно также не рассуждать пользователю корпоративной информационной системы. Зачем пользователю, находящемуся вне офиса и имеющему на руках планшет за 1000$ переживать, что он не сможет исполнить поручение, выданное ему в СЭД. Надо ли сотруднику при выборе планшета изучать вопрос, а сможет ли он конкретно с этого планшета (с его операционной системой), корректно работать в десятках корпоративных систем своей организации. А если завтра он купит другой планшет (с другой программной платформой), система на нем будет ровно такой же, к которой он привык или уже другой, а придется что-то заново скачивать и устанавливать?

Последняя пара лет обозначилась появлением нескольких новых он-лайн приложений. Обычно называемые “WebOS”, “webtops” или “web desktops”, эти приложения используют Flash, Ajax или другие web-технологии, чтобы подражать обычному рабочему столу персонального компьютера. В теории это означает, что, где бы вы не находились, вы сможете получить доступ к вашей «рабочей среде» через простой интерфейс и набор инструментов. Конечно, всё с помощью одного логина.

На практике же, не всё так просто. Взяв во внимание различные web-десктопы на разных стадиях разработки в данный момент, ни один из них не предлагает в полной мере того, что требуется веб-работнику. Я посмотрел и поигрался с почти двумя десятками таких приложений, и до сих пор не нашел то, которое бы подошло мне в моей повседневной жизни.
Но имеются перспективы. Некоторые из этих приложений заслуживают внимания, особенно за то, что они начали взаимодействовать с другими сервисами, такими как Zoho Writer и Google Docs для редактирования документов, OpenBox от Box.net для хранения файлов, и другими сервисами и плагинами сторонних компаний. Ниже я отметил три наиболее перспективных webtop сервиса, а те, что похуже - уже за ними.
По моему скромному мнению, вот три самых активно разрабатываемых и используемых веб-десктопа (в алфавитном порядке):

ajaxWindows

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

И так, сегодня 2010 год. Мир ИТ динамичен, как ничто другое. Всё меняется. Вот и в мире программных продуктов происходят заметные изменения. Всё бОльшую роль играют веб приложения. Этот вид приложений появился не сразу. Сначала были просто статичные сайты, после в сайты начали внедрять скрипты. Сложность сайтов начала возрастать. И вот, не успели моргнуть глазом, как «сайты» стали таким же сложным программным продуктом, как и обычные десктоп-приложения. Сайтами их уже язык не поворачивается назвать — это уже приложения. Уже есть инструменты для создания таких приложений, паттерны проектирования, освоенные практики. А тут ещё «облака». Всё чаще люди переходят с Word на Google Docs. Уже приятнее и удобнее пользоваться веб-интерфейсом для просмотра почты(GMail). Всё чаще и чаще появляются разный веб-софт, сервисы.

Произведём сравнительный анализ приложений.

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

Desktop приложение Web приложение
Доступ к сети Internet не трубуется необходим. исключение: некоторые

приложения могут временно работать автономно

Устновка/обновление Должно быть развёрнуто или установлено. Единовременная настройка. Одна установка для всех пользователей. Благодаря централизованности моментально обновление.
Интерфейс взаимодействия Стандартные интерфейсы, стандартное взаимодействие Разнообразный интерфейс взаимодействия.

Плюсы — разнообразие реализации, минусы, сложности — кроссбраузерная совместимость. Решается применением библиотек на JavaScritp, внедрением стандартов.

Совместимость с устройствами Зависимость от платформы. Исключение — кроссплатформенные приложения. В большинстве случаем — платформо-независимое.
Анимация, графика Быстрая, быстрый отклик Относительное медленный отклик, связанный с передачей данных по сети.
Медиа Незначительные проблемы с аудио и видео. Проблемы. На данный момент всё реализуется через Flash. Но в разработке стандарт HTML5, который подразумевает поддержку аудио и видео на уровне браузера.
Шрифты Присутствуют только те шрифты, которые установлены у пользователя Любые шрифты — есть возможность подгрузки необходимого шрифта через Internet
Поиск по контенту Нет, если только не реализовано на уровне приложения. Да есть. Причём можно орагнизовать свой поиск, но и воспользоваться сторонними сервисами, к примеру запрашивать данныу у Google.
Расшаривание Если только дополнительно настроить Изначально веб-приложения(большинство) настроены на совместный доступ
Разработка Под каждую платформу есть свои инструменты, зачастую под каждую платформу приходиться писать свою версию. Всё выполняется на сервере, пользователя не волнует как там исполняется всё на сервере. Кроссплаформенно, нужен только браузер. Инструменты, софт на сервере зачастую кроссплатформенны.
Desktop приложение Web приложение
Масштабы Повсеместно Пока что web-приложения не столь популярны. Но темпы роста популярности(в куче с «облаками») велики. Уже сейчас многие переходят на хранение документов на Google Docs и прочие сервисы.
Тестирование Производится тестером, группой тестеров. Для opensource происходит тестирования всеми, кому это интересно. По сути всё так же. Только открытость(расположение в сети) данного рода приложений позволяет привлечь бОльшее количество тестеров. Сотни, тысячи, миллионы. В результате бОльшее покрытие тестами и более быстрое обнаружение уязвимостей и некорректной работы софта.
 
Статьи по теме:
Лучшие приложения-аудиокниги для Android Скачать на андроид поисковик аудиокниг без регистрации
«Поиск аудиокниг» представляет собой приложение для поиска бесплатных аудиокниг. С его помощью можно искать книги, которые находятся в свободном доступе в Интернете. Характеристика Обожаете читать, но никак не можете выкроить время на любимую книгу? Многи
Спортивные часы garmin fenix 3
Fenix – серия мультиспортивных часов со смарт функциями. Фениксы совмещают в себе стильные смарт-часы, спортивный пульсометр, навигационный компьютер для туристов и альпинистов. Garmin удалось сделать часы, которые стали популярными среди всех, кто ведет
JBL Charge — звук, который всегда с собой Jbl charge 2 копия характеристики
JBL выпустили вторую улучшенную модель портативной колонки, которая также может подзаряжать Ваше мобильное устройство. Мини колонка JBL Charge 2 – это более мощное устройство, усиленное массивными динамиками, расположенными по двум сторонам. Колонка JBL C
Создать яркие баннеры для медийной рекламы
В интернете баннеры часто используются для реализации различных идей, будь то реклама или какие-то объявления. Создать его можно с помощью специальных онлайн-сервисов, которые мы рассмотрим далее в этой статье. Ввиду высокой востребованности баннеров суще