Обзор техник и технологий создания веб-сайтов
Бесплатный доступ
В статье рассматриваются основные подходы для создания веб-сайтов. Выделяются три принципиальных подхода: создание веб-сайтов на чистых языках программирования, использование веб-фреймворков, использование систем управления контентом. Анализируются конкретные технологии в рамках рассмотренных подходов. Анализируется взаимосвязь подходов.
Веб-сайты, фреймворки, системы управления контентом
Короткий адрес: https://sciup.org/140286696
IDR: 140286696
Текст научной статьи Обзор техник и технологий создания веб-сайтов
Для реализации проекта в виде веб-сайта, существует три принципиально отличных друг от друга подхода: написание проекта на чистом языке программирования, использования фреймворков и использование готовых систем управления контентом (CMS). Рассмотрим каждый из названных вариантов:
Реализация проекта на чистом языке программирования. На чистом языке программирования можно реализовать все что угодно, ограничение реализации, в большей степени, связано с возможностями языка и знаниями разработчиков. На чистых языках программирования написаны все крупнейший сайты, включая социальные сети: Facebook и Instagram, файловые хранилища такие как Dropbox, а также крупные Интернет-магазины (Amazon) и многие другие проекты, численность посетителей которых достигает нескольких сотен миллионов человек.
Рассмотрим некоторые популярные языки для веб-разработки, согласно рейтинга журнала IEEE Spectrum (рисунок 1). В первой десятки популярных языков программирования можно заметить шесть языков, используемых для веб разработки (на рисунке отмечены глобусом).
Python – язык программирования, активно применяемый практически во всех сферах деятельности, используется как для разработки десктопных приложений, так и для программирования микроконтроллеров и создания веб-сайтов. Python – интерпретируемый язык программирования, в полной мере поддерживающий концепцию объектно-ориентированного программирования, за счет большого количества написанных пакетов, с легкостью может быть использован для решения множества задач. В разработке используется для создания проектов средней сложности. Из крупных сайтов на языке Python написаны сайты: Instagram, Pinterest, Reddit. На языке Python реализовано два популярных фреймворка для веб-разработки: Dlango и Flask [1].
Language Rank
Types
Spectrum Ranking
-
1. Python
-
3. C
-
4. Java
-
5. C#
-
6. PHP
-
7. R
-
8. JavaScript
-
9. Go
-
10. Assembly

Рисунок 1 – Результаты пятого ежегодного рейтинга языков программирования журнала IEEE Spectrum (2018 год)
Java – сильно типизированный объектно-ориентированный язык программирования. Особенность языка связана с предварительной трансляцией кода, написанного на языке в специальный байт-код, воспринимаемый JVM. Язык используется как для написания десктопных приложений, так и для мобильной платформы Android, так и для создания веб-сайтов. На Java написаны такие сайты как Ebay, Amazon и Alibaba. На данном языке написано большое количество фреймворков. Для веб разработки наиболее популярным является Spring [2].
С# – один из наиболее популярных языков, используемых в разработке под операционные системы семейства Windows. Также, как и Java является универсальным языком программирования и применяется для решения широкого круга задач. Язык обладает сравнительно простым синтаксисом. Он прост в обучении, в сравнении с другими C подобными языками. На языке реализованы такие сайты как Guru, Stack Overflow и Bank of America. Самым популярным фреймворком языка является .NET [3].
PHP – своего рода эталонный язык для реализации веб-сайтов. На практике применяется исключительно для реализации веб-сайтов. На данном языке написаны Facebook, Вконтакте, КиноПоиск и многие другие отечественные и зарубежные сайты. В связи со сложностью языка, для упрощения веб разработки, было создано большое количество фреймворков, наиболее популярными в настоящее время являются Symfony и Laravel.
При увеличении проекта целесообразно увеличивать и стек технологий. Так в различных крупных порталах часто используется множество языков программирования. Выбор которых продиктован реально решаемыми задачами.
Самым типичным примером использования разных языков и технологий является Google. Он на столько большой, что разные его части написаны на C/C++, Java, Python, JS и других языках.
Реализация проекта с использованием фреймворка. Фреймворк – представляет набор заготовок и шаблонов, используемых для ускорения процесса реализации программного продукта. С одной стороны фреймворк ускоряет процесс разработки, но с другой накладывает и некоторые ограничения, заранее определяя вариант реализации того или иного решения. С точки зрения практической разработки, фреймворки часто используют для разработки систем средней сложности и с посещаемостью в несколько миллионов.
Наиболее популярными веб-фреймворками для языка Python являются Django и Flask (рисунок 2). Рассмотрим более подробно каждый из них. Ключевым отличием является то, что Flask предоставляет простоту, гибкость и аккуратность в работе, позволяя пользователю самому выбирать, как реализовать те или иные вещи. Django можно охарактеризовать словосочетанием «все включено». Имеется панель админа: интерфейсы БД, ORM, а также структуры каталогов для приложений и проектов.

Рисунок 2 – Изменение рейтинга популярности фреймворков Flask и Django
Django существует дольше – первое издание было в 2005 году, в то время как Flask появился в 2010. Django также является более популярным – в январе 2017 в StackOverflow насчитывалось 2631 вопросов о Django, и лишь 575 о Flask. Оба фреймворка набирают популярность, если мы берем StackOverflow в качестве мерила.
Реализация проекта с использованием систем управления контентом. Системы управления контентом (Content Management System, CMS) – это уже готовые решения, в большей степени напоминающие обычные конструкторы. Необходимый проект в данном случае не пишется в чистом виде, а, по сути, просто собирается из необходимых структурных элементов (модулей) и настраивается в соответствии с требованием заказчиков. Количество ограничений в данном случае огромное, выйти за пределы «коробочного решения» можно, но затруднительно. CMS – один из наиболее популярных вариантов реализации сайтов, однако, с использованием CMS пишутся не большие проекты.
Все рассмотренные уровни реализации проекта взаимосвязаны, так на чистом языке пишутся различные фреймворки, а из фреймворков уже собирают CMS.
Список литературы Обзор техник и технологий создания веб-сайтов
- Welcome to Python [Электронный ресурс] https://www.python.org (дата обращения 10.06.2019)
- java.com: Java и вы [Электронный ресурс] https://www.java.com/ru/ (дата обращения 10.06.2019)
- NET | Free. Cross-platform. Open source. [Электронный ресурс] https://dotnet.microsoft.com (дата обращения 10.06.2019)