Веб-программирование #1

Веб-программирование — раздел программирования, ориентированный на разработку веб-приложений(программ, обеспечивающих функционирование динамических сайтов Всемирной паутины).

Языки веб-программирования— это языки, которые в основном предназначены для работы с веб-технологиями. Языки веб-программирования можно условно разделить на две пересекающиеся группы: клиентские и серверные.

Как следует из названия, программы на клиентских языках обрабатываются на стороне пользователя, как правило, их выполняет браузер. Это и создает главную проблему клиентских языков— результат выполнения программы (скрипта) зависит от браузера пользователя. То есть, если пользователь запретил выполнять клиентские программы, то они исполняться не будут, как бы ни желал этого программист. Кроме того, может произойти такое, что в разных браузерах или в разных версиях одного и того же браузера один и тот же скрипт будет выполняться по-разному. С другой стороны, если программист возлагает надежды на серверные программы, то он может упростить их работу и снизить нагрузку на сервер за счет программ, исполняемых на стороне клиента, поскольку они не всегда требуют перезагрузку (генерацию) страницы.

Когда пользователь дает запрос на какую-либо страницу (переходит на неё по ссылке или вводит адрес в адресной строке своего браузера), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения: HTML, PHP, ASP, ASPX, Perl, SSI, XML, DHTML, XHTML.

Работа программ уже полностью зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается. К серверным языкам программирования можно отнести: PHP, Perl, Python, Ruby, любой .NET язык программирования (технология ASP.NET), Java, Groovy.

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

Наш Браузер!

Бра́узер, или веб-обозреватель — прикладное программное обеспечение для просмотра веб-страниц, содержания веб-документов, компьютерных файлов и их каталогов, управления веб-приложениями, а также для решения других задач. В глобальной сети браузеры используют для запроса, обработки, манипулирования и отображения содержания веб-сайтов. Многие современные браузеры также могут использоваться для обмена файлами с серверами ftp, а также для непосредственного просмотра содержания файлов многих графических форматов (gif, jpeg, png, svg), аудио-видео форматов (mp3, mpeg), текстовых форматов (pdf, djvu) и других файлов.

Функциональные возможности браузеров постоянно расширяются и улучшаются благодаря конкуренции между их разработчиками и высоким темпом развития и внедрения информационных технологий. Несмотря на то, что браузеры разных изготовителей базируются на разных технологических решениях, большинство современных браузеров придерживается международных стандартов и рекомендаций W3C в области обработки и отображения данных. Стандартизация позволяет добиться предсказуемости в визуальном представлении информации конечному пользователю независимо от технологии, которая использована для её отображения в браузере. Со времени начала применения браузеров во Всемирной паутине в начале 1990-х годов, из простого средства просмотра текстовой информации браузер превратился в комплексное прикладное программное обеспечение для обработки данных и обеспечения интерфейса между информационными ресурсами и человеком. В последние годы многие разработчики браузеров сосредоточили свои усилия на повышении удобства пользовательского интерфейса браузеров для их использования в аппаратных устройствах, в которых применяются сенсорные экраны.

В 1995 году появился браузер Opera. Первоначально Opera распространялась как условно-бесплатное ПО (shareware), этим, возможно, объясняется её низкая популярность в большинстве стран мира и высокая популярность в странах СНГ. Однако с 2005 года Opera также стала распространяться бесплатно.

Война браузеров была бы исключительно коммерческим делом корпораций, если бы основным приёмом в борьбе не стало добавление специфических, нестандартных возможностей к браузерам. Наибольшие различия возникали в поддержке JavaScript— языка сценариев, придающего интерактивность документам. В результате некоторые новые сайты с нововведениями плохо работали со старыми бразуерами.

В Internet Explorer 8 Microsoft сначала предлагали ввести HTML-комментарий, который бы указывал браузерам, какие версии движков использовать (заголовок DOCTYPE при этом должен был быть отменён, как малоиспользуемый), что вызвало возмущение сторонников стандартов, так как указания на использование стандартов не предусматривалось. Позже было объявлено, что IE8 будет по умолчанию использовать «режим стандартов» (англ.standards mode), а не «режим совместимости» (англ.quirks mode), а при обнаружении соответствующего комментария использовать режим имитации предыдущей версии.

В 2008 году компания Google выпустила свой браузер— Chrome, основанный на свободном проекте Chromium. Браузер Chrome содержит некоторые новшества (изоляция сбоев, режим «инкогнито» ит.д.). Выпущены версии для Windows XP, Windows Vista, Windows 7, Linux, BSD и Mac OS X .

В начале 2009 года Microsoft объявила, что разрабатывает новый браузер, который будет называться Gazelle. Новый браузер будет применять принципы разделения ресурсов, характерные для многопользовательских операционных систем, что, согласно Microsoft, повысит его безопасность.

В сентябре 2009 года стало известно о намерении российской правительственной комиссии по федеральной связи и информтехнологиям разработать для государственных организаций свой браузер, выбрав разработчика по результатам открытого конкурса. Парадоксально, что Opera и Firefox отвергаются в пользу Internet Explorer из-за того, что они «передают информацию о пользователях в поисковую систему Google», хотя это легко отключается в настройках обеих программ.

География распространения Наиболее популярные веб-браузеры по странам по состоянию на Июнь 2015, согласно StatCounterInternet Explorer Google Chrome Firefox Opera

В России с января 2009 по конец сентября того же года первое место по популярности удерживает Opera (в районе 36-40%), после чего случается резкое падение, в начале декабря Opera ненадолго восстанавливает лидерство, но затем уступает его Firefox’у и с тех пор всё время уступает ему на несколько процентов. Похожие данные по России показывал и LiveInternet.ru.. Opera также занимает первое место по частоте использования на Украине, в Азербайджане, в Грузии, Казахстане и Узбекистане, пользуется большой популярностью в остальных странах СНГ.

Mozilla Firefox лидирует в Индонезии (около 80%), Германии (больше половины), странах Восточной Европы, некоторых странах Африки и Юго-Восточной Азии.

Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером— веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются кроссплатформенными сервисами. Веб-приложения стали широко популярными в конце 1990-х— начале 2000-х годов.

Существенное преимущество построения веб-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.

Также в последнее время набирает большую популярность технология WebSocket, которая не требует постоянных запросов от клиента к серверу, а создает двунаправленное соединение, при котором сервер может отправлять данные клиенту без запроса от последнего. Таким образом появляется возможность динамически управлять контентом в режиме реального времени.

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