Научная статья на тему 'Обзор современных технологий создания RIA-приложений'

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

CC BY
550
82
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРНЕТ-ПРИЛОЖЕНИЯ / RIA-ТЕХНОЛОГИИ / INTERNET APPLICATIONS / RIA-TECHNOLOGIES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Афанасьев Кирилл Сергеевич, Лебедев Кирилл Сергеевич

Рассмотрены основные особенности RIA-приложений с кратким описанием современных платформ для их разработки. На основе каждой технологии создано демонстрационное приложение.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

REVIEW OF MODERN TECHNOLOGIES TO CREATE RIA - APPLICATIONS

The authors consider main features of RIA-applications with a brief description of modern platforms for their development. A demo application is created on the basis of each technology.

Текст научной работы на тему «Обзор современных технологий создания RIA-приложений»

УДК 004.42

ОБЗОР СОВРЕМЕННЫХ ТЕХНОЛОГИЙ СОЗДАНИЯ RIA-ПРИЛОЖЕНИЙ

К.С. Афанасьев1, К.С. Лебедев2

Иркутский государственный технический университет, 664074, г. Иркутск, ул. Лермонтова, 83.

Рассмотрены основные особенности RIA-приложений с кратким описанием современных платформ для их разработки. На основе каждой технологии создано демонстрационное приложение. Ил. 1. Табл. 5 . Библиогр. 11 назв.

Ключевые слова: интернет-приложения; RIA-технологии.

REVIEW OF MODERN TECHNOLOGIES TO CREATE RIA - APPLICATIONS K.S. Afanasiev, K.S. Lebedev

Irkutsk State Technical University, 83 Lermontov St., Irkutsk, 664074.

The authors consider main features of RIA-applications with a brief description of modern platforms for their development. A demo application is created on the basis of each technology. 1 figure. 5 tables. 11 sources. Key words: Internet applications; RIA-technologies.

Введение. Несколько лет назад в области создания интернет-приложений наметилась тенденция к переходу от стандартных HTML[1]/JavaScript[1]/CSS[1] технологий к платформам, которые позволяют запускать в среде веб-браузера[1] программы, по внешнему виду и поведению не отличающиеся от окон-ных(desktop) приложений. Такой вид программных продуктов принято называть Rich Internet Applications[1](RIA), что в переводе обозначает «богатые интернет-приложения». Несмотря на то что некоторые из технологий RIA выпущены довольно давно (в конце 90-х годов), широкое распространение они получили не более 3-4 лет назад.

Разговор об особенностях RIA стоит начать с концептуального отличия от приложений на основе HTML. Обычные сайты-сервисы работают по принципу перехода на другую страницу по гиперссылкам [1] и отправки формы [2] на сервер [1] средствами веб-браузера. Другими словами, работа таких приложений сконцентрирована вокруг клиент-серверной архитектуры [1] с «тонким» клиентом [1]. HTML, являясь языком разметки документов и отображаемый браузером, идеально подходит для этого. Последовательность действий пользователей представляет собой постоянную отправку запросов на сервер. При таком подходе существует ряд проблем:

1. Сохранение пользовательских данных между сеансами работы приложения и их синхронизация [1] с сервером.

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

3. Запуск приложения при отсутствии подключения к сети.

Какое решение этих проблем предлагает концепция RIA? С точки зрения архитектуры она переводит такие программы в категорию приложений с «толстым» клиентом [1]. Все RIA имеют схожую особенность: наличие промежуточной части, которая передается по сети клиенту и отвечает за взаимодействие с сервером и отображение пользовательского интерфейса [1], намного превосходящего HTML-аналоги. На рисунке можно увидеть принципы организации взаимодействия с пользователями в случае HTML и RIA приложений.

Решение проблемы сохранения пользовательских данных происходит за счет средств платформы RIA (платформенно-независимая среда для запуска RIA-приложений). Промежуточная часть, загружаемая из сети, обращается к ней для сохранения и чтения информации. Отсюда появляется возможность отправлять и получать данные с сервера только по мере необходимости, за счет кэширования [1] на стороне клиента. Вопрос нестабильного подключения также решаем. Платформы RIA могут выполнить установку приложения на компьютере пользователя. Это означает, что для файлов программы будет отведено место на диске и её можно будет запустить без наличия сети. Таким образом, можно отметить основные отличительные черты RIA:

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

• запускается в браузере или в виде оконного приложения и требует установки платформы RIA.

Постепенное развитие стандартов сети Интернет

