Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование с нуля - это совсем просто!


Сегодня я расскажу о структуре веб-приложений. Хотя веб-приложения существуют различной сложности и специализации, для знакомства будем рассматривать простой, средне-статистический вариант. К таким веб-приложениям относится большинство сайтов.

Структура веб-приложения

Давайте для простоты будем пока считать, что веб-приложение и веб-сайт - одно и то же. Не всегда веб-приложение является сайтом, и наоборот, но пока нет задачи вдаваться в подробности, поскольку рассматривать будем самый простой вариант.

Чаще всего веб-приложения состоят как минимум из трёх основных компонентов:

  • Клиентская часть веб приложения - это графический интерфейс. Это то, что вы видите на странице. Графический интерфейс отображается в браузере. Пользователь взаимодействует с веб-приложением именно через браузер, кликая по ссылкам и кнопкам.
  • Серверная часть веб-приложения - это программа или скрипт на сервере, обрабатывающая запросы пользователя (точнее, запросы браузера). Чаще всего серверная часть веб-приложения программируется на PHP. При каждом переходе пользователя по ссылке браузер отправляет запрос к серверу. Сервер обрабатывает этот запрос, вызывая некоторый PHP-скрипт, который формирует веб-страничку, описанную языком HTML, и отсылает клиенту по сети. Браузер тут же отображает полученный результат в виде очередной веб-страницы.
  • База данных (БД, или система управления баазми данных, СУБД) - программное обеспечение на сервере, занимающееся хранением данных и их выдачей в нужный момент. В случае форума или блога, хранимые в БД данные - это посты, комментарии, новости, и так далее. База данных располагается на сервере. Серверная часть веб-приложения (то есть, PHP скрипт) обращается к базе данных, извлекая данные, которые необходимы для формирования страницы, запрошенной пользователем.

Это, пожалуй, основные компоненты большинства веб-приложиний. Графически схему их взаимодействия можно представить так:

  • Браузер через Интернет отсылает HTTP-запросы веб-серверу
  • Веб-сервер вызывает PHP-скрипт, написанный разработчиком веб-приложения
  • PHP-скрипт обращается к базе данных, если это нужно
  • В результате PHP-cкрипт возвращает клиенту веб-страницу, которую и отображает браузер.

Язык программирования для серверной части

Для программирования серверной части веб приложения может использоваться язык PHP, как в описанном примере, но не обязательно он. Для разработки веб-приложений можно использовать практически любые современные языки программирования:

  • PHP, Perl
  • Ruby
  • Java
  • .NET
  • С/C++

Независимо от языка, на котором написана серверная часть веб-приложения, способы обработки запросов и взаимодействия с пользователем остаются те же.

В дальнейшем в ходе освоения веб-технологий будем опираться на язык PHP, поскольку он является самым распространённым и самым простым среди всех перечисленных. Конфигурация сервера, включающая себя операионную систему Linux, язык программирования PHP, веб-сервер Apache и СУБД MySQL считается стандартом де-факто для средне-статистического сервера и даже носит название LAMP (от сокращения Linux, Apache, MySQL, PHP).

Язык программирования клиентской части

Основной язык, которым описывается графический интерфейс веб-приложения - это HTML. Этот язык описывает структуру веб-страницы. Художественное оформление веб страниц описывается таблицами стилей - CSS.

Для "оживления" графического интерфейса используются дополнительные технологии: скрипты JavaScript, а также встроенные в веб-страницу компоненты, созданные на Flash, Java или Silverlight. Все эти элементы веб-страницы могут взаимодействовать между собой: программа, написанная на JavaScript и выполняющаяся на веб-странице, может управлять встроенными в страницу компонентами, тем самым реализуя пользовательский интерфейс с богатыми возможностями.

Следующие шаги

Сегодня и в предыдущих выпусках я рассказал (коротко) о технологиях и о структуре веб приложений. Чтобы продолжить, нам понадобится освоить основные технологии, задействованные в веб-приложениях, а также языки, на которых придётся учиться программировать. А для этого, в свою очередь, необходимо обустроить рабочее место: установить среду разработки, веб-сервер и интерпретатор PHP, потому что именно на примере PHP я предлагаю начать освоение веб-технологий.

Пишите и задавайте вопросы на форуме и в комментариях!


В избранное