Tag Archives: Web

Интернет-приложения становятся богаче

Традиционно программное обеспечение принято делить на два класса, согласно логике взаимодействия пользователя с программой. Это «толстые клиенты», или обычные приложения с графическим интерфейсом (в ОС Windows еще называют Windows-приложениями). И это «тонкие клиенты», или обычные веб-приложения.

Windows-приложения позволяют реализовать навороченный интерфейс пользователя. Они работают быстрее, и позволяют пользователям более удобно и быстро работать с программой. Однако есть у этих приложений и существенные недостатки. Так, необходимо устанавливать ПО на каждое рабочее место, в дальнейшем обновлять на этих компьютерах ПО, при необходимости устанвливать пакеты исправлений и т.п.  Представьте себе, что с программой в вашей компании должно работать 50 пользователей, которые к тому же работают в разных офисах, а-то и в разных городах, и на каждый из этих 50 компьютеров нужно отдельно устанавливать саму программу, и раз в несколько недель/месяцев устанавливать обновления и исправления. А еще часто бывает, что на разных компьютерах разное «железо» и разные конфигурации программ, и на разных компьютерах программа работает по-разному. Просто ужас для системного администратора :)

Web-приложения лишены этих недостатков. Для работы с Web-приложением не нужно ничего устанавливать на компьютеры работников. Достаточно чтобы компьютер был подключен к интернету (или корпоративной локальной сети). Само программное обеспечение устанавливается централизованно на сервере. Соответственно и все обновления, исправления, дополнение устанавливаются на сервере. Это существенно упрощает сопровождение программы, уменьшает проблемы системного администратора организации и конечных пользователей. Но за это приходится платить менее удобным интерфейсом программ. Фактически компьютер пользователя только отображает информацию, формируемую на сервере, никакого программного кода компьютер клиента не выполняет. Для получения отклика на действие пользователя компьютер отправляет запрос к серверу. Информация передается по локальной сети либо через интернет, а это занимает некоторое время, иногда немаленькое. Поэтому веб-приложения работают более медленно и не позволяют некоторых вещей, которые можно реализовать в Windows-приложении.

А можно ли сделать некий симбиоз Windows-приложений и веб-приложений? Лет десять-пятнадцать назад это было практически невозможно. В основном из-за технических ограничений: интернет был очень медленным, да и компьютеры не слишком производительными. Однако по мере развития технологий, объединение толстых и тонких клиентов стало возможным.

Основоположником этой идеи можно считать компанию Microsoft, которая в 1998 году ввела понятие “Remote Scripting”. Позже идею развили другие разработчики. Один из наиболее устоявшихся терминов, “Rich Internet Application” (RIA), ввела в 2002 году компания Macromedia.

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

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

 

Итак, недостатки и преимущества приложений RIA:

 

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

- Зависимость от подключения к сети. Чтобы работать с RIA-приложением, компьютер должен быть подключен в интернету (или локальной сети, если сервер установлен в сети предприятия)

 

+ Богатый графический интерфейс

+ Большая интерактивность, по сравнению с Web-приложениями

+ Не нужно устанавливать программу на клиентские компьютеры

+ Обновления и исправления устанавливаются централизованно на сервере, нет необходимости устанавливать их на каждый клиентский компьютер отдельно.

+ Можно использовать ПО на любом компьютере с подключением к интернету

+ Не важно какая операционная система установлена на компьютере пользователя

+ Не важно географическое расположение пользователя. С RIA-приложением можно работать из любой точки планеты, если есть подключение к интернет

 

Наиболее передовой технологией для разработки RIA-приложений на данный момент можно считать технологию Microsoft Silverlight. На ее основе сейчас разрабатывается ряд внутренних корпоративных продуктов, системы документооборота, системы управления персоналом и др. Кстати говоря, Microsoft Silverlight 3.0 нивелирует некоторые недостатки приложений RIA, описанные выше. Так, Silverlight 3.0 позволяет пользователю продолжить работу с приложением даже при пропадании подключения к интернету. Также в последней версии разработчики Silverlight существенно улучшили быстродействие, и теперь RIA-приложения по производительности идут наравне с обычными Windows-приложениями. Впрочем, об этом поговорим подробней в следующих постах блога.

 

 

P.S. Пост опубликован в рамках инновационного проекта интерактивной системы обучения. Это проект RIA-приложения для образовательных учреждений, позволяющий вывести процесс самоподготовки, обучения и тестирования на качественно новый уровень. Интересная тема?

 

Павел Сурменок

Красноярск, 23 сентября 2009, вечер