Афанасьев Кирилл Сергеевич, студент, e-mail: [email protected] Afanasiev Kirill Sergeevich, student, e-mail: [email protected]

2Лебедев Кирилл Сергеевич, кандидат технических наук, начальник Центра интернет-технологий ИрГТУ, e-mail: [email protected]

Lebedev Kirill Sergeevich, Candidate of technical sciences, head of the Center of Internet technologies ISTU, e-mail: kirill.lebedev @ istu.edu

Кибернетика. Управление в сложных системах

Логика приложения

. ■ ■ _

HTTP GET/POST •> f :

HTML "" H

Браузер

Принципы работы HTML и RIA-приложений

привело к реализации подобных технологии на практике. Наиболее известные на данный момент технологии RIA представлены в табл. 1.

Выбор этих продуктов обусловлен распространенностью в Интернете и наличием у пользователей установленных платформ для запуска RIA. В следующих разделах статьи для демонстрации основных технических особенностей каждой технологии будут созданы компактные приложения. Задача программ — получить краткую статистику загрузки сервера приложений [1] через определенные периоды времени и отобразить ее пользователю. В ответ на каждый запрос сервер отправляет следующие данные, упакованные в JSON [1]:

• доменное имя сервера;

• полная емкость выделенной памяти;

• объем свободной памяти;

• максимальный объем памяти;

• количество запущенных потоков.

Таким образом, клиентские части демонстрационных приложений разные, а на стороне сервера их запросы обслуживает Java-сервлет [1].

Приложение на GWT

Краткое описание технологии. Разработчик RIA создает интерфейс и логику программы на языке Java [1], а GWT компилирует исходный код в тщательно оптимизированный JavaScript. Файл скрипта подключается к веб-странице и во время загрузки отображает интерфейс приложения. При этом, во-первых, реша-

ется проблема наличия особого плагина [1] для браузера — по сути в случае GWT нужно, чтобы было включено выполнение сценариев Javascript (поддерживают все современные браузеры). Во-вторых, GWT обладает большой библиотекой компонентов [1] для создания полноценных RIA и их число постоянно растет благодаря большому сообществу разработчиков. На базе этих компонентов можно делать традиционные оконные интерфейсы в браузере.

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

• используют меньший, более компактный, кэ-шируемый код Javascript;

• автоматически поддерживают браузеры IE, Firefox, Mozilla, Safari и Opera;

• в состав библиотеки входят средства для обработки событий перехода по списку посещенных ранее страниц в браузерах(кнопка «Назад»).

Кроме того, работая в Java, можно использовать:

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

• автоматизированные модульные тесты [1] (на основе Junit [1] и др.) как в программе, так и в браузере;

Что касается содержимого библиотек, то GWT включает:

• встроенные компоненты пользовательского интерфейса, которые служат кросс-браузерными строительными блоками приложения;

Таблица 1

Наиболее распространенные технологии RIA_

Название Компания-производитель Год выпуска

Google Web Toolkit(GWT)[3] Google Inc. 2006

Adobe Flex/AIR[4] Adobe Inc. 2008

JavaFX[5] SUN/ORACLE 2009

Silverlight[6] Microsoft Corporation 2007

Java Applets[7] SUN/ORACLE 1995

• удаленный вызов программного кода помогает с клиент-серверными взаимодействиями (RPC [1], AJAX [1]);

• средства интеграции кода GWT в существующий код JavaScript;

• инструменты разработчиков для упрощения взаимодействия с дизайнерами интерфейсов (UIBind).

Недостатки:

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

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

• Скорость работы GWT-компилятора [1]. Это исполняемый класс на языке Java, который в качестве аргументов принимает пути к исходным текстам [1]. В небольшом проекте автора время компиляции доходило до 2 минут. В качестве альтернативы для запуска приложения можно использовать специальный hosted-режим [8], когда проект не компилируется, а запускается специальными средствами в выбранном браузере (GWT версии 2.0). Кроме того, можно компилировать проект только для одного браузера, изменив конфигурацию, что уменьшит время сборки.

