четверг, 5 августа 2010 г.

Web 2.0 или на чём пишут сайты

Привет, блогерам masterclas.blogspot.com! В этом топике я хочу сделать небольшой обзор технологий, при помощи которых создают современные, так называемые вебдванольные сайты.


Вообще, современный сайт условно состоит из 2 частей: клиентской(та часть которая собственно отображается в браузере пользователя) и серверной (которая выполняется на сервере, и делает всю незримую работу).




Клиентская часть.

HTML
Первый на очереди: HTML, язык гипертекстовой
разметки, основа любого сайта. HTML описывает содержимое документа, его логическое расположение. HTML-страница это и есть то, что пользователь видит у себя в браузере. Текущая версия HTML, 4.01, была принята ещё в 1999 году, а новая версия HTM5, включающая в себя различные новые плюшки, вроде аудио и видео, до сих пор находится в разработке, и неизвестно, когда будет принята.

CSS
Понятно, что на голый, некрасивый HTML смотреть никому не захочется. Чтобы это исправить, были придуманы CSS: каскадные таблицы стилей. При помощи CSS, почти к любому HTML-ному тегу можно приделать стиль. Начиная от цвета, размера и начертания шрифта, заканчивая расположением объектов относительно друг друга и другими, не менее непонятными непросвещённому человеку штуками. CSS вставляется в HTML-страницу при помощи тега style или подключается из отдельного файла тегом link. Последняя рабочая версия(CSS 2.1) была принята относительно недавно — в сентябре 2009 года. В разработке также находится CSS3, в котором добавлены всевозможные новые возможности, вроде скругления углов и трансформации элементов.

Javascript
Современный сайт не был бы современным, если бы на странице пользователя все элементы были бы статичными и не могли взаимодействовать с пользователем. Чтобы это исправить был придуман язык Javascript, с JAVA, вобщем-то, кроме названия, ничего общего не имеющий. При помощи Javascript можно добиться интерактивности всех элементов на странице. Как например, в этом хабратопике есть возможность оценить его и поднять карму автору. Реализованно это при помощи Javascript и AJAX, о котором будет сказано чуть ниже.
Первая версия Javascript появилась в 1996 году в браузере NetScape. Последняя (пятая) редакция языка была принята в декабре 2009.

SVG
SVG: Scalable Vector Graphics, язык описания маштабируемой векторной графики. При помощи него можно создавать и анимировать векторные изображения. Разработан он W3C ещё в 1999 году, но до сих пор имеет довольно низкую популярность.

Серверная часть

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

СУБД
Для хранения и систематизации данных обычно используются реляционные базы данных, управляемые при помощи СУБД. Для доступа к данным используется структурированный язык запросов — SQL. Данные в базе данных хранятся в так называемых таблицах, каждая из которых представляет собой некоторую сущность.

Для определения логики сайта и подготовки HTML-страниц чаще всего используются следующие языки программирования:

Perl
Созданный Ларри Уоллом еще в 1987 году, изначально задуманый как язык для обработки текстов и составления отчётов, perl получил немалое распространение как язык для веб-программирования, особенно в конце 90-начале 00 годов. Сейчас его популярность в этой области постепенно уменьшается.

PHP
PHP: Hypertext Preprocessor, язык, изначально созданный для создания веб-сайтов Расмусом Лердорфом и впоследствии переработанный Энди Гутмансом и Зивом Зурасски, основавшим позже компанию Zend Technologies. PHP, как самый популярный веб-язык также славится своим низким «порогом вхождения» и как следствие, большим количеством низкоквалифицированных специалистов(aka быдлокодеров). На PHP написано много фреймворков, упрощающих создание сайтов. Самые популярные: Zend Framework, CodeIgniter, Yii, Symphony, CakePHP.

Ruby
Язык Ruby, разработанный Юкихиро Мацумото в 1995 году тоже снискал немалую известность среди сайтостроителей, в основном, за счёт фреймворка Ruby On Rails, позволяющим быстро создавать даже круппные и сложные сайты.

JSP
Java Server Pages — технология сервлетов на языке Java, разработанном компанией Sun Microsystems. Отличие технологии сервлетов от скриптовых языков в том, что вместо того, чтобы каждый раз исполнять сценарии, код страницы единожды транслируется в код сервлета и компилируется в байт-код, за счёт чего получается немалый выйгрыш в производительности.

Python
Python — ещё один скриптовый язык, известный в сайтостроении в основном благодаря фреймворку Django. Python был создан Гвидо Ван Россумом в 1990 году.

ASP.NET
Дотнетная технология, разработанная компанией Microsoft, для работы под управлением Microsoft Windows. По словам Microsoft, ASP.NET является самой совершенной и производительной платформой для создания сайтов. В качестве платформы для написания сайтов немало распостранён ASP.NET MVC Framework.

Технологии

VC
Почти любой фреймворк для создания сайтов, будь то yii или ruby on rails реализует паттерн модель-вид-контроллер (MVC). Его суть состоит в том, чтобы, вместо того, чтобы мешать всё в кучу, разделить на части логику, управление данными и представление информациии. Контроллер получает от пользователя данные и определяет бизнес-логику веб-приложения. Модель отвечает за обработку данных, в том числе, за работу с СУБД. Вид (также известный как отображение) отвечает за конечное формирование страницы, отправляемой пользователю.

AJAX
Вот тут-то и начинается самое интересное. Классически, общение с клиента и сервера происходило следующим образом: клиент запрашивает страницу, сервер отдаёт. И чтобы получить новую информацию с сервера, необходима перезагрузка всей страницы. Понятно, что это не удобно. С целью исправить это недоразумение и была придумана технология AJAX. AJAX это сокращение от Asynchronous Javascript and XML, что подразумевает асинхронную отправку запросов со стороны Javascript с использованием XML, несмотря на то, что JSON используется даже чаще. Просто, в 2005 году, когда и был придуман AJAX, XML был очень модным и его пихали всюду, куда только можно. Асинхронная отправка запросов означает, что браузер, отправив запрос на сервер не приостанавливает свою работу и ждёт получения ответа в фоновом режиме.
Для использования AJAX часто используются различные javascript-библиотеки. Самые популярные из них: jQuery, Mootols, Dojo.

Другие технологии

Flash
Технология от компании Adobe, о которой, наверное, наслышаны все. Она позволяет создавать векторную графику, интерактивные приложения, проигрывать аудио и видео. Не лишина эта технология и недостатков. Основные её недостатки это низкая защищённость и высокая требовательность к ресурсам.

Silverlight

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

Java-апплеты
Апплет — это маленькая программа на Java, исполняемая прямо в браузере пользователя. Java-апплеты используются довольно редко, в основном, из-за сложности их написания и необходимости установки довольно большой виртуальной машины Java на компьютер пользователя. Основная, на сегодняшний день их ниша — интернет-банкинг.

JavaFX
Молодая (2007 год) Java-платформа для создания RIA от компании Sun. Как и java-апплеты, не получила большого признания у разработчиков. Планируется к включению в 7 редакцию JAVA.

Вместо послесловия
Со времён web 1.0, самыми важными новшествами стали динамическая генерация веб-страниц, которая может делаться десатком различных способов, и AJAX, что позволило создавать динамические, и даже «самоконтролируемые сайты». Все клиентские технологии остались неизменными, кроме, разве что так популярного сегодня Flash.

Материал взят с сайта: http://habrahabr.ru

Комментариев нет:

Отправить комментарий