Современные
информационные технологии / 3.Программное обеспечение
К.т.н., доцент, Гриценко Е.М.
Лачинова Н.С.
ФГБОУ ВПО «Сибирский государственный технологический
университет»
г.Красноярск
Обзор
развития технологий создания web-приложений
Всемирная информационная сеть (World Wide
Web далее Web) имеет недолгую историю. Годом рождения Web считается 1992 год, а
отцом основателем был Tim Berners-Lee, который сумел, используя новые сетевые
технологии и опыт своих предшественников, сделать Web приятным и удобным
средством распространения информации во всемирной сети компьютерных сетей
Internet (Internet существует с середины 60-х годов).
Толчок для своего стремительного и
победного шествия по планете Web получила в 1993 году, когда Mark Andressen с
группой студентов университета Иллинойса, разработали бесплатно
распространяемую программу Mosaic для
просмотра Web-страниц.
Если в конце 1990-х годов типичная
веб-страница представляла собой текст с гиперссылками и
навигационное меню с небольшими изображениями, то теперь это - отображения 2D и 3D графики и анимации,
медиа-контента, видеофайлов, геолокации, микроформатов, офлайнового режима
страниц, drag-and-drop, поддержки файловой системы, и других
В настоящее
время web-технологии
развиваются чрезвычайно стремительно, новые технологии разработки приходят на
рынок, сменяя старые. Это смена идет так стремительно, что достаточно сложно
отследить актуальные на данный момент постоянно развивающиеся web-системы,
основные виды представлены ниже:
Интернет – представительства: Сайты -
визитки; Корпоративные сайты; Интернет - витрины; Промо – сайты.
Информационные
ресурсы: Тематические сайты; Интернет – порталы; Блоги; Каталоги сайта;
Web-сервисы:
Поисковые системы; Почтовые системы; Интернет – форумы; Фото-, Видео-, Аудио-, Хостинги; Доски объявлений; Социальные
сети.
Авторы
статьи провели анализ актуальных технологий и программных инструментов для
разработки web-систем с 2004г. по настоящее время.
По данным развития Web-приложений была
проведена большая работа по анализу форумов, блогов и других электронных
ресурсов. Для основной оценки и характеристики актуальности данных приложений использовались такие
сайты, как Хабрахабр, Википедия, в которых была подробно предоставлена
информация об этих приложениях, пик их популярности и их использования.
Технологии и
программные инструменты для разработки web-систем можно разделить на 4 категории: фреймворки, библиотеки,
системы управления контентом, web-сервера.
Фреймворк(framework – каркас, структура) –
структура программной системы; программное обеспечение, облегчающее разработку
и объединение разных компонентов большого программного проекта.
В
таблице 1 приведены данные развития и популярности программных каркасов с 2004
по 2013г.
Таблица
1 - Развитие и
популярность программных каркасов
|
Год Веб- Фреймворк |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
|
Ruby on
Rails |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Django |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
ASP.NET MVC |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
Fusebox |
|
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|
|
Apache Cocoon |
|
+ |
+ |
+ |
+ |
+ |
|
|
|
|
|
Aranea |
+ |
+ |
+ |
+ |
|
|
|
|
|
|
|
Eclipse |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Facelets |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
FreeMarker |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
Google Web Toolkit |
|
|
|
+ |
+ |
+ |
+ |
+ |
|
|
|
Grails |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Hamlets |
|
|
|
|
|
+ |
+ |
+ |
+ |
|
|
JavaServer
Faces |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
JBoss
Seam |
|
|
|
|
|
|
+ |
+ |
+ |
|
|
Lift |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
OpenLazlo |
|
|
|
|
|
+ |
+ |
+ |
+ |
|
|
Spring |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Stripes |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
Tapestry |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Vaadin |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
WebMacro |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
Wicket |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
ZK |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Apache Struts |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
MooTools |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
Prototype |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Spry |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
|
|
SproutCore |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
PhoneGap |
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Catalyst |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
CakePHP |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
Codelgniter |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Kohana |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Symfony |
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Yii |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
Zend |
|
|
|
|
|
|
|
+ |
+ |
+ |
|
CherryPy |
|
|
|
|
|
+ |
+ |
+ |
+ |
|
|
GAE |
|
|
|
|
+ |
+ |
+ |
+ |
|
|
|
Pylons |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
Pyramid |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
Twisted |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Tornado |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
Merb |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
Sinatra |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
Velocity |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
Следует выделить такие фреймворки как: Twisted,
Eclipse, Ruby on Rails, jango, ASP.NET MVC, FreeMarker, Grails, Spring и
другие, которые предпочитают большинство пользователей.
В таблице 2 приведены данные развития и
популярности библиотеки с 2004 по 2013г
Таблица 2
- Развитие и популярность библиотек
|
Год Библиотека |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
|
RichFaces |
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
SmartClient |
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Dojo |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Ext JS |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
jQuery |
|
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Rico |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
Script.aculo.us |
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
|
Yahoo! UL
Library |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
|
Underscore |
|
|
|
|
+ |
+ |
+ |
+ |
+ |
+ |
Основные библиотеки одинаково популярны среди
пользователей.
CMS (система управления содержимым )-информационная
система или компьютерная программа для обеспечения и организации совместного
процесса создания, редактирования и управления контентом. В таблице 3 приведены
данные развития и популярности CMS с 2004 по 2013г.
Таблица 3
- Развитие и популярность CMS
|
Год CMS |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
|
DotNetNuke |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Cotonti |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
Drupal |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
LiveStreet
|
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
Joomla |
|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Zope |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
С периода 2004 по 2013 год, не потеряли свою
актуальность среди пользователей следующие CMS: DotNetNuke, Drupal, Zope.
Web-сервер – сервер, принимающий HTTP-запросы от
клиентов, обычно веб - браузеров, и выдающий им HTTP-ответы, как правило,
вместе с HTML-страницей, изображением, файлом, медиа - потоком или другими
данными.
В таблице 4 приведены данные развития и
популярности web-сервера с 2004 по 2013г
Таблица 4
Развитие и популярность web-серверов
|
Год Веб- Сервер |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
|
Zope |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Node.js |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
|
MooTools |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
Zend |
|
|
|
|
|
|
|
+ |
+ |
+ |
|
Tornado |
|
|
|
|
|
+ |
+ |
+ |
+ |
+ |
Наиболее часто используемым Web-сервером
является Zope.
Таким образом, основной целью данной работы
является выявление актуальных фреймворков, библиотек, CMS, Web-серверов на данный момент, которые используются для
создания Web-приложений. В ходе анализа, по мнению пользователей,
выявились наиболее популярные технологии для создания Web-ресурсов. Наиболее
функциональными фреймворками являются: Ruby
on Rails, Django, ASP.NET MVC, Eclipse, FreeMarker, Grails, JavaServer
Faces, Vaadin, WebMacro, Prototype, Kohana, Symfony, Pylons, Pyramid, Twisted,
Merb, Sinatra.
Самыми удобными в использовании библиотеками на
данный момент являются Dojo и jQuery.
Среди технологии CMS выделяются такие как DotNetNuke, Drupal,
Joomla. Наиболее популярными Web-серверами являются Node.js и
Zope. Каждый пользователь выбирает для себя подходящую технологию создания Web-приложения
с учётом знаний и поставленных задач.
Литература:
1.
Официальный сайт «Википедия» [Электронный ресурс] / Режим доступа: ru.wikipedia.org.
2.
Официальный сайт «Habrahabr» [Электронный ресурс] / Режим доступа: http://habrahabr.ru/
3.
Официальный сайт «Sinatra» [Электронный ресурс] / Режим доступа: www.sinatrarb.com.