СОВРЕМЕННЫЕ СРЕДСТВА ВЕБ-РАЗРАБОТКИ
В.В. Богатырев, студент Научный руководитель – В.К. Сафина, к.пед.н., доцент
Негосударственное образовательное учреждение высшего профессионального образования «Университет управления «ТИСБИ», г. Казань
E-mail: vitald3@yandex.ru
В нашу эпоху развитых технологий сложно игнорировать широко распространенный инструмент передачи информации – Интернет. По последним данным около половины населения Земли имеют доступ в сеть, а по-мнению, видных социологов доступ в интернет следует приравнять к основным правам человека.
Всемирная паутина, прошедшая свой тернистый путь через эпоху «Веб 1.0», когда стандарты веб-разработки только начали появляться, и переродившаяся в наше время в новом облике «Веб 2.0», не прекращает свое развитие и продолжает совершенствовать концепции и инструменты разработки. Обзору этих инструментов и посвящена данная статья.
Очевидным для каждого интернет-пользователя является принцип разделения всемирной сети на отдельные сайты, с точки зрения разработчика куда интереснее узнать, из чего состоит типичный веб-сайт. Важно понимать, что те страницы, что видит в конечном счете пользователь на сайте, есть результат программной разработки на нескольких уровнях.
Первым и особо важным для крупных и полнофункциональных сайтов уровнем является уровень сервера. Полностью невидимый для конечного пользователя данный уровень представляет собой ядро всего сайта. Типичными и особо распространенными средствами для программной реализации этой части сайта являются язык программирования PHP и система управления базами данных MySQL. Язык PHP представляет собой скриптовый мультипарадигменный язык программирования. Конкуренцию данному инструменту могут составить такие языки программирования как Python (включая фреймворки Django, TurboGears и web2py), Ruby (включая фреймворк Ruby on Rails), программная платформа Node.js и технология ASP.NET. При более внимательном рассмотрении можно заметить, что языки программирования PHP, Python и Ruby являются языками программирования общего назначения, а для работы требуют наличия интерпретатора. В тоже время, проект Node.js включает в себя целую программную платформу, в основе которой лежит движок V8, что позволяет использовать для разработки серверной части веб-приложений язык JavaScript, что превращает данный узкоспециализированный язык в язык общего назначения. Технология ASP.NET, в свою очередь, включает в себя целый набор средств для реализации веб-приложений и вебсервисов и позволяет использовать для разработки любой язык программирования из доступных на платформе .NET.
Одной из задач функционирования серверной части веб-приложения является поддержка веб-интерфейса приложения, что сводится, в конечном счете, к динамической генерации html-страниц. Ни для кого не секрет, что язык HTML не является языком программирования, а служит исключительно для разметки документа, а применяется обычно в связке с языком описания внешнего вида CSS, позволяющим снабдить html-страницу любыми дизайнерскими изысками. Поэтому уместен вопрос, какие существуют средства для создания интерактивных веб-приложений. Ответом на этот вопрос является обзор инструментов для реализации клиентской части веб-приложения, представленный далее.
Так называемым монополистом в области разработки клиентской части вебприложений является язык JavaScript, созданный с единственной целью – придать статичным страницам интерактивности. Стоит отметить, что благодаря выше упомянутому проекту
Node.js, существует и активно используется возможность написания обеих частей вебприложения (и серверной, и клиентской) с использованием одного языка программирования – JavaScript. О плюсах и минусах данного языка сказано достаточно много; именно наличие недостатков в JavaScript зачастую и приводит к созданию альтернатив. Важно понимать, что большинство языков, описываемых далее применяют принцип трансляции кода в JavaScript и, в некотором смысле, представляют собой скорее пример синтаксического сахара, нежели полноценного языка программирования.
Самой известной альтернативой языку JavaScript является язык CoffeeScript. Основной целью его создания является упрощение использования JavaScript, а золотым правилом является лозунг «Это просто JavaScript». Для получения конечного кода, CoffeeScript использует собственный транслятор, входящий в перечень утилит проекта Node.js. Стоит отметить, что синтаксис данного языка прежде всего отличается от конечного кода на JavaScript своей краткостью и использованием довольно оригинальных синтаксических конструкций (например применением постусловия if).
Помимо CoffeeScript существуют и более фундаментальные альтернативы, например Dart и TypeScript. Оба языка отличаются от JavaScript наличием статической типизации и поддержкой полноценных классов. Основной задачей языка Dart является упрощение создания структурированных веб-приложений, в то время, как язык TypeScript прежде всего направлен на создание больших веб-приложений.
Также альтернативой для перечисленных выше языков является такой программный инструмент как Opal, представляющий собой компилятор языка Ruby в конечный код на JavaScript. Помимо прочего особого внимания заслуживает язык LiveScript, являющийся ответвлением языка CoffeeScript и предоставляющим разработчику возможность использовать функциональный стиль программирования.
Подводя итог, следует отметить, что разработка веб-приложений или веб-сайтов порой является довольно трудоемкой задачей, в решении которой задействованными оказываются целые команды разработчиков. Можно сказать, что разработка веб-проектов представляет собой пример разработки информационной системы. Вместе с возрастающим уровнем сложности таких проектов, возрастает и необходимость в выборе правильных инструментов для программной реализации. Представленный выше краткий обзор современных средств разработки веб-приложений не претендует на право зваться исчерпывающим и является, в первую очередь, попыткой формализовать перечень самых известных и широко применяемых в данной сфере разработки инструментальных средств.
Список литературы:
1.https://secure.php.net/manual/ru/preface.php – Предисловие к руководству по PHP
2.https://wiki.python.org/moin/WebFrameworks – Описание веб-фреймворков
Python
3.http://rubyonrails.org/ – Официальный сайт проекта Ruby on Rails
4.https://nodejs.org/en/ – Официальный сайт проекта Node.js
5.http://www.asp.net/ – Официальный сайт ASP.NET
6.http://coffeescript.org/ – Официальный сайт проекта CoffeeScript
7.https://www.dartlang.org/ – Официальный сайт проекта Dart
8.http://www.typescriptlang.org/ – Официальный сайт проекта TypeScript
9.http://opalrb.org/ – Официальный сайт проекта Opal
10.http://livescript.net/ – Официальный сайт проекта LiveScript