Научная статья на тему 'Анализ JavaScript-фреймворков для создания динамичных веб-интерфейсов для задач поиска и фильтрации пространственных ресурсов'

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

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

Текст научной работы на тему «Анализ JavaScript-фреймворков для создания динамичных веб-интерфейсов для задач поиска и фильтрации пространственных ресурсов»

высоте 3 км облака типа «следа самолета» с КЕО = 81,65% относительно безоблачного неба радиометром с Ке„оР. = 0,2%; ЯП1кд(Ьш реал.) = 305,5 км; Коп -коэффициент помех оптического пути; Коп = ЯпДЬмреал) / Япр.(Ьм идеал) ~ 0,7.

Тогда формула расчета максимальной дальности наблюдения инверсного следа ЛА с учетом технических характеристик ФПУ приобретает вид: Ь = Коп х [(/ А)] х [(100 / А)]; а числовое значение Ь составит 420 км.

Таким образом, предоставляется реальная возможность реализовать потребный рубеж разведки сверхзвуковых малозаметных в см-диапазоне радиоволн многоцелевых истребителей 5-го поколения ВВС США Ф-22А «Рэптор» по критериям инверсных следов их авиадвигателей.

Список литературы:

1. Волкова Е. Определение типа облачности по данным измерений радиометра ЛУИЯЯ ИСЗ ЫОЛЛ для Европейского региона России в теплый период года. // Тр. НИЦ «Планета». - СПб., 2005. - Вып. 1 (46). - С. 22-41.

2. Егоров Б., Кабанов Б., Щипин С. След в небе // Авиация и космонавтика вчера, сегодня, завтра... - 2001. - № 8.

3. Крутик М., Майоров В. Люмены, Канделы, Ватты и Фотоны. Различные единицы - различные результаты измерения чувствительности телевизионных камер на основе ЭОП и ПЗС // Специальная техника. - 2002. - № 5.

4. Неизвестный С., Никулин О. Приборы с зарядовой связью - основа современной телевизионной техники. Основные характеристики ПЗС // Специальная техника. - 1999. - № 5.

5. Никитин В., Цыцулин А. Телевидение в системах физической защиты // Издание «С-Пб ГЭТУ «ЛЭТИ». - СПб., 2001. - С. 99.

6. Полупроводниковые формирователи сигналов изображения / Под ред. П. Йесперса, Ф. Ван де Виле и М. Уайта. - М., «Мир», 1979.

7. Смеркалов А. Прозрачность земной атмосферы // Физическая энциклопедия: в 5-ти томах. - М.: «Советская энциклопедия», 1988.

АНАЛИЗ JAVASCRIPT-ФРЕЙМВОРКОВ ДЛЯ СОЗДАНИЯ ДИНАМИЧНЫХ ВЕБ-ИНТЕРФЕЙСОВ ДЛЯ ЗАДАЧ ПОИСКА И ФИЛЬТРАЦИИ ПРОСТРАНСТВЕННЫХ РЕСУРСОВ

© Матвеев А.Г.*

Институт космических и информационных технологий Сибирского федерального университета, г. Красноярск

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

* Аспирант кафедры Геоинформационных систем.

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

При разработке веб-приложения - клиентской стороны каталога пространственных данных геопортала ИВМ СО РАН [1], предназначенной для поиска и фильтрации ресурсов - возник вопрос о выборе средства, которое бы обеспечило возможность реализации визуальных компонентов, обработку событий веб-браузера, работу с элементами объектной модели документа, каскадными таблицами стилей и так далее.

Начиная с 2004 года, среди разработчиков клиентской части веб-приложений всё популярнее становятся так называемые JavaScript-фреймворки. JavaScript-фреймворк (или библиотека JavaScript) - это набор функций и средств, облегчающих реализацию сценариев JavaScript, совместимых с большинством современных браузеров (основанных на движках Trident, Gecko, WebKit, Presto, KHTML). Каждая из библиотек в процессе своего развития проходит активное тестирование в различных веб-браузерах, что может гарантировать (в той или иной степени), что для веб-приложения, написанного с использованием одной из таких библиотек, будет обеспечена кроссбраузерность (одинаковую работу в различных типах веб-браузеров), по крайней мере, со стороны JavaScript.

