Опубликован: 04.05.2010 | Доступ: свободный | Студентов: 4196 / 555 | Оценка: 4.64 / 4.44 | Длительность: 41:24:00
Лекция 1:

Исторические аспекты возникновения и развития Интернета

Лекция 1: 12345 || Лекция 2 >

1.3.7. PHP

PHP ( PHP: Hypertext Preprocessor – " PHP: препроцессор гипертекста", Personal Home Page Tools – "Инструменты для создания персональных веб-страниц") – скриптовый язык программирования общего назначения, интенсивно применяющийся для разработки веб-приложений [50]. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект не является свободным и распространяется под собственной лицензией.

В области программирования для Интернета PHP – один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET ) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

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

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу Tiobe, базирующемся на данных поисковых систем, в декабре 2009 года PHP находится на 3 месте среди языков программирования (уступая Java и C), поднявшись за год на две позиции [51]. К крупнейшим сайтам, использующим PHP, относятся Facebook (который, однако, использует транслятор кода HipHop с PHP на C++ с целью оптимизации), ВКонтакте, Wikipedia.

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

1.3.8. Perl

Perl – высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный в 1987 г. Ларри Уоллом, лингвистом по образованию [52]. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language "практический язык для извлечения данных и составления отчетов".

Согласно Ларри Уоллу, Perl имеет два девиза. Первый – "There's more than one way to do it" ("Есть больше одного способа сделать это", также известный как TMTOWTDI); второй – "Easy things should be easy and hard things should be possible" ("Простые вещи должны быть простыми, а сложные вещи – возможными").

Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе реализованные при помощи регулярных выражений. Перл унаследовал много свойств от языков С, shell script, awk.

Perl также знаменит огромной коллекцией дополнительных модулей CPAN [53].

1.3.9. AJAX

AJAX (Asynchronous Javascript and XML – "асинхронный JavaScript и XML ") – подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в "фоновом" обмене данными браузера с веб-сервером [54]. В результате, при обновлении данных веб-страница не перезагружается полностью и веб-приложения становятся более быстрыми и удобными.

Впервые термин AJAX был публично использован в 2005 году в статье Джесси Джеймса Гарретта (Jesse James Garrett) "Новый подход к веб-приложениям" [55]. Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.

AJAX – не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:

  • использование технологии динамического обращения к серверу "на лету", без перезагрузки всей страницы полностью, например:
    • с использованием XMLHttpRequest (основной объект);
    • через динамическое создание дочерних фреймов;
    • через динамическое создание тега <script>.
  • использование DHTML для динамического изменения содержания страницы;

    В качестве формата передачи данных обычно используются JSON или XML.

    К преимуществам AJAX можно отнести:

  • использование AJAX позволяет значительно сократить трафик при работе с веб-приложением;
  • AJAX позволяет несколько снизить нагрузку на сервер;
  • ускорение реакции интерфейса.

    К недостаткам AJAX можно отнести:

  • отсутствие интеграции со стандартными инструментами браузера;
  • динамически загружаемое содержимое обычно недоступно поисковикам;
  • старые методы учета статистики сайтов становятся неактуальными.

Подробнее данная технология будет освещена в "Разработка на ASP.NET. Жизненный цикл страницы, пользовательский интерфейс" .

1.3.10. Adobe Flash

Adobe Flash (ранее известная как Macromedia Flash) – мультимедийная платформа, используемая для создания векторной анимации и интерактивных приложений, а также для интеграции видеороликов в веб-страницы [56].

Разработка Flash была начата компанией FutureWave, создавшей пакет анимации FutureSplash Animator. В 1996 году FutureWave была приобретена компанией Macromedia, которая переименовала FutureSplash Animator в Flash. Под этим наименованием платформа продолжает развиваться и поныне (хотя после того, как в 2005 году компания Macromedia была поглощена Adobe, Macromedia Flash стал официально называться Adobe Flash ).

Adobe Flash позволяет работать с векторной, растровой и ограниченно с трехмерной графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео.

В основе Flash лежит векторный морфинг, то есть плавное "перетекание" одного ключевого кадра в другой. Это позволяет делать сложные мультипликационные сцены, задавая лишь несколько ключевых кадров для каждого персонажа.

Flash использует язык программирования ActionScript, основанный на ECMAScript.

В качестве основного средства разработки используется пакет Adobe Flash Professional (последняя версия Adobe Flash CS4).

Стандартным расширением для скомпилированных Flash-файлов является SWF (Shockwave Flash или Small Web Format). Видеоролики в формате Flash представляют собой файлы с расширением FLV (при этом Flash в данном случае используется только как контейнер для видеозаписи).

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

Основной недостаток Flash-приложений – чрезмерная требовательность к ресурсам процессора. Недостаточная мощность компьютера может повлиять на производительность операционной системы в целом, либо привести к искажению результатов работы Flash-приложения, связанных с отображением анимации или подсчетом времени.

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

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

Подробнее данная технология будет освещена в "Rich Internet application" и "Безопасность в Веб-разработке" .

1.3.11. Silverlight

Microsoft Silverlight – это мультимедийная технология схожая по решаемым задачам с Adobe Flash. Также Microsoft Silverlight – это плагин для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application) [57].

Silverlight реализован для ОС Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7, Mac OS X 10.4, Mac OS X 10.5 и браузеров Internet Explorer 6.0/7.0/8.0, Mozilla Firefox 1.5/2.0/3, Safari 3.1, Google Chrome 3.0. В будущем также планируется поддержка Opera, мобильных устройств, начиная с Windows Mobile 6 и Symbian (Series 60), и, возможно, других платформ.