Примеры приложений, успешно работающих в Интернете. Прежде всего, это почтовый клиент GMail(http://mail.google.com).

Приложение на Flex/AIR

Краткое описание технологии. Adobe Flex - это набор утилит для разработки RIA на платформе Adobe Flash с использованием языка ActionScript 3. Flash предоставляет гораздо больше возможностей, чем можно получить от HTML в плане интерактивности. Но, тем не менее разработка на Flash - это очень сложный процесс для простых программистов. Flash нацелен больше на дизайнеров. Flex убирает этот барьер, предоставляя программный способ разработки RIA. MXML [1], язык на основе XML [1], используется для описания формата пользовательского интерфейса и поведения, а ActionScript™ 3, мощный объектно-ориентированный язык программирования [1], используется для создания логической модели поведения программы-клиента.

Преимущества. Приложения RIA, созданные во Flex, могут работать в обозревателе, использующем ПО Adobe Flash® Player, или как обычная программа, если в ОС установлено кросс-платформенное приложение Adobe AIR™. Благодаря этому, приложения Flex поддерживают работу как со многими распространенными типами обозревателей, так и с операционными системами для настольных компьютеров. При использовании AIR приложения Flex могут получать

доступ к локальным данным и системным ресурсам ПК. Тем не менее, модель безопасности AIR не допустит повреждения информации пользователя и системных файлов, запуская приложения в изолированной среде. Flash Player и Adobe AIR доступны для свободной загрузки на сайте Adobe.com. На данный момент 99% ПК[9] имеют Flash Player одной из самых последних версий (9 или 10). Создание пользовательского интерфейса происходит с помощью MXML — относительно простого и интуитивно-понятного языка, который опытные разработчики могут освоить достаточно быстро.

Недостатки :

• Язык ActionScript был первоначально скрип-товым языком для Flash-плеера, который претерпел изменения в Actionscript 3. Как объектно-ориентированному языку ему не хватает массы особенностей, которые Java или .NET [1] разработчики принимают как само собой разумеющееся.

• Количество сторонних библиотек (в частности, open source [1]) на порядок меньше, чем в Java.

• Несмотря на то, что Flex SDK предоставляется бесплатно, основная среда разработки [1] Flex Builder является коммерческим продуктом.

Приложение Java-апплет

Краткое описание технологии. Java-апплет — это прикладная программа на Java в форме байт-кода [1]. Java-апплеты выполняются в веб-браузере с использованием виртуальной Java машины (JVM [1]), или в Sun's AppletViewer, автономном инструменте для тестирования апплетов. Java-апплеты были внедрены в первой версии языка Java в 1995 г. Создаются на языке программирования Java, но могут быть написаны и на других языках, которые компилируются в байт-код Java, таких, как Jython.

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

• кроссплатформенность;

• апплет поддерживается большинством браузеров;

• кэшируется в большинстве браузеров, а потому будет быстро загружаться при возвращении на веб-страницу;

• уровень доступа апплета к клиентским данным настраивается пользователем компьютера.

Недостатки :

• разработка апплетов требует от программиста среднего уровня знания языка Java, необходимо иметь представление о библиотеках Swing или AWT для создания пользовательского интерфейса;

• требует установки Java-расширения, которое не во всех браузерах доступно по умолчанию; на данный момент плагин установлен на 90% клиентских ПК;

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

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

• апплеты могут потребовать использования определенной версии JRE [1].

Приложение JavaFX

Краткое описание технологии. JavaFX - это платформа для создания RIA, которые могут запускаться на персональных компьютерах и мобильных устройствах. Технология JavaFX позволяет создавать приложения для работы с мультимедийным содержимым, графические интерфейсы пользователя для бизнес-приложений, игры для персональных компьютеров и мобильных устройств, насыщенные графикой, мультимедиа веб-сайты и др. Приложения JavaFX создаются с помощью декларативного языка [1] программирования JavaFX Script. Для разработки приложений на языке JavaFX Script необходимо скачать и установить JavaFX SDK. Из кода, написанного на языке JavaFX Script, можно обращаться к любым библиотекам Java. Поэтому совместное использование языков Java и JavaFX Script позволяет решать разнообразные задачи, например, логика бизнес-приложения может быть написана на Java, а графический интерфейс пользователя - на JavaFX Script. Приложения, написанные на языке JavaFX Script, могут запускаться на компьютерах с установленной средой исполнения Java 1.5 и выше. В настоящее время поддерживаются следующие операционные системы: Windows, Mac OS X, GNU/Linux и Solaris.

Преимущества. Язык JavaFX Script поддерживает использование библиотек Java и позволяет получать компактный код.

Недостатки. До сих пор остается проблема с запуском на клиентских машинах. JavaFX апплеты не запускаются в браузере Opera, все еще непонятно, что с Linux-системами. Правда, эта ситуация постепенно исправляется: JavaFX 1.2, по утверждению создателей, работает на Ubuntu и OpenSolaris.

Приложение Silverlight

Краткое описание технологии. Silverlight предоставляет графическую систему, схожую с Windows Présentation Foundation [1], и объединяет мультимедиа, графику, анимацию и интерактивность в одной программной платформе. Оно было создано, чтобы работать с XAML [1] и с языками Microsoft .NET. XAML используется для разметки страниц с векторной графикой и анимацией. В состав платформы входит плагин для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA.

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

• начиная с версии 2.0 логика программы может быть описана в любом из языков .NET, включая динамические языки программирования, такие как Iron Ruby и Iron Python;

• .NET платформа является мощным средством для разработки бизнес-приложений;

• большое количество сторонних компонентов от Infragistics, Syncfusion, Telerik (коммерческие продукты);

• большое сообщество .NET - разработчиков.

Недостатки:

Silverlight реализован для ОС Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7, Mac OS X 10.4, Mac OS X 10.5 и браузеров Internet Explorer 6.0/7.0/8.0, Mozilla Firefox 1.5/2.0/3, Safari 3.1, Google Chrome 3.0. В будущем также планируется поддержка Opera. Существующие расширения для браузеров в других операционных системах пока на стадии предварительного ознакомления.

Выводы

Выводы о сравнении современных технологий RIA и результатах эксперимента по написанию приложений представлены в табл. 2. Далее сравнение по каждому параметру описано более подробно.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Время на разработку демонстрационных приложений. Автор статьи был знаком с тремя технологиями на момент написания приложений, а именно, GWT, Adobe Flex/AIR и Java Applets. Так что максимальное время для одной программы составило 3 часа. Работа с уже известными технологиями продолжалась от одного до двух часов.

Поддержка браузером клиента. О том, что на компьютере клиента установлены необходимые платформы и расширения для запуска RIA можно судить по данным статистики с сайта http://riastats.com. Лидерами охвата аудитории пользователей являются GWT и Adobe Flex/AIR. Это связано с тем, что в первом случае вообще не требуется установки никаких дополнительных программ, а во втором - сказывается широкое распространение Adobe Flash плеера на компьютерах пользователей Интернета.

Далее следуют технологии JavaFX и Java Applets, охватывающие примерно 70% пользователей. Главное условие их работы - наличие установленной JRE на ПК. Библиотеки для JavaFX входят в её состав начиная с версии 1.5, а поддержка апплетов есть уже давно. С технологией Java Applets не было проблем при запуске в браузере. В случае с JavaFX автору так и не удалось этого сделать и приложение запускается только в оконном режиме. Возможно это связано с недавним обновлением JavaFX, когда приложения перестали запускаться в браузерах Opera и Firefox последних версий.

Лицензирование и стоимость вхождения для разработчиков

1. GWT выпускается в рамках лицензии Apache License 2.0. Она даёт право использовать программное обеспечение для любых целей, свободно распространять, изменять и распространять изменённые копии. GWT можно бесплатно скачать с сайта разработчика. Продукты, написанные с помощью GWT, могут иметь любую лицензию.

Таблица 2

Сравнение технологий создания RIA-приложений__

Платформа GWT Flex/AIR JavaFX Java-апплеты Silverlight

Разработчик Google Inc. Adobe Inc. Sun Microsystems Sun Microsystems Microsoft

Язык создания приложений Java Actionscript JavaFX Script Java C++, C#, Visual Basic, Object Pascal и множество других

Поддержка браузером клиента 100% при включенном Javascript ~97-98% браузеров ~70% браузеров ~70% браузеров ~50% браузеров

Время изучения для новичка 3-6 ч 3-6 ч 3-6 ч 3-6 ч 3-6 ч

Время на разработку демонстрационного приложения ~1ч ~2 ч ~3 ч ~1ч ~3 ч

Лицензия Apache License 2.0 [1] Mozilla Public License [1]/ Adobe AIR[10] пользовательское соглашение JavaFX пользовательское соглашение [11] SUN/ORACLE пользовательское соглашение Microsoft пользовательское соглашение

Средства разработки Eclipse (бесплатно), NetBeans (бесплатно) Adobe Flex (коммерческий продукт) Eclipse (бесплатно), NetBeans (бесплатно) Eclipse (бесплатно), NetBeans (бесплатно) Microsoft Web Developer Studio (бесплатно)

Создание интерфейса в графическом редакторе средства разработки Да (при наличии коммерческого плагина) Да Нет Да Да

2. Adobe Flex/AIR. Flex SDK доступен по лицензии Mozilla Public License, а Adobe AIR SDK - по пользовательскому соглашению с компанией Adobe. Оба продукта можно бесплатно скачать с сайта разработчика. RIA, написанные с использованием Flex SDK и AIR SDK, могут выпускаться в рамках любой лицензии.

3. JavaFX SDK распространяется в рамках пользовательского соглашения с компанией SUN/ORACLE. Лицензия не накладывает особых ограничений на распространение приложений на основе JavaFX и они могут быть в том числе и коммерческими.

4. Компоненты для работы Java Applets входят в состав библиотеки JRE. Они доступны в рамках пользовательского соглашения с компанией SUN/ORACLE. JRE можно бесплатно загрузить с сайта производителя.

5. Microsoft Silverlight выпускается в рамках пользовательского соглашения с компанией Microsoft. Оно не накладывает особых ограничений на написанные с помощью Silverlight SDK программы. Комплект SDK можно бесплатно скачать с сайта Microsoft.

Особенности организации клиент-серверного взаимодействия. Задача получения статистики загрузки сервера в общем случае состоит из двух этапов. Во-первых, осуществление HTTP-запроса к серверу, во-вторых, получение данных из ответа сервера.

Для всех примеров за эти действия в приложении отвечают два объекта. Первый осуществляет HTTP-запрос и в случае получения ответа передает данные второму объекту. Далее он извлекает данные статистики из ответа и интерфейс пользователя обновляется.

Компоненты, отвечающие за осуществление HTTP-запроса, входят в стандартную библиотеку SDK каждой технологии. Однако с компонентами, извлекающими данные статистики из ответа в формате JSON, дело обстоит иначе. Если у GWT, JavaFX и Silverlight они включены в состав SDK, то у Flex/AIR дополнительно использована библиотека JSwoof (www.waynemike.co.uk/jswoof) для работы с JSON^ для Java-апплетов - пакет org.json(http://json.org) для Java.

Код клиент-серверного взаимодействия можно сравнить по количеству строк (табл. 3).

Наличие в составе библиотек необходимых компонентов. Для написания демонстрационных приложений требовались компоненты двух видов:

• визуальные элементы пользовательского интерфейса;

• невизуальные компоненты для организации клиент-серверного взаимодействия.

Таблица 3

Сравнение количества строк кода для организации клиент-серверного взаимодействия

Платформа GWT Flex/AIR JavaFX Java-апплеты Silverlight

Количество строк кода для организации клиент-серверного взаимодействия ~40 ~30 ~30 ~20 ~30

Таблица 4

Использование компонентов SDK

Технология Наличие визуальных компонентов Наличие компонентов клиент-серверного взаимодействия

GWT Да Да

Flex/AIR Да Дополнительно использована JSWoof для работы с ^ОЫ

JavaFX Да Да

Java-апплеты Да Дополнительно использован пакет огд^оп для работы с JSON

Silverlight Да Да

В табл. 4 рассмотрено наличие необходимых компонентов в составе стандартных SDK.

В случае Flex/AIR и Java-апплетов для создания примера использованы дополнительные библиотеки, которые не входят в состав стандартных SDK.

Способ описания пользовательского интерфейса. Для описания интерфейсов технологии используют два подхода:

• С помощью языка программирования^^, Java Applets). В этом случае все компоненты описаны в файле с исходным текстом в виде переменных. На этапе запуска приложения они инициализируются в коде и располагаются в окне приложения.

• Декларативным методом, средствами специального языка на основе XML (XAML для Silverlight и MXML для Adobe Flex/AIR) и с помощью JavaFX Script. В исходном тексте соблюдается вложенность компонентов для их последующего расположения на экране. Для Silverlight и Adobe Flex/AIR характерно то, что исходный текст программы и XML-описание интерфейса могут храниться в одном файле.

Подходы, использованные в Silverlight, Adobe Flex/AIR и JavaFX, позволяют разделить описание интерфейса и программный код приложения. В этом направлении последняя версия GWT предлагает средство UIBind для организации совместной работы HTML-дизайнеров и программистов. В состав исходных текстов можно включать файлы с HTML-кодом, в которые внедрены элементы пользовательского интерфейса. На этапе компиляции они будут связаны с кодом программы. Это позволяет отдельно работать над дизайном в HTML.

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

• официальная техническая документация на сайте разработчика;

• статьи с примерами использования технологий, находящиеся в блогах и других информационных ресурсах;

• форумы, посвященные той или иной технологии.

GWT:

• code.google.com/webtoolkit/ - ресурс разработчиков;

• http://googlewebtoolkit.blogspot.com/ - официальный блог о GWT.

Adobe Flex/AIR:

• http://www.adobe.com/products/air и http://www.adobe.com/products/flex - страницы на сайте разработчика, с них можно перейти к блогам, демонстрационным примерам, технической документации.

JavaFX:

• http://javafx.com/ - официальный сайт разработчиков технологии, полезен тем, что на нем есть ссылки на ресурсы сообщества JavaFX, посвященные документации и примерам программ.

• http://blogs.sun.com/javafx — блог о JavaFX.

Java Applets:

• http://java.sun.com/applets/ - страница на сайте компании SUN/ORACLE, посвященная технологии Java Applets. Там есть техническая документация и примеры приложений, а также ссылки на форумы и другие ресурсы.

Silverlight:

• http://silverlight.net - официальный сайт разработчиков Silverlight.

О заинтересованности разработчиков в той или иной технологии, а значит и о создании сообществ можно косвенно судить по количеству проектов, например, в каталоге Google Code (http://code.google.com). С другой стороны, немаловажную роль играет количество предложений о работе по каждой технологии (сайт http://indeed.com) (табл. 5).

Количество проектов в каталоге Google code

Таблица б

Платформа GWT Flex/AIR JavaFX Java-апплеты Silverlight

Количество проектов в каталоге Google Code 147б 2S88/70S 119 166 180

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

Библиографический список

и т. д. Что касается задачи, то её можно одинаково успешно решить с помощью каждой из технологий, о чем свидетельствуют написанные демонстрационные приложения, которые можно скачать по адресу http://afanasev-ks.name/articles/modernRIA.zip.

1. http://ru.wikipedia.org/ - сайт «Википедия» для поиска 8. значений упоминаемых терминов.

2. http://htmlbook.ru/html/form.html - документация по HTML.

3. http://code.google.com/intl/ru-RU/webtoolkit/ - официальный сайт Google Web Toolkit.

4. http://www.adobe.com/products/air/, http://www.adobe.com/products/flex/ - официальный Flex/AIR

5. http://javafx.com - официальный сайт JavaFX.

6. http://silverlight.net/ - официальный сайт Silverlight.

7. http://java.sun.com/applets/ - документация по applets

сайт

Java-

http://code. google. com/intl/ru/webtoolkit/doc/1.6/DevGuideC ompilingAndDebugging.html - документация по Google Web Toolkit.

9. http://riastats.com - сайт, посвященный статистике RIA-платформ.

10. http://www.adobe.com/ru/products/air/tools/sdk/eula/ -пользовательское соглашение Adobe AIR.

11. http://developers.sun.ru/forum/viewtopic.php?f=12&t=1044 -форум о лицензии JavaFX

УДК 519.21

ГРАФИЧЕСКИЙ РЕДАКТОР ТЕХНОЛОГИЧЕСКИХ СХЕМ ОБОГАЩЕНИЯ ПОЛЕЗНЫХ ИСКОПАЕМЫХ

Нгуен Ван Чи1, А.В. Петров2

Иркутский государственный технический университет, 664074, г. Иркутск, ул. Лермонтова, 83.

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

Ключевые слова: обогащение полезных ископаемых; графический редактор; сепарационные характеристики; структурный граф; матрица структуры.

GRAPHICS EDITOR FOR MINERAL CONCENTRATION FLOWSHEETS Nguyen Van Chi, A.V. Petrov

Irkutsk State Technical University, 83 Lermontov St., Irkutsk, 664074.

The authors developed a graphics editor program for the design of technical flowsheets of mineral concentration (with technical specifications). The program is an effective tool for loading technical concentration flowsheets of any complexity. The results of the program implementation are the input data for the further research, especially for the assessment of the economic efficiency of concentration plants. 5 figures. 5 sources.

Key words: concentration of minerals; graphics editor; separation characteristics; structural graph; structure matrix.

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

1 Нгуен Ван Чи, аспирант, тел.: 89148934052, e-mail: [email protected].

Nguyen Van Chi, postgraduate student, tel.: 89148934052, e-mail: [email protected].

2 Петров Александр Васильевич, доктор технических наук, профессор, декан кибернетического факультета. Petrov Alexander Vasilyevich, Doctor of technical sciences, professor, dean of the Faculty of Computer Engineering.

i Надоели баннеры? Вы всегда можете отключить рекламу.