Функциональные возможности современного JavaScript-фреймворка

Как правило, JavaScript-библиотеки обладают схожей базовой функциональностью. Типичным набором возможностей является: операции с элементами объектной модели документа (DOM); поддержка асинхронных HTTP-за-просов (AJAX); обработка событий; визуальные эффекты; служебные функции.

Операции с элементами модели документа (DOM). Как правило, в основе библиотек содержится реализация функций поиска и выборки элементов DOM с использованием селекторов CSS (Cascading Style Sheets, каскадные таблицы стилей) или XPath (XML Path Language). Данный функционал позволяют получать ссылки на элементы модели документа согласно идентификаторам этих элементов, их классов, значений атрибутов, а также с использованием всевозможных комбинаций этих свойств.

Естественным продолжением развития функционала фреймворков JavaScript, связанного с поиском и выборкой элементов, является реализация функций, предназначенных для манипуляций с моделью DOM, то есть: изменение значения элементов, их атрибутов, классов CSS, содержимого, их перемещение, копирование, удаление и так далее. Использование функций, связанных с объектной моделью документа, является одним из основных неоспоримых преимуществ по сравнению с реализацией кода на «чистом» JavaScript, поскольку реализация DOM до сих пор не является полной в различных версиях и типах браузеров [2].

Поддержка асинхронных запросов (AJAX). Использование концепции AJAX (Asynchronous JavaScript and XML) уже не раз доказало свою эффективность при реализации веб-приложений. Подобное объединение технологий динамического обращения к серверу (чаще всего, при помощи объекта XMLHttpRequest) и DHTML (Dynamic HTML) для организации интерактивных веб-интерфейсов обладает следующими преимуществами:

- Уменьшение нагрузки на сервер и экономия трафика за счёт существенного уменьшения объёмов передаваемых данных и переноса части нагрузки на сторону веб-клиента;

- Повышение интерактивности пользовательских интерфейсов и их ускорение.

Функционал для работы с AJAX в JavaScript-фреймворкзх представляет собой набор удобных в использовании методов, позволяющих выбрать тип ответа (XML, JSON, HTML или текст), назначить функции, запускаемые при успешном и неудачном запросе, выбрать метод запроса (GET или POST) и так далее. Возможности конфигурирования отличаются у различных библиотек, но все они существенно облегчают работу с AJAX, существенно сокращая объёмы кода, увеличивая его читаемость и прозрачность, а также избавляют от необходимых проверок на совместимость с текущим браузером, поскольку, например, браузер Internet Explorer версии 6 использует ActiveX вместо объекта XMLHttpRequest. Кроме того, существуют различия в реализации XMLHttpRequest в других типах браузеров.

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

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

- В коде становится меньше функций, которыми нужно оперировать;

- Занимается меньше памяти;

- Уменьшается количество связей между JavaScript-кодом и DOM;

- Становится возможным сквозное добавление событий к элементам DOM, создаваемым на лету.

Визуальные эффекты. Сочетание работы с таймерами JavaScript и стилями CSS позволяет реализовывать множество визуальных эффектов, таких

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

Служебные функции. Практически каждый JavaScript-фреймворк обладает набором вспомогательных (служебных) функций, которые призваны облегчить разработку. Часто среди таких функций можно увидеть: определение «движка» и версии браузера; обход массива с выполнением функции на каждой итерации; объединение массивов или объектов; обработка строк (синтаксический анализ и пр.); и так далее.

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

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

Анализ популярных JavaScript-фреймворков

На сегодняшний день наиболее популярными JavaScript-фреймворками являются: Dojo, Mootools, YUI, ExtJS, jQuery, Prototype. Каждый из этих продуктов является мощным инструментом веб-разработчика, со своими положительными и отрицательными сторонами. Некоторые сравнительные характеристики указаны в табл. 1.

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