Silverlight предоставляет графическую систему, схожую с Windows Presentation Foundation, и объединяет мультимедиа, графику, анимацию и интерактивность в одной программной платформе. Он был разработан, чтобы работать с XAML и с языками Microsoft .NET. XAML используется для разметки страниц, использующих векторную графику и анимацию. Текст, содержащийся в Silverlight приложениях, доступен для поисковых систем, так как он не компилируется, а доступен в виде XAML. Silverlight также можно использовать для того, чтобы создавать виджеты для Windows Sidebar в Windows Vista.

Silverlight поддерживает воспроизведение WMV, WMA и MP3 для всех поддерживаемых браузеров, не требуя при этом дополнительных компонентов, таких как Windows Media Player.

Silverlight позволяет динамически загружать XML и использовать DOM для взаимодействия с ним так же, как это делается в Ajax. Silverlight содержит объект Downloader, благодаря которому можно скачивать скрипты, медиа файлы и т. д., если это необходимо приложению. Начиная с версии 2.0, логика программы может быть описана в любом из языков .NET, включая динамические языки программирования, такие как Iron Ruby и Iron Python, которые в свою очередь исполняются в DLR (Dynamic Library Runtime) , а не CLR (Common Language Runtime).

Подробнее данная технология будет освещена в "Rich Internet application" и "Безопасность в Веб-разработке" .

1.3.12. ASP.NET

ASP.NET – технология создания веб-приложений и веб-сервисов от компании Microsoft [58]. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP.

Хотя ASP.NET берет свое название от старой технологии Microsoft ASP, она значительно от нее отличается. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), который является основой всех приложений Microsoft .NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, в том числе, и входящие в комплект .NET Framework (C#, Visual Basic.NET, и JScript .NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кэш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию, и т. д.

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

Преимущества ASP.NET перед ASP:

  • компилируемый код выполняется быстрее, большинство ошибок отлавливается еще на стадии разработки;
  • значительно улучшенная обработка ошибок времени выполнения, с использованием блоков try..catch ;
  • пользовательские элементы управления ( controls ) позволяют выделять часто используемые шаблоны, такие как меню сайта;
  • использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события;
  • расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения;
  • ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.;
  • возможность кэширования всей страницы или ее части для увеличения производительности;
  • возможность кэширования данных, используемых на странице;
  • возможность разделения визуальной части и бизнес-логики по разным файлам ("code behind");
  • расширяемая модель обработки запросов;
  • расширенная событийная модель;
  • расширяемая модель серверных элементов управления;
  • наличие master-страниц для задания шаблонов оформления страниц;
  • поддержка CRUD операций при работе с таблицами через GridView ;
  • встроенная поддержка AJAX.

Подробнее данная технология будет освещена в "Разработка на ASP.NET. Жизненный цикл страницы, пользовательский интерфейс" и "Разработка на ASP.NET. MasterPage, динамические компоненты, AJAX, ASP.NET MVC" .

1.3.13. Ключевые термины

Веб-программирование, Клиентские языки программирования, Серверные языки программирования, HTML, XHTML, CSS, XML, JavaScript, PHP, Perl, AJAX, Adobe Flash, Microsoft Silverlight, ASP.NET.

1.4. Краткие итоги

Интернет – глобальная телекоммуникационная сеть информационных и вычислительных ресурсов. В течение всего пяти лет Интернет достиг аудитории свыше 50-ти миллионов пользователей.

Различают логическую и физическую модели Интернета. Под логической прежде всего понимают Всемирную паутину ( World Wide Web ), а под физической – компьютеры, серверы и средства передачи данных между ними.

Чтобы различные компьютеры сети могли взаимодействовать, они должны использовать один и тот же протокол. Систему протоколов Интернет называют "стеком протоколов TCP/IP ".

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

Всемирная паутина стоит на "трех китах":

  • язык гипертекстовой разметки документов HTML (HyperText Markup Language);
  • универсальный способ адресации ресурсов в сети URL (Universal Resource Locator);
  • протокол обмена гипертекстовой информацией HTTP (HyperText Transfer Protocol).

Концепции развития Всемирной паутины можно условно разделить на Веб 1.0, Веб 2.0, Веб 3.0.

Веб-программирование – это раздел программирования, ориентированный на разработку динамических Интернет -приложений.

Языки веб-программирования делятся на две группы: клиентские и серверные.

Клиентские языки обрабатываются на стороне пользователя (в основном в браузере).

Серверные языки программирования обрабатываются на стороне сервера.

Важной стороной работы серверных языков является Система управления базами данных (СУБД).

HTML – стандартный язык разметки документов во Всемирной паутин.

XHTMLязык разметки веб-страниц, по возможностям сопоставимый с HTML, созданный на базе XML.

CSS – технология описания внешнего вида документа, написанного языком разметки.

XMLтекстовый формат, предназначенный для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки.

JavaScript – это объектно-ориентированный скриптовый язык программирования.

PHP – скриптовый язык программирования общего назначения, интенсивно применяющийся для разработки веб-приложений.

Perl – высокоуровневый интерпретируемый динамический язык программирования общего назначения.

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

Adobe Flash и Microsoft Silverlight – мультимедийные платформы, используемые для создания RIA-приложений, а также для интеграции видеороликов в веб-страницы.

ASP.NET – технология создания веб-приложений и веб-сервисов от компании Microsoft.

Лекция 1: 12345 || Лекция 2 >