Вообще, современный сайт условно состоит из 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
Комментариев нет:
Отправить комментарий