Современным способом разработки интернет ресурсов является применение MVC фреймворков. Фреймворк является архитектурой разрабатываемого ресурса, который гарантирует стандартную структуру программ и их поведение по умолчанию. Данные в MVC отделены от реализации функционала, а тот, в свою очередь, – от представления (внешнего вида) [1].
Большинство веб-фреймворков имеет следующую структуру компонентов:
шаблонизатор - структурированная организация верстки с помощью фреймворка;
модуль маршрутизации - процесс, отвечающий за направление обработчика до определенной запрашиваемой страницы;
интерфейс обращения к базе данных;
механизм кеширования, ускоряющий загрузки веб-страницы;
интерфейс безопасности - аутентификация и авторизация пользователей;
конфигурационные файлы;
модуль управления сессиями и логирования;
интерфейс взаимодействия с Ajax технологией.
В нашем случае фреймворк подразумевает разработку функциональной части, дизайн в данном проекте не рассматривается. Поэтому к сравнению приведены бэкэнд фреймворки, позволяющие облегчить разработку функциональной части.
Сравнение возможностей самых распространенных веб-фреймворков приведено в табл. 1.
Таблица 1 - Возможности популярных веб-фреймворков
Критерий |
ASP.NET |
Zend |
Cake |
Symfony |
Ruby on Rails |
Django |
Язык |
ASP.NET |
PHP |
PHP |
PHP |
Ruby |
Phyton |
Шаблон проектирования MVC |
+ |
+ |
+ |
+ |
+ |
+ |
Применение ORM |
+/- |
+ |
+ |
+ |
- |
+ |
Механизмы интернационализации |
|
- |
+ |
+ |
+ |
+ |
Применение шаблонов при создании пользовательских интерфейсов |
+ |
+ |
+ |
|
+ |
+ |
Создание и проверка форм |
+ |
+ |
+ |
+ |
+ |
+ |
Управление доступом на основе ролей |
+ |
+ |
+ |
|
+ |
+ |
Использование AJAX технологии |
+ |
+ |
- |
|
+ |
+ |
ЧПУ (Friendly URL) |
+ |
+ |
+ |
+ |
+ |
+ |
Модульное тестирование |
+ |
+ |
+ |
|
+ |
+ |
Система кеширования |
+ |
+ |
+ |
+ |
+ |
+ |
Итого |
8 |
9 |
9 |
6 |
9 |
10 |
Наиболее востребованными веб-фреймворками являются ASP.NET, Zend, Cake, Symfony, Ruby On Rails, Django [2].
Приведенный сравнительный анализ популярных веб-фреймворков показывает их особенности, возможности и зависимости.
Согласно результатам анализа, наиболее предпочтительным для реализации поставленных задач является Django. В данном фреймворке реализована поддержка MTV - паттерн проектирования, который очень близок к классическому MVC и позволяет отделять разработку функциональной части от графического интерфейса. Одним из конкурентных преимуществ склоняющий выбор в сторону Django является высокая скорость работы фреймворка. Также Django может выдерживать высокую нагрузку и имеет встроенные возможности кэширования и распределения нагрузки [3].
Список литературы:
Ногербек Н.Д. Обзор популярных MVC Веб-Фреймворков, Томский политехнический университет [Электронный ресурс] - Режим доступа:http://earchive.tpu.ru/bitstream/11683/16998/1/conference_tpu-2015C04-v2-048.pdf;
Современные Веб-Фреймворки [Электронный ресурс] - Режим доступа: http://blog.pirsipy.com/sovriemiennyie-viebfreimvorki/;
Django framework. Performance and optimization. Электронный ресурс] - Режим доступа: https://djbook.ru/rel1.9/topics/performance.html;