Подход на основе интерпретируемых сценариев
В этом случае для создания сайта применяются серверные скрипты так называемые языки сценариев. Код сценариев, как и НТML-код, является интерпретируемым кодом, поэтому HTML и сценарии можно комбинировать. Наиболее распространенные языки серверных скриптов: Perl, ASP, JSP, PHP, Cold Fusion, Ruby, Python.
Сценарии взаимодействуют с объектами на сервере и генерируют выходную информацию в формате HTML. Тип серверного скрипта определяется по расширению имени файла (.php, .asp, .aspx, .jsp, .cfm). Если Web-сервер получает запрос на страницу такого типа, то он интерпретирует все содержащие в ней сценарии, в результате чего генерируется веб-страница в формате HTML, которая передается обратно браузеру.
Наиболее популярными технологиями (средой разработки) создания динамических веб-страниц являются: CGI, PHP, Ruby, ASP, ASP.NET, JSP, Cold Fusion, AJAX, Python, CSS, базы данных DB2, MsSQL, Oracle, Access и т.д.
В зависимости от решаемых задач для создания сайта выбирают тот или иной язык серверных скриптов. Для создания малых и средних интерактивных сайтов целесообразно применить язык сценариев PHP. Конкурентами PHP являются технологии Ruby, Python, ASP, JSP, Cold Fusion, Perl. Достоинством языка PHP является то, что он является бесплатным, имеет открытые исходные коды и работает почти на всех платформах.
Для создания (разработки) и сопровождения динамических сайтов используют CMS (Content Management System) - Систему управления сайтом, которую называют движком сайта. В настоящее время популярными системами управления являются Drupal, Joomla, WordPress, DotNetNuke (DNN), MODX, DataLife Engine и др. На основе этих CMS можно создавать функциональные и легко управляемые сайты. Для создания узкопрофильных сайтов, например, интернет магазинов, применяются такие CMS как VamShop, OpenCart и т.д.
Движки для Drupal, Joomla, WordPress, DotNetNuke и MODX являются бесплатными. Средства разработки сайтов CMS обеспечивают разделение содержательной части (контента) от дизайна (шаблона веб-страницы), что позволяет изменять содержание веб-страниц, не затрагивая их дизайна и изменять шаблон сайта не затрагивая содержания его страниц.
Во время учебного процесса целесообразно создавать динамические интерактивные сайты, например, с помощью движка Joomla. Этот движок имеет множество модулей: форумы, гостевые книги, почтовые рассылки, контакты, опросы, формы регистрации, формы поиска, систему обмена сообщениями между пользователями сайта и другие компоненты, которые превращают сайт из средства информации в средство коммуникации.
Создавать сайты на основе движков можно двумя способами:
1) в файловой системе ПК на WebServers;
2) непосредственно на хостинге с предустановленной CMS (WordPress, Joomla и т.д.).
Предпочтительный вариант — это создание сайта на основе движка в файловой системе ПК, а затем его можно установить (закачать) на хостинг. Для этого на диске ПК надо установить WebServer (например, установить и активизировать Denwer на основе набора модулей Apache). Затем скопировать архивный файл CMS, например, Joomla.zip, и разархивировать его в созданную папку (например, less) директории home пакета Denwer. Настроить сайт на WebServers вашего ПК и затем закачать на платный или бесплатный хостинг, который вы выберите по своему усмотрению.
Сайты можно легко создавать из готовых блоков с помощью онлайн конструктора веб-сайтов. Эти конструкторы размещаются на сайтах (saitodrom, ucoz, xmarks и т.д.) и являются одной из дополнительных бесплатных услуг сервис-провайдеров. Как правило, в этом случае на базе домена второго уровня, который принадлежит хостингу сервис-провайдера, вы можете назначить созданному сайту только домен третьего уровня.
Динамические сайты, веб-страницы которых генерируются на стороне клиентского приложения
Для создания таких сайтов используют языки сценариев JavaScript и VBScript, а также Java-апплеты и технология ActiveX. В Интернете на сайте http://baikalstudio.ru/ можно скачать движок для создания сайта на JavaScript для бесплатных хостингов.
Flash–сайты
Технология Flash предназначена для создания векторных графических приложений. С помощью Flash можно создать полноценную страницу-ролик для Web, но при этом информация разбивается на крупные файлы, для загрузки которых требуется много времени. В настоящее время более целесообразным является применение Flash в качестве элементов дизайна в HTML-документах (например, для создания логотипов, флэш-меню, информеров и других анимированных графических элементов), в качестве анимированных flash-баннеров и входных flash-заставок.
Flash целесообразно использовать там, где мало текста, но где требуются звуковые или анимационные эффекты, т.е. там, где флеш обеспечивает создание векторных анимационных файлов с небольшим временем загрузки. Основные недостатки этой технологии создания полноценных Flash-сайтов: большой вес веб-страниц и высокая стоимость разработки сайтов.
Кроме того, сайты, созданные полностью на основе Flash, плохо индексируют поисковые системы. Флеш-технологии в основном применяются для создания престижных сайтов. Для создания флеш-анимаций применяют технологию Adobe Flash, которая обеспечивает возможность работать с языками: ActionScript и ActionScript 2.0.
Инструменты создания сайтов
Для создания современных сайтов обычно используются: HTML, CSS, JavaScript (или VBScript), FLASH, PHP (или Perl) и реляционная база данных MySQL.
Клиентская среда (браузер, например Internet Explorer) является передним краем работы приложения. В этой среде, отображаются HTML-страницы и обслуживаются истории сеансов HTML-страниц, отображаемых в браузере в течение сессии. Объекты этой среды, следовательно, обязаны иметь возможность манипулировать страницами, окнами и историей. Для этого и нужен клиентский язык - JavaScript.
При работе с сервером необходим язык PHP (или Perl) и реляционная база данных MySQL.
HTML
HTML – это не язык программирования и не язык оформления документов. Это, в первую очередь, средство разметки текста. Ваша первоочередная задача - разметить текст, описать с помощью тэгов его структуру, сказав: "Это - параграф, это - цитата, это - список, а это - раздел".
Язык HTML содержит достаточное количество элементов, позволяющих оформить документ по вашему вкусу. Если вас не устраивает способ оформления документа браузером (хочется изменить шрифт, предложенный по умолчанию, или сделать его помельче) - добавьте HTML-тэги форматирования текста. Если и после этого внешний вид документа вас не устраивает, нанесите последний штрих: воспользуйтесь таблицами стилей (CSS).
XHTML
Язык XHTML представляет собой смесь XML и HTML, которая постепенно заменяет HTML.
CSS
CSS (Cascading Style Sheets) — язык таблиц каскадных стилей. Он разработан для того, чтобы расширить возможности по оформлению Web-страниц.
Для чего нужен CSS?
CSS используется веб-разработчиками для задания внешнего вида (шрифтов, цветов, отступов, расположения и др.) веб-страниц. CSS разработан для отделения основного содержимого документа (написанного на языке разметки, например HTML) от оформления этого содержимого (написанного на CSS). Такое отделение предоставляет веб-разработчикам большую гибкость, упрощает задание внешнего вида документов и оформление повторяющихся элементов разметки.
При использовании HTML и CSS важно понимать, следующее:
• HTML-код формирует текст логически, т.е. задает структуры Web-страницы: расположение и порядок следования абзацев, графических изображений, строк и ячеек в таблице и особое значение отдельных фрагментов текста.
• Таблицы стилей CSS формируют тексты физически, т.е. задают представление Web-страницы: каким шрифтом будут набраны обычный текст абзацев, каким цветом выделить заголовки, будут ли у таблицы рамка и пр.
Правила хорошего тона Web-дизайна требуют, чтобы представление Web-страницы было отделено от ее структуры. Поэтому профессиональные Web-дизайнеры по возможности выносят определение стилей CSS в отдельные файлы (таблицы стилей).
К тому же, HTML-код, не загроможденный определениями стилей, становится более читабельным. Дело в том, что в HTML одновременно присутствуют теги логического и физического форматирования Web-страниц. Так, существуют теги выделения текста полужирным шрифтом <b> и <strong>, также теги <i> и <em> выделения текста курсивом. Однако теги физического форматирования <b> и <i> просто выделяют текст (поэтому они признаны устаревшими и не рекомендованными к использованию), но теги логического форматирования <strong> и <em> не просто выделяют текст, но и придают ему особую важность. Если загрузить Web-страницу в специальный Web-обозреватель для незрячих, то он прочитает текст Web-страницы вслух, выделяя при этом содержимое тегов <strong> и <em> особой интонацией.
Каскадные таблицы стилей по сути своей не динамичны. Они позволяют определять, как будет выглядеть документ при загрузке и не более того. Но свойства Web-страниц, созданных с помощью CSS, можно динамически менять посредством языка JavaScript.
DOM
DOM (Document Object Model) – объектная модель документа, которая позволяет динамически менять Web-страницу, используя язык написания сценариев. DOM ставит каждому элементу или объекту, определенному с помощью атрибута ID (идентификатора объекта), функцию JavaScript. А с помощью таких функций можно управлять свойствами атрибутов объекта, заданных через CSS.
Атрибут ID поддерживается всеми видимыми HTML-тегами. Его значение уникальное собственное имя элемента на странице, то есть на странице не должно быть нескольких элементов с одним id, в отличии от элемента class, который является вольным признаком для нескольких элементов. ID – основное понятие динамического HTML (DHTML). С его помощью JavaScript определяет уникальный объект, и которым можно управлять с помощью JavaScript.
DHTML
На самом деле языка DHTML нет.
Динамический HTML – это коммерческий термин, придуманный для описания технологий, которые были введены в четвертой версии Web-браузеров и позволяли обходить ограничения HTML.
DHTML представляет собой комбинацию Web-стандартов:
CSS + JavaScript + DOM + ХHTML = DHTML
где:
CSS – определяет атрибуты объектов,
JavaScript – изменяет объекты,
DOM – находит объекты,
ХHTML – создает объекты (выполняет разметку текста).
Созданная на основе DHTML страница может изменяться без обращения к серверу за дополнительными данными, т.е. представляют собой клиентский код (client-side-code), который в свою очередь, позволяет существенно увеличить интерактивность Web-страниц.
Преимущества DHTM | Недостатки DHTML |
Поддерживается всеми браузерами | Разный вид Web-страниц из-за несовместимости браузеров и операционных систем. |
Использует стандартные технологии | JavaScript и CSS весьма чувствительны к ошибкам в синтаксисе |
Можно вносить изменения в Web-страницу после ее загрузки | Ненадежная работа в связи с ошибками в браузерах |
Текстовые файлы DHTML загружаются быстрее, чем Flash и Java | |
Не требует модулей расширения | |
Прост в изучении | |
Высокая скорость разработки Web-страниц |
FLASH
Flash одновременно является и программой (Flash, Macromedia Inc.) и файловым форматом (расширение .swf).
Преимущества Flash | Недостатки Flash |
Платформенная независимость, т.е. страницы созданные при помощи Flash выглядят одинаково в разных операционных системах и различных браузерах | Flash-технология сложна в изучении |
Распространенность и предоставление дизайнерам огромное количество инструментов. | Не желание многих пользователей Интернет обновлять версии проигрывателей Flash, и следовательно многие новые Flash-модули не работают |
Правильно созданные Flash-файлы занимают мало места и достаточно быстро загружаются | Проблемы с интерфейсом и его стандартизацией |
Долгая загрузка из-за большого объема графических файлов |
Flash и DHTML
Дизайнерам Web-сайтов часто приходится делать выбор между Flash и DHTML. Если DHTML позволяет работать с интерактивностью при помощи HTML, CSS и JavaScript, то Flash представляет собой некоторый объект, встраиваемый в HTML-страницу, и является отдельной Internet-технологией.
Для того, чтобы определить Flash или DHTML, необходимо определить, что будет размещено на вашем сайте:
1. Для использования на сайте эффектов мультимедиа больше подходит Flash.
2. Для сайтов с большим количеством текстов больше подходит DHTML и HTML. Даже несмотря на значительные успехи Flash в использовании технологий печати страниц, он не может заменить HTML.
Языки программирования в Интернет
Все языки программирования, используемые при разработке Web-сайтов, можно разделить на две большие группы.
К первой относятся те из них, код которых выполняется на компьютере посетителя сайта — в его браузере. Это всем известные JavaScript, VBScript, Java-апплеты. Программы, написанные на этих языках, встраиваются в код Web-страниц (или выносятся в отдельный файл с вызовом из Web-страницы).
Во вторую группу попадают те языки, программы на которых выполняются на том компьютере, где расположен Web-сервер. Эта группа гораздо обширнее, именно к ней и относится PHP. Однако от своих собратьев он выгодно отличается своей простотой. Создавая программы на этом языке, нет необходимости учитывать все те многочисленные мелочи, которые отравляют жизнь программистам на C++ или Perl: не надо заботиться о правах доступа к файлам сценария или прописывать точные пути к различным модулям и т. д. Для тестирования PHP-программ на локальном компьютере необязательно устанавливать на нем ту же операционную систему, что и у провайдера хостинга сайта, где они будут применяться,— достаточно лишь загрузить соответствующий Web-сервер и подключить к нему модуль PHP и целиком сосредоточиться на решаемой задаче.
Программы, написанные на PHP, выполняются на стороне сервера, т.е. начинают работать до загрузки страницы после подачи вашего запроса (например, ввода адреса). Они обрабатываются программой-сервером и в качестве ответа на ваш запрос выдают динамически (т.е. в зависимости от запроса, интерактивно) генерируемые страницы. Эти страницы могут содержать как стандартные HTML-тэги, так и «скрипты» (маленькие программы WEB-приложения, выполняемые на стороне клиента), написанные на JavaScript или VBScript, которые начнут выполняться после полной загрузки браузером сгенерированной на сервере страницы.
JavaScript и VBScript предназначены, в основном, для придания динамичности (подвижности) вашей страничке — выпадающие «менюшки», мерцающие кнопочки, эффектные переходы и т.п. Функции JavaScript, позволяют работать только с ресурсами клиентской машины и только с вашей локальной файловой системой.
Скорость выполнения скрипта или программы
Среди локальных наивысшим быстродействием обладает JavaScript, среди серверных рекордсменом по обработке небольших объемов данных и текста является Perl. PHP — на втором месте, но при этом имеет широчайшие возможности доступа практически к любым серверам баз данных.
Секретность
Скрипты на JavaScript и VBScript встраиваются непосредственно в web-страницу и остаются видны в коде страницы во время ее просмотра. То есть исходный текст любого скрипта, написанного на встроенном языке, мы можем просмотреть, открыв HTML-код страницы. Естественно, ни о какой секретности, безопасности или соблюдении авторских прав в данном случае речь не идет — кто захочет, тот и просмотрит, скопирует и переделает на свой лад. Программы на Perl пишутся в виде отдельных файлов и подключаются к странице с помощью директив SSI, тэгов IFRAME или IMG. При этом в коде страницы мы получаем результат выполнения скрипта, а не его исходный код. Режим секретности — максимальный. Программы на PHP, так же как и на JavaScript, встраиваются в тело страницы и, но как и Perl-программы, возвращают пользователю только результат выполнения.
JavaScript
Популярность языка JavaScript связана с его широкими возможностями по взаимодействию с элементами веб-страницы без ее перезагрузки. Это позволяет прятать и показывать фрагменты дизайна, перемещать их и менять оформление. Путем таких действий можно создавать презентационные эффекты, меню, небольшие игры, обрабатывать данные форм и управлять содержимым.
Поддержка слоев
Слои предоставляют собой фрагменты HTML, которые можно размещать на веб-странице путем наложения их друг на друга с точностью до пикселя. Слои все больше приобретают признание как средство верстки веб-страниц и создания разных эффектов. Частично это связано с тем, что их параметры легко меняются динамически через скрипты, что дает возможность создавать меню и другие выразительные средства дизайна.
Работа с формами
Через скрипты удобно получать и обрабатывать любые данные форм, это позволяет проверить информацию на правильность ввода перед ее отправкой на сервер. Можно создать «защиту от дурака» для контроля того, чтобы в элементы форм вводились корректные сообщения. Так, если в текстовом поле просят ввести число, следует сразу пресекать возможность ввода нечисловых символов.
Работа с изображениями
Через скрипты можно делать предварительную загрузку изображений. Еще до прямого обращения к изображениям, браузер помещает их в свою память, чтобы по мере необходимости быстрее отобразить в документе. Основные параметры изображений, такие как: ширина, высота картинок и адрес графического файла, тоже можно менять динамически. Это позволяет создавать эффект перекатывания, когда рисунок меняется на другой при наведении на него курсора мыши и обратно, когда курсор уводится с изображения. Подобным методом делаются и галереи фотографий — смена изображений происходит в пределах одной страницы.
Определение даты и времени
Очень любимая почему-то многими дизайнерами возможность вставлять текущую дату, и даже время к себе на страницу, реализуется с помощью объекта Date, специально созданного для работы с датой. Все что можно получить от времени, здесь уже есть.
Работа с cookies
JavaScript поддерживает полноценную работу с cookies — небольшие текстовые файлы на локальном компьютере, в которых сохраняется техническая информация. Cookies можно использовать для сохранения даты последнего посещения читателя, паролей, а также любой информации о действиях посетителя на сайте. Подобное применение позволяет персонализировать сайт и сделать его более удобным для посетителей.
Отслеживание событий
Событием называется определенное действие пользователя или изменение состояния документа. JavaScript отслеживает большинство событий и позволяет определять реакцию на них. Например, при загрузке веб-страницы происходит событие onLoad. Если необходимо запустить скрипт сразу после загрузки документа, следует этому событию назначить функцию, которая будет выполняться при его наступлении.
Создание новых окон
Скрипты позволяют создавать новые окна, задавать у этих окон вид отображения и формировать их содержимое. Причем, у созданных таким способом окон можно отключать адресную строку, полосы прокрутки, меню и управлять их размером и положением на экране.
Проверка браузера
Подход разных браузеров к объектной модели, хоть и стандартизирован, но еще не всеми до конца принят. Поэтому для создания универсального документа, одинаково работающего везде, приходится делать проверку, какой в данный момент используется браузер, и давать ему подходящий код.
Математические функции
JavaScript содержит все необходимые арифметические операции, поддерживает все стандартные математические функции, как с целыми числами, так и с плавающей точкой.
Управление содержимым документа
Через метод write() можно вставлять любую информацию в уже созданный документ, например, сегодняшнюю дату. А также формировать полностью новый документ динамически. Это позволяет учитывать особенности поведения различных браузеров и операционных систем, выводя для них свой собственный текст.
Разумеется, здесь описаны не все возможности языка JavaScript, но и указанного достаточно, чтобы понять, что это мощное, гибкое, универсальное и удобное средство расширить возможности веб-страниц.
При разработке приложения JavaScript необходимо помнить о разнице между клиентской и серверной платформами.
PHP
PHP — это язык программирования, предназначенный для создания сайтов. PHP позволяет автоматизировать работу с сайтом. Это скрипт-язык, встраиваемый в HTML, который интерпретируется и выполняется на сервере. Отличие PHP от JavaScript, состоит в том, что PHP-скрипт выполняется на сервере, а клиенту передается результат работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется.
В прошлом веке, чтобы создать сайт «на мировом уровне», достаточно было просто уметь работать с HTML и обладать художественным вкусом. Спустя некоторое время требования усложнились: использование JavaScript и Dynamic HTML стало рутинным, а дизайн страниц, не имеющих подобных «украшений», считался устаревшим. Вскоре правилом «хорошего тона» для корпоративного сайта стало применение сложных программ на Perl или C++. Однако Web-дизайнеры не желали мириться с такой ситуацией. И на свет появился PHP — язык программирования, обладающий возможностями сложных скриптовых языков, но в то же время удивительно простой и легкий в изучении и применении.
Почему нужно выбирать PHP?
PHP является внедряемым языком сценариев. Цель языка состоит в том, чтобы позволить веб-разработчикам быстро создавать динамически генерируемые страницы. Кроме того, разработчикам Web-приложений нет необходимости говорить, что web-страницы — это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем: поиск информации, продажа продуктов, конференции и т.п. PHP работает как часть Web-сервера. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти. Программы, написанные на PHP, достаточно легко читаемы. Написанный PHP – код легко зрительно прочитать и понять.
Возможности PHP:
На PHP можно сделать все: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать сеансы - куки (cookies). Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым. Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам. PHP может серьезно облегчить работу создателя сайта. С помощью команды include() можно автоматически вставлять один и тот же фрагмент HTML-кода во множество страниц, просто поместив в них эту команду с именем файла, содержащего код общей части. В результате для обновления такой общей части будет достаточно отредактировать один файл — тот, который ее, собственно, и содержит, и соответственно изменятся все остальные страницы. Также, при обновлении новостей редактированию придется подвергать лишь сам их текст, а не HTML-код заглавной страницы, что и самому делать легче, и неопытному помощнику доверить можно.
Помощь Web-мастеру и службе поддержки Web-ресурса — это лишь весьма малая часть функций PHP. Этот язык позволяет значительно обогатить сайт огромным количеством новых функций. Так, с помощью функции mail() легко обеспечить отправку почтового сообщения по какому-либо адресу со страниц сайта и т. д.
Одним из наиболее заметных достоинств PHP является возможность легкой работы с серверами баз данных. Для этого достаточно установить на Web-сервере программу работы с базой данных (наиболее часто используется бесплатная MySQL) и включить в текст PHP-сценария команды работы с нею. Возможности языка весьма серьезно расширяются с помощью дополнительных модулей, содержащих различные функции. Они при необходимости размещаются там же, где установлен PHP-интерпретатор, а загрузить их можно с адреса www.php.net, там же, в разделе документации, приведено и полное описание работы с ними. Например, модуль Zlib позволяет работать из программы на PHP с архивами в формате Gzip, а Libswf — с Flash-презентациями, создавая их и редактируя прямо на сервере. Так как PHP — развивающийся язык, то новые модули появляются довольно часто. Однако применять их получится только после установки на Web-сервер, чему провайдеры хостинговых услуг могут и воспротивиться. Поэтому при желании использовать функции из какого-либо модуля (да и самого языка PHP) сначала необходимо проверить, поддерживает ли их Web-сервер, на котором вы собираетесь хостить сайт. Сделать это довольно просто, разместив на сервере страницу со строчкой <?php phpinfo() ?> и загрузив ее с сервера в браузер (на ней будет отображена информация о версии PHP, параметрах Web-сервера и многом другом, в т. ч. дополнительных модулях).
Недостатки PHP:
По свой идеологии PHP изначально был ориентирован на написании небольших скриптов. PHP является интерпретируемым языком, и, вследствие этого, не может сравниться по скорости с компилируемым С. Однако при написании небольших программ, что, в общем-то, присуще проектам на PHP, ему просто нет равных.
Программа, написанная на языке РНР, выполняется на сервере. Браузер посылает серверу запрос на страницу с PHP-кодом. Сервер отдает эту страницу на исполнение интерпретатору PHP, интерпретатор генерирует HTML-код, отдает серверу, а сервер посылает клиенту. Никакого РНР кода в браузер не попадает! Увидеть исходный PHP-код невозможно!
РНР не выполняется в браузере. РНР находится на сервере и ждет новых запросов с данными для обработки. PHP, но не скрипт! Это программа, которая выполнилась на сервере, отдала пользователю HTML-страницу и завершил работу. Все данные, которые были в нем — пропали. Именно поэтому, если какая-то переменная нужна при последующих вызовах, ее надо передать снова.
Из того факта, что PHP исполняется на сервере, и посылает результат своей работы браузеру, следует один простой, но очень важный вывод. PHP в принципе не может отобразить в браузере ничего такого, что невозможно было бы сделать средствами HTML.
Прежде, чем изучать PHP необходимо изучить хотя бы основы HTML!
Применение PHP можно разделить на три группы:
1. Самое простое (но очень мощное) применение - это использование PHP для создания сайтов из модулей. Записать все неизменяемые части сайта в отдельные файлы (меню, шапку, тело) и вместо того, чтобы писать одно и то же на каждой странице, просто вызывать вложение соответствующего модуля. Это уже значительно облегчит работу с сайтом. К примеру, если добавится новый пункт в меню...
2. Следующий этап - создание отдельных небольших программок. Это может быть голосование, гостевая книга, конференции «форум» и пр. PHP применяется тогда, когда нужно какую-то информацию хранить на сервере. К примеру, гостевую книгу на JavaScript написать можно, но вот... увидит её сообщения только тот, кто их добавлял.
3. Победное шествие PHP па планете началось в тот миг, когда кому-то пришла в голову замечательная идея: Не добавлять материалы на сайт не обычным способом, закачивая HTML файлы по FTP, а забивая текст в форму, как сообщение в гостевую книгу. В этом случае пишутся две программы, одна из которых позволяет администратору добавить информацию на сайт, а вторая - показывает эту информацию посетителям. Сегодня так устроены практически все современные сайты. Первоначально PHP было сокращение от Personal Home Page, теперь это означает Personal Hypertext Preprocessor.
MySQL
MySQL – это быстрая и мощная система управления базами реляционными данных. Она позволяет эффективно хранить, искать, сортировать и выбирать информацию. Работа с базой данных имеет как преимущества, так и недостатки.
Достоинства | Недостатки |
Значительное сокращение кода (иногда в 2-3 раза) по сравнению с файловыми вариантами WEB-приложений, что сокращает время разработки и упрощает процесс отладки | Зависимость приложения не только от работоспособности WEB-сервера, но и от работоспособности сервера данных. Вероятность того, что один из двух серверов выдей из строя выше, чем при использовании одного сервера |
Высокая скорость выполнения процедур запросов в СУБД, написаны компилируемом языке С, который на два порядка производительнее интерпретируемого языка PHP | Работа с файловой системой осуществляется быстрее, чем при использовании СУБД. Так, поисковая система Google, известная высокой скоростью обработки запросов, основана на модели плоских файлов и не использует базы данных |
Применение СУБД вызвано в основном из-за того, что информация в Интернет может отображаться как пассивно (то есть пользователь может только считывать её), так и активно — тогда пользователь может добавлять информацию и редактировать её. Это: гостевые книги, форумы, чаты, блоги, wiki-проекты, системы управления контентом и т.п.
Преимущества использования СУБД в этом случае очевидны: все рутинные операции по записи, поиску и извлечению информации берет на себя сервер SQL, программисту остается только сосредоточиться на логике WEB-приложения. MySQL управляет доступом к данным, позволяя работать с ними одновременно нескольким пользователям, при этом гарантируя предоставление доступа только тем пользователям, которые имеют на это право. СУБД стала стандартом для использования в WEB-приложениях благодаря своей производительности, простоте установки и обслуживании.
AJAX
Сейчас WEB-проекты становятся все сложнее и соответственно медленнее происходит их выполнение, что в некоторых случаях значительно раздражает пользователей. Да и разработка занимает длительное время. Решение этой проблемы лежит в двух направлениях:
1. Шаблоны. В настоящее время разработка WEB приложений стремится к разграничению клиентской части и серверной, этим и обуславливается повсеместное использование шаблонов. Переплетать между собой различные технологии становиться слишком дорого для времени разработчика. Так, например, все стили форматирования выносятся в CSS или в XSL файлы, HTML или XML данные хранятся в других разделах, серверные обработчики в-третьих, базы данных в четвертых. И если еще 5-6 лет назад практически везде можно было увидеть переплетение всего этого в одном файле, то сейчас это все чаще становиться редкостью.
При разработке более сложных проектов возникает необходимость в структурированности и удобочитаемости кода. Не следует засорять код программиста кодом верстальщика, а код верстальщика - правками дизайнера, и так далее. Возникает необходимость в разграничении работы этих специалистов. Так, например, дизайнер будет делать свою работу, верстальщик свою, программист свою, и при этом никто друг другу мешать не будет. В итоге каждому участнику проекта достаточно будет знать только те данные, с которыми ему придется работать. В таком случае производительность группы и качество проекта повышается в разы.
2. AJAX – это радикально новая технология. Попробуйте представить JavaScript, который обладает всем возможностями PHP или Perl, включая работу с графикой и базами данных, который имеет гораздо более удобную расширяемость и практичность.
AJAX (Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными. AJAX - один из компонентов концепции DHTML.
Преимущества | Недостатки |
Экономия трафика Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только небольшую изменившуюся часть | Интеграция со стандартными инструментами браузера Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад» предоставляющая пользователям возможность вернуться к просмотренным ранее страницам, но существуют скрипты, которые могут решить эту проблему. Другой недостаток изменения содержимого страницы при постоянном URL заключается в невозможности сохранения закладки на желаемый материал. Частично решить эти проблемы можно с помощью динамического изменения идентификатора фрагмента (части URL после #), что позволяют многие браузеры |
Уменьшение нагрузки на сервер AJAX позволяет несколько снизить нагрузку на сервер. К примеру, в Gmail, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту | Динамически загружаемое содержимое недоступно поисковикам Поисковые машины не могут выполнять JavaScript, поэтому разработчики должны позаботиться об альтернативных способах доступа к содержимому сайта |
Ускорение реакции интерфейса Поскольку нужно загрузить только изменившуюся часть, то пользователь видит результат своих действий быстрее | Старые методы учёта статистики сайтов становятся неактуальными Многие сервисы статистики ведут учёт просмотров новых страниц сайта, для сайтов страницы которых широко используют AJAX, такая статистика теряет актуальность |
Выводы:
Для того, чтобы стать даже начинающим веб-программистом, достаточно освоить три языка программирования - HTML, JavaScript, PHP. Работая над созданием WEB-приложений, Вы освоите, и протокол передачи гипертекста http, и как взаимодействует компьютер пользователя с WEB-сервером, и что такое IP-адрес. А затем, выходя на более высокий уровень разработок, Вы уже примете решение, нужно ли Вам использовать такие инструменты как СУБД MySQL или AJAX.