УДК 004
Хакимова Т.В. студент магистратуры Хакасский государственный университет им. Н. Ф. Катанова
научный руководитель: Голубничий А.А.
старший преподаватель кафедра ПОВТиАС Россия, г. Абакан ОБЗОР ТЕХНИК И ТЕХНОЛОГИЙ СОЗДАНИЯ ВЕБ-САЙТОВ
Аннотация: В статье рассматриваются основные подходы для создания веб-сайтов. Выделяются три принципиальных подхода: создание веб-сайтов на чистых языках программирования, использование веб-фреймворков, использование систем управления контентом. Анализируются конкретные технологии в рамках рассмотренных подходов. Анализируется взаимосвязь подходов.
Ключевые слова: веб-сайты, фреймворки, системы управления контентом
Khakimova T. V. magistracy student Katanov Khakass State University Russia, Abakan Supervisor: Golubnichiy A.A.
Senior lecturer department of computing software and automated systems REVIEW OF TECHNIQUES AND TECHNOLOGIES FOR CREATING WEBSITES
Abstract:
The article discusses the main approaches for creating websites. There are three fundamental approaches: the creation of websites in pure programming languages, the use of web frameworks, the use of content management systems. Specific technologies are analyzed within the framework of the considered approaches. Analyzed the relationship of approaches.
Keywords: websites, frameworks, content management systems
Для реализации проекта в виде веб-сайта, существует три принципиально отличных друг от друга подхода: написание проекта на чистом языке программирования, использования фреймворков и использование готовых систем управления контентом (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 @ ^ ® Ю0.0
2. С + + 98.4
3-е ОС» 98.2
4-. Java ф □ L^i 97.5
■ С# ФП^ 89.8
. РНР © - R Q 85.4
83 3
. JavaScript ф Q ■Go ® Q 82.8
76.7
Э. Assembly 74.5
Рисунок 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, а также структуры каталогов для приложений и проектов.
I-1-1- —I • -1-1-1-1-1-1
Jan-09 Jan-10 Jan-11 Jan-12 Jan-13 Jan-14 Jan-15 Jan-16 Jan
Рисунок 2 - Изменение рейтинга популярности фреймворков Flask и
Django
Django существует дольше - первое издание было в 2005 году, в то время как Flask появился в 2010. Django также является более популярным -в январе 2017 в StackOverflow насчитывалось 2631 вопросов о Django, и лишь 575 о Flask. Оба фреймворка набирают популярность, если мы берем StackOverflow в качестве мерила.
Реализация проекта с использованием систем управления контентом. Системы управления контентом (Content Management System, CMS) - это уже готовые решения, в большей степени напоминающие обычные конструкторы. Необходимый проект в данном случае не пишется в чистом виде, а, по сути, просто собирается из необходимых структурных элементов (модулей) и настраивается в соответствии с требованием заказчиков. Количество ограничений в данном случае огромное, выйти за пределы «коробочного решения» можно, но затруднительно. CMS - один из наиболее популярных вариантов реализации сайтов, однако, с использованием CMS пишутся не большие проекты.
Все рассмотренные уровни реализации проекта взаимосвязаны, так на чистом языке пишутся различные фреймворки, а из фреймворков уже собирают CMS.
Использованные источники:
1. Welcome to Python [Электронный ресурс] https://www.python.org (дата обращения 10.06.2019)
2. java.com: Java и вы [Электронный ресурс] https://www.java.com/ru/ (дата обращения 10.06.2019)
3. .NET | Free. Cross-platform. Open source. [Электронный ресурс] https://dotnet.microsoft.com (дата обращения 10.06.2019)