Пользуясь информацией, предоставленной Google Trends [3], можно просмотреть динамику изменения популярности рассматриваемых фрейм-ворков с 2004 года. Популярность jQuery, которую можно проследить, связана с тем, что данный фреймворк является универсальным средством для ре-

шения повседневных задач, при этом, обладающим малым размером, хорошей документацией, а, следовательно, низким порогом вхождения. Возможность расширения при помощи официальных и авторских модулей в совокупности с активным сообществом разработчиков, интеграция данного фреймворка в популярные системы управления содержимым веб-сайта (Drupal, Wordpress, TikiWiki) - всё это сделало данный продукт качественным универсальным инструментом веб-разработчика.

Таблица 1

Сравнительные характеристики JavaScript-фреймворков

Dojo Mootools YUI ExtJS jQuery Prototype

Версия 1.6.0 15.03.2011 1.3.1 24.02.2011 3.0 29.09.2009 4 26.04.2011 1.6 3.05.2011 1.7.0 / 1.9.0 22.11.2010

Размер 28 КБ (gzip), 123 КБ (исх.) 7.3-65 КБ 101 КБ (исх.) Ядро ~ 31 КБ 84-502 КБ 24 КБ (gzip), 155 КБ (исх.) 46-278 КБ

Лицензия BSD и AFL MIT BSD Коммерческая и GPL v3 MIT и GPL MIT

Поддержка браузеров

IE 6+ 6+ 6+ 6+ 6+ 6+

Firefox 3+ 2+ 3+ 1,5+ 2+ 1.5+

Safari 4 3+ 4,0 3+ 3+ 2.0.4+

Opera 10 9+ 10,0+ 9+ 9+ 9.25+

Chrome 3 1+ Нет данных 1+ 1+ 1+

Синтетические тесты производительности фреймворков [4], проводимые различными авторами, также показывают, что jQuery занимает лидирующую позицию по отношению к другим популярным фреймворкам. Например, на рис. 1 изображена диаграмма производительности работы фреймоврков в различных браузерах - количество миллисекунд, потраченных на выполнение операций выборки элементов DOM при помощи селекторов.

4,500

3,375

1.Î50

1,125

0

¡Query 1.2.6 jQuery 1,3 Doja 1.2,3 dooTools 1.2.1 Prototype 1.6.0.3

I Finjfcx j Firefox j.I Safari 3,2 Safari Nightly

Qoera 9.6 ■ IE & ■ IE 7 Chrome

Рис. 1. Производительность фреймворков в различных веб-браузерах

Согласно требованиям, которые предъявлялись Javascript-фреймворку при разработке клиентской части каталога пространственных данных (высокая скорость работы, малый вес, гибкость, независимость от внешнего вида, работа в основных версиях веб-браузеров, расширяемость), в качестве основного фреймворка был выбран jQuery, поскольку данное программное средство в полной мере соответствовало поставленным задачам.

Список литературы:

1. Каталог метаданных [Электронный ресурс] // Геопортал ИВМ СО РАН. - Режим доступа: http://gis.krasn.ru/client.

2. Web browser DOM support [Электронный ресурс] // Web Devout. - Режим доступа: http://www.webdevout.net/browser-support-dom.

3. Google Trends [Электронный ресурс] // Google. - 2011. - Режим доступа: www.google.com/trends?q=jQuery%2Cdojo%2Cmootools%2Cyui%2 Cextjs&ctab=0&geo=all&date=all&sort=4.

4. Task Speed. Basic task test for frameworks / Базовые тесты фреймворков [Электронный ресурс]. - Режим доступа: http://dante.dojotoolkit.org/taskspeed.

ИССЛЕДОВАНИЕ ИЗМЕРЕННОГО СЕТЕВОГО ТРАФИКА

© Мирзакулова Ш.А.*, Балгабекова Л.ОД

Жолмырзаев А.К.*

Алматинский университет энергетики и связи, Республика Казахстан, г. Алматы

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

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

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

* Старший преподаватель кафедры «Автоматическая электросвязь».

* Старший преподаватель кафедры «Автоматическая электросвязь». " Инженер группы по управлению сбоями Kcell GSM Казахстан.

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