Каталог статей
Главная » Статьи » Интернет технологии для разработки Web сайтов » Общие сведения о создании Web сайтов |
Общие сведения про интернет технологии.
РНР и другие серверные технологииСерверные веб-технологии позволяют веб-серверу не просто возвращать запрошенные HTML-файлы, но и выполнять дополнительные действия, например сложные вычисления, запускать объектно-ориентированные программы, работать с базами данных и многое другое. Только представьте себе, какой объем данных должен обработать Amazon, чтобы сгенерировать индивидуальные рекомендации для каждого посетителя. Или Google, который выполняет поиск информации по гигантской базе данных, чтобы удовлетворить запрос. Да, технологии обработки данных на стороне сервера стали механизмом, запустившим революцию во Всемирной паутине, и причиной, по которой Интернет в нынешнем его виде имеет такой успех. Очень важно понимать, что, независимо от происходящего на стороне сервера, клиент должен получить ответ на том языке, который ему понятен (что вполне очевидно), например, на языке HTML, который имеет массу ограничений, о чем мы уже говорили. РНР - это одна из технологий, применяемых для реализации логики приложений на стороне сервера. Мы будем использовать РНР в процессе создания и изучения примеров AJAX. Тем не менее вы должны знать, что у РНР много конкурентов, таких как ASP.NET (Active Server Pages - активные серверные страницы, веб-технология, разработанная в Microsoft), Java Server Page (JSP - серверные страницы на языке Java), Perl, ColdFusion, Ruby on Rails и других. Каждая из этих технологий предоставляет свои возможности по реализации функциональности на стороне сервера. РНР - это не только серверная технология, но и язык, на котором программисты могут писать сценарии.
Обычно на стороне сервера также должен размещаться сервер баз данных, который будет управлять данными. Однако даже при использовании РНР, который может выполнять сложные запросы к базе данных, зависящие от ситуации, броузер пользователя по-прежнему будет статически отображать скучные, не вызывающие интереса веб-документы. Потребность в более широких функциональных возможностях удовлетворяется отдельной категорией веб-технологий, которые называются клиентскими технологиями. Современные броузеры способны анализировать не только простой HTML. Давайте посмотрим как.
JavaScript и другие клиентские технологииРазличные клиентские технологии отличаются друг от друга в первую очередь способом, которым они загружаются и исполняются веб-клиентом. JavaScript - это язык сценариев, код которых в виде простого текста может быть внедрен прямо в страницы на языке HTML. Страница HTML, запрашиваемая клиентом, может содержать сценарии JavaScript. Все современные броузеры поддерживают JavaScript и не требуют от пользователя установки дополнительных компонентов в систему. JavaScript - это самостоятельный язык программирования (теоретически он не связан с разработкой веб-приложений). Он поддерживается большинством веб-клиентов на любой платформе и обладает некоторыми объектно-ориентированными возможностями. Язык JavaScript относится к интерпретирующим и потому не годится для разработки приложений с интенсивными вычислениями или драйверов устройств и должен целиком доставляться броузеру клиента для последующей интерпретации. Кроме того, он испытывает определенные проблемы с безопасностью, но при использовании в составе веб-страниц прекрасно справляется с возложенными на него задачами. Благодаря JavaScript разработчики наконец получили возможность создавать веб-страницы с визуальными эффектами и способностью проверять правильность заполнения форм, избавив тем самым пользователей от необходимости повторно загружать всю страницу (с потерей всех введенных ранее данных, кстати), если они забыли указать какую-либо информацию (например, пароль или номер кредитной карточки) или в случае ошибки. Однако несмотря на имеющийся потенциал, JavaScript никогда не применялся должным образом, чтобы сделать веб-интерфейс действительно дружественным к пользователю, как в обычных приложениях. Среди других клиентских технологий, наделенных функциональными возможностями, можно назвать Java-апплеты и Macromedia Flash. Java-апплеты пишутся на весьма популярном и мощном языке программирования Java и исполняются виртуальной Java-машиной (Virtual Java Machine — JVM), которую необходимо отдельно устанавливать в систему. Без сомнения, Java-апплеты позволяют создавать более сложные проекты, но применительно к веб-приложениям они уже потеряли свою былую популярность, поскольку потребляют значительное количество системных ресурсов. Иногда даже сам запуск их может занимать значительное время, и вообще они слишком тяжеловесны для простых и нетребовательных веб-приложений. Технология Macromedia Flash обладает весьма широкими возможностями по созданию графических и анимационных эффектов и фактически стала стандартом для разработки подобных веб-приложений. Macromedia Flash также требует установки дополнительных компонентов броузера. Технологии Flash становятся все более мощными, и каждый год появляются все новые и новые ее разновидности. Комбинируя HTML с серверными и клиентскими веб-технологиями, можно строить очень мощные веб-приложения.
Как говорилось в начале, любая технология существует для того, чтобы удовлетворять потребности рынка. А какая-то часть рынка всегда хочет предоставлять в распоряжение веб-клиентов более широкие функциональные возможности, без использования Flash, Java-an- плетов или других технологий, которые либо выглядят слишком ярко и броско, либо слишком тяжеловесны для решения простых задач. В подобных случаях разработчики обычно создают веб-сайты и веб-приложения на основе комбинации HTML, JavaScript и PHP (или какой-ни- будь другой серверной технологии).
Подобное решение таит в себе неприятности, состоящие в том, что, когда клиенту необходимо получить новую порцию данных, он вынужден отправлять серверу новый запрос HTTP и повторно загружать страницу целиком, приостанавливая на время деятельность пользователя. Повторная загрузка страницы - это неизбежное зло в данной ситуации, а помочь нам победить это зло призван AJAX.
Что такое AJAXНазвание AJAX - это акроним, раскрывающийся как Asynchronous JavaScript and XML и означающий асинхронный JavaScript и XML. Если это название, на ваш взгляд, мало о чем говорит, мы согласимся с вами. Проще говоря, можно считать, что AJAX- это «JavaScript с расширенными правами», поскольку по своей сути эта технология представляет собой Сценарии на языке JavaScript, которые по мере необходимости в фоновом режиме выполняют запросы к серверу и получают дополнительные данные, обновляя отдельные части страницы и тем самым исключая необходимость повторной ее загрузки целиком. С точки зрения перспективы AJAX обладает лучшей сбалансированностью между функциональностью, реализуемой на стороне клиента, и функциональностью, реализуемой на стороне сервера, при выполнении действий, затребованных пользователем. До этого места функциональность клиента и функциональность сервера рассматривались как отдельные части, которые работают независимо друг от друга в ответ на действия, предпринимаемые пользователем. AJAX предлагает новое решение - распределить нагрузку между клиентом и сервером, разрешив им общаться между собой, пока пользователь работает со страницей. Чтобы пояснить вышесказанное на простом примере, рассмотрим веб- форму, куда пользователь должен внести некоторые сведения (например, имя, адрес электронной почты, пароль, номер кредитной карточки и прочее). Прежде чем эта форма поступит в распоряжение вашего приложения, она должна быть проверена. В случае отказа от применения AJAX в вашем распоряжении имеются два способа проверки. Первый из них заключается в том, чтобы позволить ему или ей заполнить форму и отправить ее, после чего приложение проверит правильность заполнения на стороне сервера. В этом случае пользователь будет терять время, ожидая загрузки новой страницы. Другой вариант - выполнить проверку на стороне клиента, но это не всегда возможно, если для этого потребуется передать клиенту слишком большой объем данных (только представьте себе, что необходимо проверить правильность ввода названия города в соответствии с введенным названием страны). Если же AJAX применяется, то веб-приложение может проверять данные, отправляя запросы серверу в фоновом режиме, по мере того как пользователь вводит их. Например, после того как пользователь выберет название страны, веб-броузер может запросить у сервера список городов этой страны, не отвлекая пользователя от его занятия. Рассказывать, где с успехом применяется AJAX, можно бесконечно. Более точное представление о возможностях, открываемых технологией AJAX, можно получить, взглянув на этот список реальных и достаточно популярных примеров:
Таким образом, технология AJAX служит для создания более гибких и интерактивных веб-приложений. Она позволяет выполнять асинхронные обращения к серверу, не прерывая работы пользователя и незаметно для него. AJAX - это инструмент, который может применяться разработчиками для создания веб-приложений, более интеллектуально взаимодействующих с человеком.
Технологии, из которых coctoиt AJAX, уже реализованы во всех современных веб-броузерах, таких как Mozilla Firefox, Internet Explorer или Opera. Таким образом, клиент не требует установки каких-либо дополнительных модулей, чтобы иметь возможность взаимодействия с веб-сайтами, построенными на основе AJAX. В состав AJAX входят следующие компоненты:
Для организации взаимодействия клиент-сервер необходимо иметь возможность передавать данные и понимать, что за данные были переданы. Передача данных — это самое простое. Сценарий на стороне клиента, обладающий доступом к серверу (посредством объекта XMLHttpRequest), может передавать серверу пары имя-значение с помощью методов GET или POST. Эти данные легко могут быть прочитаны с помощью любого сценария на стороне сервера. Сценарий на стороне сервера просто отправляет свой ответ по протоколу HTTP, но, в отличие от обычного веб-сервера, ответ должен иметь такой формат, который легко может быть разобран кодом JavaScript на стороне клиента. Мы рекомендуем формат XML, который имеет свои преимущества, заключающиеся в том, что, во-первых, он получил широкое распространение и, во-вторых, существует большое количество библиотек, облегчающих работу с XML документами. Но при желании можно выбрать любой другой формат (данные могут передаваться даже в виде простого текста). Одна из известных альтернатив XML - JavaScript Object Notation (JSON — представление объектов в JavaScript). Мы предполагаем, что вы уже знакомы со всеми составными частями AJAX, кроме, разве что, объекта XMLHttpftequest, который известен не так широко.
Продолжение следует... | |
Категория: Общие сведения о создании Web сайтов | Добавил: Diskosuperstar (28.01.2010) | Автор: Tikhiy Vladislav E W | |
Просмотров: 2326
| Теги: |
Всего комментариев: 0 | |