Обзор техник и технологий создания веб-сайтов

Автор: Хакимова Т.В.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 6 (34), 2019 года.

Бесплатный доступ

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

Веб-сайты, фреймворки, системы управления контентом

Короткий адрес: 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)
Статья научная