info

Выбор оптимальной технологии разработки интерактивных клиентских приложений

Presentation mode
head
Тихонов Александр
Научный руководитель: Стучилин В.В.

Введение

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

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

Обзор основных технологий

Flash

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

Все операции на flash-сайтах выполняются под управлением языка сценариев АсtiоnSсriрt, похожего на язык JavaScript. ActionScript — объектно-ориентированный язык программирования, он исполняется виртуальной машиной (ActionScript Virtual Machine), составной частью Flash Player.

flash

Достоинства Flash

  • Широкая распространённость
  • Возможность интеграции аудио- и видеоматериалов
  • Возможность аппаратного ускорения в последних версиях

Недостатки

  • Закрытость формата
  • Высокая стоимость среды разработки
  • Низкая скорость работы из-за использования виртуальной машины и отсутствия многопоточности

SilverLight

Программная платформа, включающая в себя плагин для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application). Версия 2.0, выпущенная в октябре 2008, добавила поддержку для языков .NET и интеграцию с IDE.

Приложения Silverlight могут быть написаны на любом языке программирования .NET. Как таковые, все инструменты разработки которые могут быть использованы для разработки на .NET, также могут работать c Silverlight.

Команда разработчиков Mono разрабатывает проект Moonlight. Это свободная реализация Silverlight с открытым исходным кодом.

silverlightmoonlight

Достоинства SilverLight

  • Основан на XML
  • Возможность писать приложения на любом из языков .NET

Недостатки

  • Малая распространённость плагина
  • Отсутствие кросс-платформенности
  • Низкая скорость работы из-за использования виртуальной машины

JavaFX

Платформа для создания Rich Internet Applications, которые могут запускаться на персональных компьютерах и мобильных устройствах. Технология JavaFX позволяет создавать приложения для работы с мультимедийным контентом, графические интерфейсы пользователя для бизнес-приложений, игры для персональных компьютеров и мобильных устройств, насыщенные графикой, мультимедиа web-сайты и др.

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

javafx

Достоинства JavaFX

  • Возможность аппаратного ускорения
  • Возможность использовать библиотеки Java

Недостатки

  • Малая распространённость плагина
  • Низкая скорость работы из-за использования виртуальной машины

ProcessingJS

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

Processing имеет версию, портированную на JavaScript, которая позволяет создавать интерактивные web-приложения.

processingjs

Достоинства ProcessingJS

  • Не требует плагинов
  • Открытый исходный код
  • Кроссплатформенность

Недостатки

  • Низкая распространённость
  • Большая ориентированность на визуальный контекст

HTML5 + JavaScript + SVG

Данный подход основывается на использовании трёх современных web-технологий: HTML5, JavaScript, SVG. HTML5 обеспечивает разметку страниц, JavaScript - управление и взаимодействие с пользователем, SVG - отрисовку векторной графики.

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

Поддержка этих технологий есть во всех современных браузерах.

html5

Достоинства HTML5 + JavaScript + SVG

  • Кросплатформенность
  • Не требует плагинов
  • Открытый формат, основанный на XML

Недостатки

  • Некорректное отображение в старых браузерах

Анализ

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

Использование малораспространённых технологий также приведёт к сложностям, например отсутствие необходимого плагина у пользователя. К тому же, низкая распространённость технологии ведёт к малому объёму документации.

Рекомендации

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

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

Заключение

Проанализировав все достоинства и недостатки методов, я пришёл к выводу, что оптимальной платформой для интерактивных web-приложений будет использование группы открытых технологий HTML5 + JavaScript + SVG. Это позволит разрабатывать продукты для максимально широкого круга аппаратных и программных решений из-за гибкости метода и его широкой поддержки.

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