Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемАгния Машковцева
1 Тема 4. Инструментальные средства создания WEB- ресурсов
2 План 1. Классификация инструментальных средств создания Web-ресурсов 2. Язык разметки гипертекста HTML 3. HTML-редакторы 4. Современные технологии создания сайтов
3 1. Классификация инструментальных средств создания Web- ресурсов На первых этапах развития (90-е годы прошлого столетия) Интернет- технологий единственным инструментальным средством создания Web- ресурсов были обычные текстовые редакторы, например, Microsoft Notepad. Но прогресс не стоит на месте, т.к. HTML стандарт и Web-технологии постоянно развиваются и сегодня предоставляют широкий набор языков и средств программирования для создания Web-ресурсов. По функциональному назначению эти инструментальные средства делится на следующие типы: язык разметки гипертекста HTML, средства редактирования и конвертирования для создания и интерпретации Web-документов; технологии и языки программирования для разработки интерактивных страниц и мобильных приложений. Выбор средств разработки определяется задачами, которые необходимо решить, поэтому каждый дизайнер может использовать те из них, которые ему самые удобные. Однако независимо от инструмента, язык разметки HTML (HyperText Markup Language - HTML) играет роль своеобразного клея, который соединяет различные информационные ресурсы в единое целое для публикации в Интернет. С его помощью обеспечивается независимость описания Web-документов от браузеров и их однозначная интерпретация на разных платформах. Дадим краткую характеристику наиболее популярных инструментальных средств.
4 2. Язык разметки гипертекста HTML SGML (Standardized General Markup Language - "Стандартизованный обобщенный язык разметки") - разработка языка была вызвана необходимостью создания средств описания документов и правил их построения. Для задания структуры документа используются специальные метки - "теги", которые отделяют друг от друга элементы документа и файлы определения типа документа (Document Type Definition, DTD), выполняющие функции "грамматики" и определяющие структуру и содержание каждого элемента в документе. Принят ISO в качестве стандарта в 80-е годы. Сложность этого языка помешала ему лечь в основу первой спецификации для Web - HTML, который стал производным от SGML. HTML (HyperText Markup Language - "Язык разметки гипертекста") - разработан в исследовательском центре CERN в 1992 г. Он является производным от SGML. HTML устанавливает формат гипермедийных документов в сети WWW. HTML-документы представляют собой ASCII- файлы, доступные для просмотра и редактирования в любом текстовом редакторе. Отличием от обычного текстового файла является наличие в HTML-документах специальных команд - тэгов, которые указывают правила форматирования документа. Первая версия языка (HTML 1.0) была направлена на представление языка как такового, где описание его возможностей носило скорее рекомендательный характер.
5 Версия HTML стала стандартом в 1999 году. Кроме возможностей разметки текста, включения мультимедиа и формирования гипертекстовых связей, уже существовавших в предыдущих версиях HTML, в версию 4.01 включены дополнительные средства работы с мультимедиа, языки программирования, таблицы стилей, упрощенные средства печати изображений и документов. Для управления сценариями просмотра Web-страниц можно использовать сценарные языки программирования, например, JavaScript, Java и VBScript. HTML последняя версия языка HTML. После этого разработки этого языка прекратились, так как он фактически исчерпал все свои возможности. Появились новые технологии, более удовлетворяющие потребности современных пользователей, а также языки программирования, позволяющие создавать динамические страницы, обращаться с запросами к базам данных, более совершенные языки разметки. На данный момент преемником HTML считается XHTML расширяемый язык гипертекстовой разметки. Полное описание HTML можно получить по сетевому адресу:
6 HTML 5 - это грядущее обновление гипертекстового языка разметки, основного способа создания контента для размещения его во всемирной паутине. Разработка HTML остановилась в 1999 году, на версии HTML 4.01 и с тех пор web-содержимое изменилось так, что текущие спецификации HTML перестали соответствовать сегодняшним требованиям. HTML 5 нацелен на то, чтобы увеличить функциональную совместимость HTML и соответствовать растущим требованиям разнообразного и смешанного web-контента. HTML 5 так же нацелен на устранение недостатков четвертой версии. Отвлеченные размышления о HTML 5 начались в конце 2003 года. World Wide Web Consortium (W3C), организация, наблюдающая за стандартами протоколов и рекомендаций в web, высказала интерес к черновику HTML 5 разработанному Web Hypertext Application Technology Working Group (WHATWG), группой сформированной в 2004 году из представителей Apple, Mozilla Foundation и Opera Software. В результате, в 2007 году, для разработки спецификаций HTML 5, была сформирована W3C HTML Working Group. Разработка идет и ожидается, что HTML 5 достигнет статуса W3C Candidate Recommendation в 2012 году, хотя большинство современных браузеров уже сейчас имеют частичную поддержку спецификаций HTML 5, например, реализация элемента включена в Mozilla Firefox, в которой он частично реализован с версии 1.5. HTML 5 переопределит то, как web-разработчики создают разметку содержимого. Эта версия предложит лучший способ описания отображаемого на web-странице контента, позволит использовать более комплексные типы содержимого, улучшит поддержку медиа и web-приложений и увеличит функциональную совместимость HTML-документов.
7 DHTML (Dynamic HTML - "Динамическая HTML") - это развитие языка HTML для создания движущихся ("динамических") эффектов на Web-страницах. Он не является каким-то особым языком разметки страниц. Это всего лишь термин, применяемый для обозначения HTML- страниц с динамически изменяемым содержимым. DHTML позволяет создавать web-страницы, включающие такие интерактивные элементы, как движущийся фон, расположенный под статичным содержимым документа, движущиеся объекты, выпадающие меню, кнопки, подсвечивающиеся при наведении курсора мыши, анимацию, бегущие титры и многое другое. При помощи DHTML возможно изменять и перетягивать элементы страницы, такие как текст или графика, без необходимости каждый раз обновлять страницу. DHTML также позволяет получить гораздо больший контроль над расположением элементов на странице вплоть до одного пиксела и позволяет вам поместить один элемент поверх другого или двигать один над другим. Реализация DHTML основана на трёх технологиях: непосредственно язык HTML, каскадных таблицах стилей (Cascade Style Sheets - CSS) и языке сценариев (JavaScript или VBScript). Эти три компонента DHTML связаны между собой объектной моделью документа (Document Object Model - DOM), которая, по сути, является интерфейсом прикладного программирования (API). DOM связывает воедино три перечисленных компонента, придавая простому документу HTML новое качество, - возможность динамического изменения своего содержимого без перегрузки страницы.
8 XML (Extensible Markup Language - "Расширяемый язык разметки") - является принципиально новым стандартом, предложенным в 2000 году создателем языка HTML консорциумом World Wide Web Consortium (W3C), который входит в подмножество языка SGML. Возник в результате необходимости создать более обобщенный язык разметки без соблюдения сложного и громоздкого для использования в Интернете стандарта SGML. XML используется лишь некоторое подмножество правил SGML, что облегчает его использование. По структуре XML представляет собой не собственно язык разметки гипертекста, а так называемый метаязык, предназначенный для описания других языков более низкого уровня. XML содержит правила, по которым должно определяться множество "тегов", допустимых в документе. В отличие от HTML, XML позволяет описывать не только структуру документа, но и его содержание (контекст), а также обеспечивать разные способы отображения (например, учитывающие тип клиента и вид запрашиваемого документа). XML - это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания.
9 Как заявляют сами разработчики, XML был создан для взаимодействия с HTML и совместного с ним использования. XML в настоящее время используется в сочетании с HTML и существенно расширяет возможности Web-страниц для: виртуального представления документов любого типа; сортировки, фильтрации, упорядочения, поиска и манипулирования информацией иными способами; представления информации в структурированном виде. XML имеет ряд приложений, предназначенных для описания нетекстовых документов и их частей. Примерами могут служить: MathML - для описания математических формул, MusicML - для описания нотных записей. На основе XML в настоящее время разработано значительное число стандартов, спецификаций, рекомендаций и технологий подготовки XML- документов. К ним можно отнести: Спецификации, рекомендованные к использованию консорциумом W3C, включая: XML 1.0 и 1.1., Namespaces in XML 1.0 и 1.1. Canonical XML, Xlinc (XML Linking Language), XML Base, XML Infoset, XML Schema (Part I и Part II), Datatypes, Xpath, Xpointer, а также стандарт OASIS RELAX NG (в 2003 г. он признан ISO); Стандарты, относящиеся к обработке XML-документов: XSLT, DOM, Xquery, SOAP, WSDL и некоторые другие; XML-спецификации, составляющие XML-приложения или словари: XHTML, Docbook, XSL-FO, SVG, VoiceXML, MathML, SMIL; Отраслевые XML-форматы: XML-стандарты, предназначенные для описаний документов и данных, принятые в какой-либо конкретной отрасли деятельности, например OFX/IFX, FpML, MDDL, RIXML, SDMX, XML BSC, RSS и др.
10 3. Редакторы языка HTML Существует две категории редакторов языка HTML: визуальные или WIZIWIG-редакторы невизуальные или NON-WIZIWIG-редакторы. Для создания сайтов намного проще и быстрее использовать визуальные редакторы, но они практически всегда имеют один очень существенный недостаток - они генерируют довольно "грязный", т.е. избыточный программный код, за счет чего сильно увеличивается размер страниц и скорость их загрузки. По этой же причине профессионалы предпочитают использовать только невизуальные редакторы.
11 Adobe Dreamweaver - Dreamweaver (Win / Mac)Dreamweaver Ранее продукт Macromedia Dreamweaver - это инструмент который является одним из наиболее широко используемых редакторов, которые могут помочь разработчикам улучшить рабочий процесс и сэкономить массу времени при кодировании. Если предыдущие версии Dreamweaver иногда генерировали причудливый исходный код, то последняя версия может генерировать (в большинстве случаев) совершенно чистую разметку. Dreamweaver также предоставляет различные полезные инструменты, такие как, библиотеки фрагментов кода, ftp управление, сервер отладки и комплексного кодирования. Например, Вы можете просматривать CSS информацию в единой, унифицированной CSS панели, что позволяет легко увидеть стили применительно к конкретным элементам, определить, где атрибуты определяются и редактировать существующие стили. Цена: $ 400 (версия CS3). Некоторые из многочисленных возможностей Dreamweaver: * Расширенное CSS редактирование * Integrated coding environment * Spry framework для Ajax * Проверка совместимости браузеров. * Интеграция с Photoshop CS3 и Fireworks. * Code snippets (например, CSS форматов) * Управление FTP * Поддержка XML * Поддержка FLV * Обучающие ресурсы (например, Adobe CSS Advisor) * Многочисленные расширения для Dreamweaver. Визуальные HTML-редакторы
12 Amaya - Amaya (Win / Mac / Linux) Amaya Созданный WWW-консорциомом, этот инструмент позволяет управлять веб- сайтами, изменять и обновлять их содержание, добавить новые изображения и ссылки. Что действительно делает Амайя непохожей на остальных, то что это гибрид веб-браузера и редактора веб- страниц, таким образом, Вы можете просмотреть страницы в Интернете и редактировать Ваши страницы в одном и том же приложении. Последняя версия редактора, Амайя 10, была выпущена в феврале 2008 года. Он способен работать с несколькими документами одномременно ((X)HTML, MathML(.Mml) и SVG (.Svg)), т.е. документы, могут отображаться и редактироваться одновременно. Например Вы можете вставить математические формулы, с помощью pop-up: Амайя преобразует их через MathML "на лету". Амайя также включает в себя объединенное приложение аннотаций (аннотации, внешние комментарии, примечания, замечания, которые могут быть прикреплены к любому веб- документу или отдельной части документа) и он поддерживает SVG, RDF и XPointer. Open-source.
13 Adobe Contribute - Adobe ContributeAdobe Contribute Основная цель Adobe Contribute, является возможность редактирования веб-сайтов и блоги для пользователей не имеющих каких-либо технических знаний. Contribute CS3 позволяет авторам обновить существующие сайты и блоги, сохраняя целостность сайта. Contribute предлагает интеграцию с Dreamweaver, дает возможность размещения материалов с Microsoft Office и редактирования из IE 7 и Firefox. С этим WYSIWYG-редактором, авторы могут изменять или обновлять любой веб-сайт или блог без необходимости изучать HTML.
14 Adobe Golive - Adobe Golive (Win / Mac)Adobe Golive В апреле 2008 Adobe прекратила разработку и продажу GoLive 9. Adobe GoLive рекомендует пользователям перейти на Dreamweaver. Однако на самом деле это достаточно мощный инструмент создания и редактирования, (для ваших клиентов. Некоторые Adobe GoLive 9 возможности: * Designer styles * Visual CSS layout * Place command * Adobe InDesign® integration * Color management * Platform support * Site management tools * Publish Server * Smart Objects
15 Microsoft Expression Web - Microsoft Expression (Win) Microsoft Expression В свое время подвергшийся резкой критике за его действительно плохой веб-редактор (Frontpage), Microsoft недавно создал редактор, Expression, который кажется, наследовал многое из его предшественников. Expression попытался создать комфортную обстановку для интернет-пользователей, с чертами, которые являются чрезвычайно похожими на Adobe Dreamweaver. Однако, при прямом сравнении Dreamweaver предлагает больше и производит более чистой код. Тем не менее, Expression производит достойный, совместимый со стандартами код и знает, как работать с CSS и CSS-макетами. Expression не преемник Frontpage, это довольно разные инструменты разработки. Microsoft Expression имеет большее сходство с Microsoft SharePoint Designer, это скорее конструктор ориентированный и направленный на обеспечение общей веб- разработки. Trial-версию на 60 днейTrial-версию на 60 дней можно загрузить бесплатно, однако требуется регистрация. Некоторые Microsoft Expression возможности: * ASP.NET 2.0 Integration * Advanced CSS rendering * XPath Expression Builder * Build and format views of industry-standard XML data * Tag Property Grid * Accessibility Checking * Real-time Standards Validation * Full Schema Support
16 Microsoft SharePoint Designer - Microsoft SharePoint Designer 2007 (Win)Microsoft SharePoint Designer 2007 Это преемник Microsofts Frontpage. SharePoint Designer является стандартом WYSIWYG-редактора. Помимо поддержки интерактивных страниц ASP.NET, он не предлогает что-то революционное. Бесплатная trial- версия доступна. Существует online- версия, которая требует Internet Explorer и большого терпения. Некоторые из возможностей Sharepoint: * support for interactive ASP.NET pages * create Data Views from RSS, XMl, Office XML * collaborate with the built-in Workflow Designer * CSS tools * track customized pages * spelling checker * SharePoint Server 2007 integration
17 NVU - NVU(Win / Mac / Linux)NVU Этот редактор должен стать реальной альтернативой доминирующим продуктам: WYSYWIG-редактор для Linux, Microsoft Windows и Mac, мог бы соперничать с FrontPage и Dreamweaver. А в некоторых аспектах Nvu действительно предоставляет больше возможностей, чем можно было ожидать от абсолютно бесплатного программного обеспечения. Nvu (произносится как N-view, от "new-view - новый взгляд") предлагает интегрированный FTP-менеджер, мощную поддержку для форм, таблиц и шаблонов, и он действительно очень прост в использовании. CaScadeS, хорошо известный редактор CSS, как дополнительный модуль интегрируется в Nvu и позволяет легко создавать и управлять стилями и видеть как применяются Ваши стили "на лету" в документе Вы изменяете. Nvu является open source и выпускалась под Mozilla Public License (MPL). К сожалению, развитие NVU не продолжается в последние лет. Усовершенствованную версию NVU можно взять тут - KompoZer.KompoZer Некоторые из возможностей NVU: * Сайт-манаджер позволяет просматривать сайты, которые вы создаете. * Поддержка XML. * Встроенный валидатор.
18 Kompozer - KompoZer (Win / Mac / Linux)KompoZer Этот инструмент является ответвлением от NVU. После его создания дальнейшее развитие NVU замедлилось. KompoZer является веб-авторской системой, которая сочетает в себе менеджер для веб-файлов и WYSIWYG- редактор. KompoZer чрезвычайно прост в использовании, что делает его подходящим решением для пользователей, которые хотят создавать сайты без получения технических знаний. По сравнению с NVU, Kompozer производит чистый код разметки. Последняя версия была выпущена в августе 2007 года. Kompozer может рассматриваться в качестве альтернативы для небольших проектов и для пользователей, без технических знаний. Но она, безусловно, слишком слаба для профессиональных веб-разработчиков.
19 Невизуальные html-редакторы Невизуальные редакторы – это программы создания web-документов для профессионалов, которые в состоянии писать код в любом текстовом редакторе. Однако они имеют средства, которые позволяют автоматизировать большую часть рутинных операций и в тоже время сильно ускоряют процесс написания чистого программного кода страницы не содержащий ничего лишнего. Невизуальные редакторы html позволяют вставлять там, где это нужно, целые блоки кода, но при этом, в отличие от визуальных редакторов, не добавляют в него своих "фантазий" на тему разметки страницы. Кроме того, в них, как правило, есть множество дополнительных удобных функций, таких как подсветка кода, проверка правильности созданного кода, подбор цвета, быстрое создание таблиц, вставка основных и самых распространенных элементов гипертекстовой разметки. Наиболее распространенными невизуальными html-редакторами являются:
20 Adobe HomeSite - Adobe HomeSite (Win / Mac)Adobe HomeSite HomeSite когда-то был одним из ведущих редакторов кода широко используемым среди разработчиков. Многое произошло с тех пор: HomeSite был куплен Adobe, где он не имеет большого значения сегодня. Вместе с тем, HomeSite имеет некоторые функции, такие как управление проектами, комплексный CSS редактор, код snippets, тег инспектор, завершение тегов, макро-рекордер, folder deployment, автоматическое резервное копирование, расширяемый пользовательский интерфейс и интеграция с Fireworks. Некоторые из возможностей Homesite: * Macro Recorder * Tag Editor * Tag Insight and Tag Completion * Tag Inspector and Tag Tree * XHTML 1.0 Support * Enhanced Code Snippets * Code Snippets * Productivity Wizards * Integrated CSS Editor * Secondary Files Tab * Project Management and FTP * Find & Replace/li> * Auto Backup * Multi-Language Validator * Code Formatting Macromedia HomeSite + входил в Macromedia Dreamweaver. Мощный и полезный, даже если он в действительности и не используется часто.
21 Aptana Studio - Aptana Studio (Win / Mac / Linux)Aptana Studio На самом деле, Aptana Studio является относительно новым, но уже известным IDE (интегрированная среда разработки) для создания веб-приложений с использованием Ajax. Aptana помогает при работе с JavaScript, HTML, DOM и CSS. Редактор высоко настраиваемый и расширяемый. Имеется также отладка ошибок и предупреждений. Вы можете также использовать различные Aptana-плагины, которые предоставляют удобные инструменты для работы с Ruby on Rails, PHP, Adobe AIR, и Apple iPhone. Aptana также включает некоторые популярные Javascript-библиотеки (Adobe Spry, Prototype, MochiKit, YUI, Mootools, Dojo Toolkit, JQuery, Scriptaculous), a также JSON (JavaScript Object Notation) редактор. Aptana Studio, несомненно, может считаться профессиональным и мощный редактором исходного кода. Редактор доступен в двух версиях: Community edition и Professional Edition со всеми функциями и поддержкой. Community edition - open source. Некоторые из функций Aptana : * Visual ScriptDoc позволяет легко изучить иерархию вашего кода. * FTP support * CSS Preview * CSS, JavaScript, HTML and DOM coding assistance * Интеграция с Firebug для Firefox * Snippets allow you to quickly insert common and frequently-used text into your documents
22 UltraEdit - Ultraedit (Win)Ultraedit UltraEdit наиболее "продвинутый" и, следовательно, не самый "легкий" текстовый редактор. Он и текстовый, и HTML, и HEX редактор и продвинутый PHP, Perl, Java и JavaScript редактор для программистов. По сравнению с другими редакторами, Ultraedit также включает в себя возможность использования регулярных выражений, быстрые клавиши, сворачивание кода, макросы, SSH/Telnet, многострочный поиск и замену и поддержку юникода. Это очень популярный редактор, в настоящее время уже выпущена 14 ее версия. Ultraedit стоит $49,95. Если вы ищете редактор для веб- разработки со множеством дополнительных функций, Ultraedit является первым вариантом для рассмотрения. Некоторые из функций UltraEdit: * Сворачивание кода * Поддержка Unicode * Возможность редактирования файлов более 4 Гб, минимум использует RAM даже для несколько- мегабайтных файлов * Многострочный поиск и замена * слов проверки правописания, поддерживает иностранные языки (американский английский, английский, голландский, финский, французский, немецкий, венгерский, итальянский, испанский и шведский) * Подсветка синтаксиса - конфигурируемый, заранее настроеный для C/C++, VB, HTML, Java и Perl, с специальными опциями для FORTRAN и LaTex. Различные библиотеки слов Различные библиотеки слов доступны для свободного скачивания. * FTP клиент. Включает поддержку SFTP (SSH2) * SSH/Telnet * Project/workspace поддержка * Интегрированный скриптовый язык для автоматизации задач * Настраиваемые "горячие" клавиши * Шестнадцатеричный редактор позволяет редактировать любые двоичные файлы, показывает двоичный и ASCII вид * Шаблоны * HTML-toolbar, настроенный для популярных HTML-функций.
23 Komodo Edit - Komodo Edit (cross-platform)Komodo Edit Komodo Edit является open-source средой, которая была разработана для программистов, которые нуждаются в редакторе для нескольких языков и с широкими функциональными возможностями. Редактор включает в себя широкий спектр поддерживаемых языков (Perl, PHP, Python, Ruby, Tcl) и платформ (Linux, Mac OS X и Windows). Как и Комодо IDE, Komodo Edit также поддерживает клиентские языки, такие как JavaScript, CSS, HTML и XML. Учитывая, что Komodo Edit является бесплатным и предлагает функциональные возможности, которые недоступны во многих коммерческих продуктах, он является весьма впечатляющим профессиональным редактором для динамических языков и его, безусловно, стоит испробовать. Возможно, Вы также захотите рассмотреть Комодо IDE (цена: $ 295), который является кроссплатформенной и мультиязычной средой разработки веб- приложений. Некоторые из функций Komodo Edit: * support for all major scripting languages * in-depth autocomplete and calltips * multi-language file support * syntax coloring and syntax checking * Vi emulation * Emacs key bindings * code snippets and code folding * project manager * XPI Extensions support provides the same capability as Firefox, with all standard Mozilla APIs * multi-user support and many more.
24 Eclipse Eclipse (Java / cross-platform)Eclipse Eclipse является open-source интегрированной средой разработки (IDE). Первоначально, Eclipse предназначался для использования Java-разработчиками, однако, поскольку пользователи могут расширить свои возможности за счет установки многочисленных плагинов, Eclipse широко используется профессиональными разработчиками различных направлений. Например, имеются плагины для C и C++ (CDT-проект), Perl, PHP, ColdFusion, Ruby, Python и C #. В Eclipse вы наверняка найдете все функции, которые вы ожидаете от профессионального редактора кода. Тем не менее, вы найдете также многое другое. Например, рефакторинг, расширенный поиск, быстрая навигация, синхронизация с CVS, сохранение действий (вы можете назначить действия, которые выпоняться в файле каждый раз, когда Вы его сохраняете), расширенный инструмент для сравнения и многое-многое другое. А чтобы повысить производительность, попробуйте Mylyn extension. Eclipse имеет очень мощное и гибкое решение, которое определенно должно быть рассмотрено профессиональными разработчиками.Mylyn extension
25 Arachnophilia - Arachnophilia (Java / all) Arachnophilia Arachnophilia является бесплатным редактором, который был впервые опубликован в середине 90s. Инструмент является мощным редактором с рядом специальных характеристик для создания и редактирования HTML. Редактор содержит RegExp функции и функциональность для сравнения текста. Он не предлагает нечто революционное, но он кросс-платформенный. Последняя версия 5,3 был выпущена в марте 2008 года. Некоторые из возможностей Arachnophilia: HTML-валидатор помогает Вам найти и исправить структурные ошибки на Ваших страницах Code Beautifier Spell Checker Advanced FTP Operations
26 CoffeeCup HTML Editor - CoffeeCup (Win) CoffeeCup Этот редактор был впервые выпущен в 1996 году и регулярно обновляется с тех пор. Последняя версия предлагает завершение HTML и CSS-кода, проверку зависимых документов и 40 CSS / XHTML макетов. Встроенный WYSIWYG-редактор следует избегать так как генерирует не очень чистый код. Однако, сам редактор основное внимание уделяется производству чистой и качественной разметки. Мощный, но не ошеломляющий. Цена: $49. Доступны пробные версии. Некоторые из возможностей Coffeecup: * HTML & CSS Code Completion * Quick Tag Help * Project Management * Graphics Collections * Wizards * Built-in SiteMapperCreator
27 EditPlus - EditPlus (Win)EditPlus EditPlus является легким текстовым редактором, HTML-редактором и редактором исходного кода для Windows. Он может служить хорошей заменой Notepad, но он также предоставляет множество мощных функций для авторов веб-страниц и программистов. Отличительной особенностью EditPlus является поддержка определяемых пользователем инструментов, файлы справки. Среди прочего можно также использовать многострочный поиск и замену с использованием регулярных выражений, автоотступы, сварачивание кода, интегрированный компилятор, интегрированный shell и интегрированный веб-браузер. Последняя версия была выпущена в апреле 2008 года. Цена: $35. Существует также trial-версия. Некоторые из возможностей EditPlus: * integrated Web browser for previewing * Ruler * Auto-completion * Powerful search and replace * Multiple undo/redo * Spell checker * Customizable keyboard shortcuts
28 Emacs – Emacs (22 операционные системы, в том числе Linux, Mac OS X и Windows)Emacs Emacs (Editor MACroS) является классическим и старейшим из Linux- редакторов. Он является старейшим (1976) и самым авторитетным, из представленных в этом обзоре. Существует большое количество расширений, которые добавляют дополнительные функции, в том числе такие как планировщик проектов, почта и news reader, отладчик интерфейса, календарь и многое другое. Редактор популярен из-за его встроенных макросов и мощной поддержке "горячих клавишей", которые делают редактирование текстовых документов весьма эффективным. Тем не менее, нужно потратить довольно много времени на изучение его возможностей, особенно для новичков. Можно также рассмотреть GNU Emacs и XEmacs, которые являются продвинутыми, с открытым исходным кодом и кросс-платформенными версиями Emacs. Emacs является бесплатной и выпускается по GNU-лицензии. GNU EmacsXEmacs Некоторые из возможностей Emacs: * Many Languages * Встроенная документация, включая учебное пособие для новичков. * Highly customizable, using Emacs Lisp code or a graphical customization interface. * Content-sensitive editing modes
29 Notepad++ - Notepad++ (Win)Notepad++ Бесплатный, продуманный редактор исходного кода, замена Notepad, который поддерживает несколько языков программирования, работает под MS Windows. Редактор может использоваться как в качестве продвинутого редактора кода, так и простого текстового редактора, который легко настраивается и предоставляет много функциональных возможностей, которые имеются в элитных коммерческих продуктах. Альтернатива: Notepad 2. Notepad 2 Это один из лучших редакторов. Некоторые из возможностей Notepad++: * Syntax Highlighting and Syntax Folding * User Defined Syntax Highlighting * Auto-completion * Multi-Document * Regular Expression Search/Replace supported * Full Dragn Drop supported * Zoom in and zoom out * Multi-Language environment supported * Macro recording and playback
30 4. Современные технологии создания сайтов лет назад большинство Web-сайтов представляло собой набор статических HTML-страниц. Сегодня подобные сайты по-прежнему встречаются и чаще всего именно так выполнены небольшие персональные Web-сайты, а также сайты небольших компаний, не претендующие ни на что, кроме размещения относительно небольшого объема редко меняющейся информации. Однако, в процессе превращения Интернета из набора информационных ресурсов в инструмент ведения бизнеса технологии создания сайтов существенно изменились и сегодня большинство Web-сайтов крупных компаний представляет собой набор приложений, обладающих интерактивностью, средствами персонализации, средствами взаимодействия с клиентами (вплоть до приема заказов и платежей) и партнерами, а нередко и средствами интеграции с «внутренними» корпоративными приложениями компании. Среди этих технологий можно выделить следующие: языки веб-программирования: JAVAScript, VBScript, JAVA, Perl, РНР; технологии: CGI, SSI, ASP; каскадные таблицы стилей – CSS; Flash - технологии от Macromedia. Одной из отличительных особенностей использования той или иной технологии состоит в том, что некоторые из перечисленных технологий могут применяться в Web-клиентах, в которых пользователь общается с ними посредством браузеров или чат-клиентов, а некоторые на Web-серверах.
31 Технологии, применяемые в Web-клиентах Суть применения этих технологий состоит в размещение некоторой части логики Web-приложения, например, такой как проверка корректности вводимых данных в самом Web-клиенте, например в Web-браузере. В современных Web-клиентах применяются следующие технологии: скриптовые языки Java-апплеты элементы управления ActiveX приложения Macromedia Flash
32 Скриптовые языки Скриптоовые языки предназначены для создания программ, работающих на стороне клиента (посетителя сайта), которые выполняются в браузере, запущенном на его компьютере. Большинство современных Web-браузеров способно интерпретировать код на скриптовых языках, таких как VBScript и JavaScript. Код на этих языках внедряется в Web-страницу и интерпретируется браузером. Типичными примерами применения скриптовых языков являются: проверка корректности данных, вводимых пользователем в соответствующие поля HTML-формы, непосредственно в процессе ввода или после него, без обращения к Web-серверу. Подобные примеры применения скриптовых языков можно обнаружить при заполнении некоторых анкет и получении сообщений о том, что не заполнены обязательные поля (справедливости ради отметим, что далеко не все анкеты реализованы подобным образом); кнопки, меняющие свой вид при наведении на них курсора, «бегущие строки», внедренные в Web-страницы средства обращения к поисковым системам, отображение диалоговых панелей, управление другими объектами, встроенными в Web-страницу, например, Java-апплетами или элементами управления ActiveX. При этом код, созданный с помощью скриптовых языков, не может работать самостоятельно он выполняется в адресном пространстве браузера. Кроме того, скриптовые языки содержат ограниченный набор средств, например, они не обладают средствами доступа к файловой системе.
33 Программы, написанные на языке JavaScript и VBScript встраиваются в код web-страниц, или выносятся в отдельный файл, обращение к которому осуществляется из web-страницы. При этом, даже если код на JavaScript или VBScript вынесен в отдельный файл, он все равно выполняется браузером, как если бы он был включен в web-страницу. Основным недостатком языков JavaScript и VBScript является доступность просмотра кода страницы в браузере или при сохранении страницы на диске и открытии любым текстовым редактором. Это создает сразу две проблемы - невозможность скрытия исходного кода и огромная «дыра» в безопасности, т.к. злоумышленник может изменить значение переменных JavaScript или VBScript, в поле формы вложить вредоносную программу или изменить алгоритм программы. Поэтому использовать языки программирования JavaScript и VBScript для создания программ, подобных интернет-магазинам, форумам, гостевым книгам, которые используют или записывают информацию, полученную от пользователя, с точки зрения безопасности, не целесообразно. Для решения таких задач необходимо использование программ, работающих на стороне сервера. Преимущество же клиентского языка заключается в том, что обработка скриптов на таком языке может выполняться без отправки документа на сервер.
34 Язык JavaScript - разработан компанией Netscape ( совместно с компанией SunMicrosystems ( Является надстройкой стандарта HTML и значительно расширяет возможности документа, созданного в этом формате. Это интерпретируемый язык, поддержка которого встроена во все современные браузеры. Модуль, написанный на JavaScript, интегрируется в файл HTML как подпрограмма и вызывается на исполнение из соответствующей строки HTML-кода стандартной командой. Встроенный в браузер интерпретатор языка воспринимает и скрипт, и сам код гипертекста как единый документ, обрабатывая те и другие данные одновременно. JavaScript используется, с одной стороны, для создания интерактивных управляющих элементов (кнопок, форм, средств навигации по сайту), с другой - для динамического изменения содержания страницы во время или после ее загрузки. Язык VBScript, или Visual BASIC Script (Visual Beginners All-purpose SymbolicInstruction Code Script - визуальный символический универсальный командный код для начинающих) - разработан фирмой Microsoft. Это очередная версия интерпретируемого языка, встраиваемого в html-документ с целью включения в состав web-страницы интерактивных элементов. Если сравнить JavaScript с VBScript, то обнаружить серьезные различия очень трудно, так как мнемоника и синтаксис обоих языков во многом схожи. С помощью VBScript можно реализовать практически весь спектр возможностей, характерных для JavaScript. Обе технологии не зависят от типа сервера, на котором планируется опубликовать включающую их web-страницу. Однако VBScript менее распространен в Интернете, чем его конкурент, так как он поддерживается только браузерами производства Microsoft, а именно Internet Explorer версий 3.0 и выше. Netscape Navigator не имеет интерпретатора этого языка, поэтому приверженцы этого браузера лишены возможности использовать интерактивные элементы, созданные с применением VBScript, в то время как JavaScript поддерживается и Internet Explorer, и Netscape Navigator.
35 Java-апплеты Язык программирования Java - это объектно-ориентированный, распределенный, интерпретируемый, устойчивый, безопасный, архитектурно-нейтральный, переносимый, высокопроизводительный, многопоточный и динамический язык. Разработан компанией Sun Microsystems в 1995 г. и ориентирован на самую популярную компьютерную среду - сеть Internet и серверы Web. Язык Java является полноценным языком программирования, область применения которого не исчерпывается только web-технологиями. По структуре и синтаксису он близок к языку C++ и позволяет делать практически все, что доступно последнему. Сегодня язык Java стал фактически стандартным языком программирования для сложных Web-приложений. Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах и не зависящие от конкретного типа процессора и операционной системы. Программы, составленные на языке программирования Java, можно разделить по своему назначению на три большие группы: Java-апплеты (applets) – это Java-программы в форме байт-кода, которые выполняется в веб-браузере с использованием виртуальной Java-машины (JVM). Java-сервлеты (servlets) – это Java-программы, выполняющейся на стороне сервера и расширяющие функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ и служат для обработки запросов от обозревателя.Java сервера приложения Java - это обычные программы, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ. Программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.
36 При этом для создания сайтов, за редкими исключениями, практическое значение имеют только Java- апплеты. Концепция Java-апплетов была специально разработана для использования в WWW с целью предоставления интерактивных возможностей веб-приложениям, которые не могут быть предоставлены HTML или невозможно реализовать с помощью скриптовых языков. Java-апплеты могут выполняться на всех платформах, для которых доступна виртуальная Java-машина. И в настоящее время, практически все современные браузеры способны отображать и выполнять Java- апплеты Применение апплетов Java может быть многообразно: от создания управляющих и навигационных элементов (аналогично JavaScript, но с более широкими возможностями) до сложных систем доступа к базам данных и систем с обратной связью. С помощью технологии Java можно придать странице элементы интерактивности, формировать, компоновать и полностью контролировать формат всплывающих окон и встроенных фреймов, организовывать такие активные элементы, как часы, бегущие строки и иную анимацию, создать чат. Большинство web-камер, передающих на сайт живое изображение, также работают на базе соответствующих приложений Java. Однако это требует уже программирования на достаточно высоком уровне и довольно сложной отладки в режиме on-line. Java-апплеты встраиваются в документы HTML, хранящиеся на сервере Web. Лри этом Java-апплет в отличие от JavaScript не интегрируется в использующую его страницу, а существует как самостоятельное приложение с расширением.class. Для использования апплетов в язык гипертекстовой разметки HTML были введены теги APPLET и OBJECT, указывающий имя апплета и параметры его вызова. При этом обработка HTML-документов выполняется браузером также, как и при обработке встроенной в документ графики. Сначала запрашивается документ, анализируется его содержание, а потом, если имеются теги APPLET, подгружаются апплеты. После получения всех апплетов они могут быть выполнены. При этом апплет загружается, инициализируется и запускается на исполнение в виде отдельной программы, в фоновом режиме. Java-апплеты в большинстве браузеров выполняются в отдельной области, предотвращая их доступ к локальным данным. Код апплета загружается с веб-сервера, и браузер либо вставляет апплет в веб-страницу, либо открывает новое окно с собственным пользовательским интерфейсом апплета. Из соображений безопасности аплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web.
37 Обработка апплета осуществляется следующим образом. Апплет передаются на целевую машину в виде байт-кода, который перед исполнением транслируется браузером в машинный код (в обычную исполнимую программу) методом «на лету» с помощью JIT-компиляции (Just-In-Time compilation) и сохраняется на диске, а затем выполняются в веб-браузере с использованием виртуальной Java машины (JVM). Хотя язык Java - это интерпретируемый язык программирования, однако для функционирования созданных на нем продуктов требует компиляции в так называемый промежуточный байт-код (это еще не настоящий машинный код компилятора, но уже и не исходный текст программы). Компилятор Java считывает файл с расширением.java и генерирует файл с расширением.class, который содержит инструкции в виде байт-кода, не зависящего от любой конкретной компьютерной архитектуры. Текст байт-кода одинаково легко интерпретируется на любой платформе или же транслируется в характерные для нее методы. При этом виртуальная машина JVM, входящая в состав обозревателя, может интерпретировать и выполнять байт-код Java непосредственно на любой платформе, для которой созданы интерпретатор и система времени выполнения. Поскольку практически все разработчики Web-браузеров уже лицензировали Java и реализовали в своих продуктах встроенную виртуальную машину JVM, приложения Java могут выполняться на подавляющем большинстве существующих платформ. Справка Байт-код или байтко́д (англ. byte-code), иногда также используется термин псевдоко́д машинно-независимый код низкого уровня, генерируемый транслятором и исполняемый интерпретатором. Большинство инструкций байт-кода эквивалентны одной или нескольким командам ассемблера. Трансляция в байт-код занимает промежуточное положение между компиляцией в машинный код и интерпретацией. Байт-код называется так, потому что длина каждого кода операции один байт, но длина кода команды различна. Каждая инструкция представляет собой однобайтовый код операции от 0 до 255, за которым следуют такие параметры, как регистры или адреса памяти. Это в типичном случае, но спецификация байт-кода значительно различается в языке.байт Программа на байт-коде обычно выполняется интерпретатором байт-кода, который обычно называется виртуальной машиной, так как подобен компьютеру. Преимущество в портируемости, т. е. один и тот же байт-код может исполняться на разных платформах и архитектурах. То же самое преимущество дают интерпретируемые языки. Однако, поскольку байт-код обычно менее абстрактный, более компактный и более «компьютерный», чем исходный код, эффективность байт-кода обычно выше, чем чистая интерпретация исходного кода, предназначенного для правки человеком.
38 Преимущества использования Java-апплетов кроссплатформенность, то есть, программа, написанная на Java на компьютере с определенной архитектурой и операционной системой, может исполняться и на любой другой машине. апплет может работать на «всех» установленных к этому времени версиях Java, а не только с последней версией; однако, если апплет требует последнюю версию JRE, то клиент будет вынужден ждать более длительной загрузки; апплет поддерживается большинством браузеров; он кэшируется в большинстве браузеров, а потому будет быстро загружаться при возвращении на веб-страницу; но апплет может сохраняться в кэше и создавать проблемы после выхода новых версий; он может иметь полный доступ к машине, на которой выполняется, если пользователь согласен на это; апплет может улучшить использование: после первого запуска апплета, когда JVM уже выполняется и быстро запускается, преимущественно у постоянных пользователей Java, однако JVM придется перезапускать каждый раз, когда запускается новый браузер. он может запуститься с сопоставимой (но обычно медленнее) скоростью на других компилируемых языках, таких как C++, но во много раз быстрее, чем JavaScript он может перенести работу с сервера к клиенту, делая Интернет-решение с, большим числом пользователей / клиентов. апплет способен считывать значения параметров, с содержащей его Web-страницы (например, цвета, шрифтов, файлов с графическими изображениями, используемыми при выполнении апплета), и в соответствии с этими параметрами изменять свое поведение. Кроме того, параметры апплета можно менять динамически из кода на скриптовых языках, содержащихся в составе той же страницы.
39 Java-апплет обладает следующими недостатками: он требует установки Java-расширения (plug-in), которое не во всех браузерах доступно по умолчанию; он не может запуститься до тех пор, пока не запустится виртуальная Java-машина, и это может занять значительное время при первом запуске; создание и дизайн хорошего пользовательского интерфейса с использованием апплетов считается более сложной задачей, чем с помощью технологии, основанной на HTML; для повышения безопасности апплета, ограничивается доступ к пользовательской системе: в частности, он не имеет прямого доступа к диску клиента или буферу обмена. Такие операции, как считывание и запись файлов, по умолчанию для апплетов запрещены. Если же подобные операции необходимы, то разрешения на их выполнение для конкретных апплетов и конкретных файлов описываются на клиентском компьютере. некоторые организации допускают только программное обеспечение, установленное администраторами. В результате многие пользователи не могут видеть апплеты по умолчанию. сетевой доступ из апплета возможен только к тому компьютеру, с которого он был загружен. Запуск других приложений на компьютере пользователя из апплетов невозможен. поскольку апплеты реализуют выполнение кода на компьютере клиента, они в определенной степени являются потенциально опасным содержимым. Именно поэтому все современные браузеры обладают доступными пользователю средствами ограничения возможностей выполнения апплетов. апплеты могут потребовать использования определенного JRE.
40 Элементы управления ActiveX Технология ActiveX – разработана компанией Microsoft в 1996 году. и была спроектирована, чтобы сделать более простым непрерывное воспроизведение мультимедиа через Internet Explorer. Это средство, при помощи которого Internet Explorer (IE) использует другие приложения внутри себя. С помощью ActiveX IE загружает Windows Media Player, Flash, Quicktime и другие приложения, которые могут воспроизводить файлы, внедрённые в веб-страницы. Элементы управления ActiveX активизируются при щелчке по такому объекту на веб-странице, например,.WMV-файлу, чтобы загрузить его для отображения в окне браузера Internet Explorer. Являясь продуктом Microsoft, ActiveX была специально спроектирована для работы с системами Windows. ActiveX не поддерживается другими операционными системами, такими как Mac или Linux. ActiveX - технология Microsoft, предназначенная для написания сетевых приложений. Она предоставляет программистам наборы стандартных библиотек, значительно облегчающих процесс кодирования. Если раньше при написании программ использовались механизмы OLE (OLE Automation, OLE Documents, OLE Controls,...), основанные на компонентной объектной модели (COM - Component Object Model), то теперь библиотеки OLE переписаны так, чтобы обеспечивать функциональность, достаточную для написания сетевых приложений. Таким образом, теперь при написании программ используется DCOM (Distributed Component Object Model) - распределенная компонентная объектная модель, а реализуют ее библиотеки ActiveX, которые по объему оказались гораздо меньше, чем библиотеки OLE, а по скорости - быстрее. Сохранилась и совместимость - любой программный компонент OLE будет работать с библиотеками ActiveX.
41 С помощью элементов управления ActiveX, как и посредством Java-апплетов, можно реализовать любую функциональность, в том числе и неблагоприятную для компьютера пользователя, при этом, в отличие от Java-апплетов, при выполнении элементов управления ActiveX в общем случае нет никаких ограничений на доступ к файлам и иным ресурсам операционной системы и сети, а код, содержащийся в них, выполняется от имени загрузившего их пользователя. Как и Java-апплеты, элементы управления ActiveX могут считывать свои свойства с содержащей их страницы; кроме того, свойства элемента управления ActiveX можно менять динамически из кода на скриптовых языках, содержащихся в составе той же страницы; в том же коде можно обрабатывать события, возникающие в таких элементах управления. Естественно, Microsoft Internet Explorer обладает средствами ограничения возможностей выполнения элементов управления ActiveX, в том числе управления ими из кода на скриптовых языках. Однако для контроля безопасности их выполнения имеется еще одно средство, называемое электронной цифровой подписью. Цифровая подпись помещается внутрь элемента управления ActiveX, для чего требуется наличие соответствующего электронного сертификата. Электронная подпись, помимо сведений о фирме- производителе, содержит и другую полезную информацию. Так, например, если файл с элементом управления ActiveX после добавления электронной подписи был изменен, то об этом будет немедленно сообщено перед запуском такого элемента управления при добавлении подписи к элементу управления ActiveX происходит вычисление контрольной суммы соответствующего файла. Отметим, однако, что в СНГ в настоящее время нет авторизованных компаний, которые могли бы выдать электронный сертификат международного образца. Естественно, наличие электронного сертификата не гарантирует отсутствия потенциально опасного содержимого, но, по крайней мере, позволяет клиенту установить его источник. Существенный недостаток использования: при работе с элементами управления ActiveX и Java-апплетами абсолютно бесполезно полагаться на антивирусное программное обеспечение (неважно, клиентское оно или серверное): признаков, характерных для вирусов (таких как способность внедряться внутрь исполняемых файлов и документов), подобные приложения, как правило, не содержат. Можно лишь запретить загрузку или выполнение соответствующего кода либо на уровне настроек браузера, либо на уровне корпоративных или персональных брандмауэров.
42 Приложения Macromedia Flash Flash-технологии – этот стандарт был разработан компанией Macromedia в 1996 году и объединил в себе множество мощных технологических решений в области мультимедийного представления информации. Приложения Macromedia Flash являются сегодня наиболее популярным расширением функциональности Web-браузеров с их помощью многие Web-дизайнеры придают своим сайтам интерактивность и оригинальность. Основное назначение данной технологии создание высококачественной интерактивной анимации. Ориентация на векторную графику в качестве основного инструмента разработки flash-программ позволила реализовать все базовые элементы мультимедиа: движение, звук и интерактивность объектов. При этом размер получающихся программ минимален и результат их работы не зависит от разрешения экрана у пользователя - а это одни из основных требований, предъявляемых к интернет-проектам. Одним из основных отличий Macromedia Flash от всех остальных существующих ныне web- технологий является то, что это единственный стандарт, позволяющий работать не только с растровой графикой, но и с векторной. Модель безопасности приложений Flash основана на том, что Macromedia Flash Player, как и виртуальная Java-машина, выполняет приложения в ограниченном адресном пространстве, при этом выполняемые приложения не имеют доступа к файловой системе (кроме одного конкретного каталога, используемого Macromedia Flash Player для служебных целей) и другим ресурсам компьютера пользователя; исключение делается для микрофонов и видеокамер, однако пользователь должен дать разрешение на передачу данных, полученных с этих устройств. Доступ к сетевым ресурсам ограничивается доменом, с которого было получено приложение. Отметим, что приложения Flash также могут управляться с помощью кода JavaScript, присутствующего на той же странице. Сам Macromedia Flash Player для Microsoft Internet Explorer является элементом управления ActiveX и использует возможности элементов управления ActiveX для доступа к свойствам приложений Flash из скриптовых языков.
43 Мощным представителем этой технологии является программа Macromedia FLASH MX - графический редактор векторной графики, который используется для создания графики в формате Flash. Широко используется для создания анимированных баннеров, заставок, кнопок и прочих графических элементов. В набор программ входит инструментарий разработчика под названием Flash MX и, собственно, программа просмотра Flash Player, которую придется инсталлировать пользователям для того чтобы увидеть, что у этого разработчика получилось. Основные достоинства: удобная работа с формами и аккуратная обработка возникающих при этом ошибок, возможность включать в swf-файлы видеоклипы, средства облегчения доступа к информации для инвалидов, а также инструмент Free Transform, позволяющий деформировать изображение четырьмя разными способами. Еще одной особенностями пакета Flash MX являются поддержка стандартов ECMAScript, HTML, MP3, Unicode и XML, возможность импорта видео в форматах MPEG, DV (Digital Video), MOV (QuickTime) и AVI, усовершенствованные инструменты для работы с графикой и динамическая загрузка изображений и звука. Недостаток: довольно большой вес создаваемых графических элементов и невозможность индексации страниц полностью созданных по этой технологии многими поисковыми машинами. Другими представителями этой технологии являются: Macromedia Director MX - программа для разработки мультимедийных приложений. В данной версии программы улучшена интеграция с Macromedia Flash MX и согласованность с остальными продуктами семейства Macromedia MX. Имеется поддержка форматов QuickTime 6, RealVideo и AVI. Macromedia Director может выполнять импорт файлов Macromedia Flash MX. Macromedia Generator - Программа динамически комбинирует текст, графику и звук для создания динамических сайтов. Работает совместно с Flash. Macromedia Authorware v6.0 - Macromedia Flash MX - Среда разработки Flash анимации, занявшей де-факто лидирующее положение в нише создания интерактивного видео контента и приложений для сети интернет, работающих на всех основных платформах и группах устройств. Micrografx Designer Hовая версия мощной программы для технического черчения, деловой графики и промышленного дизайна. Designer 9 (основной компонент пакета iGrafx Designer Suite) представляет собой векторный графический редактор, совместимый с популярными пакетами Adobe Acrobat, Flash, AutoCAD и другими, что позволяет пользователям легко обмениваться файлами и экспортировать свои проекты в Web-сайты.
44 Выводы Помимо вышеперечисленных наиболее популярных средств расширения функциональности браузеров имеется и ряд других средств, реализованных обычно в виде так называемых модулей расширения (plug-in). Поскольку модули расширения также представляют собой исполняемый код, современные браузеры обладают средствами ограничения возможностей, связанных с их загрузкой и выполнением. Перечисленные средства расширения функциональности HTML-страниц могут быть использованы и в динамических страницах, генерируемых серверными Web-приложениями. Так, в последнее время широкое распространение приобрели средства создания Web- приложений, выполняющихся под управлением Web-серверов и генерирующих динамические HTML-страницы с внедренным в них кодом на скриптовых языках, предназначенным для интерпретации браузером.
45 Технологии создания серверных частей Web-приложений Возможности, связанные с выполнением кода приложений в Web- клиентах, могут быть существенно ограничены как технологически, так и с помощью администрирования и пользовательских настроек. Это в целом соответствует вполне разумным требованиям безопасности. Именно поэтому, наряду с развитием средств расширения функциональности браузеров, развивались и технологии, связанные с выполнением кода приложений не в браузерах, а на самих Web-серверах. Рассмотрим кратко наиболее распространенные из них: CGI Расширения веб-серверов ISAPI и Apache DSO ASP, JSP, PHP ASP.NET Серверы приложений Web-сервисы
46 CGI Common Gateway Interface (CGI) это стандартный интерфейс, позволяющий выполнять серверные приложения, вызываемые через URL. Входной информацией для таких приложений служит содержимое HTTP-заголовка либо тело запроса, в зависимости от применяемого протокола. CGI-приложения генерируют HTML-код, который возвращается браузеру. Технология CGI (Common Gateway Interface) подразумевает использование в составе ресурса Интернет интерактивных элементов на базе приложений, обеспечивающих передачу потока данных от объекта к объекту. Именно так в Интернет организовано большинство чатов, конференций, досок объявлений, гостевых книг, поисковых машин и систем подсчета рейтинга. Однако эти сервисы требуют программирования. Все рассмотренные предыдущие технологии позволяют пользователю использовать документы, подготовленные заранее, в отличие от них CGI позволяет генерировать страницу на основе данных, как поступивших от пользователя, так и хранящихся на сервере. CGI-программа - это программа, выполняющаяся на сервере и предоставляющая пользователю конечный результат в виде сгенерированного HTML-файла, который затем скачивается пользователем (в отличии от скриптов JavaScript, выполняющихся на стороне пользователя уже после скачивания им HTML-файла с этим скриптом). Такая программа хранится на сервере и по запросу вставляет сгенерированные ею конструкции HTML в веб-страницу и не передается клиенту, т.е. посетитель просмотрев код страницы, никогда не увидит кода, генерирующего фрагменты HTML. В общем случае принцип работы CGI выглядит следующим образом: пользователь заполняет на web-странице ту или иную форму и нажимает на кнопку, после чего встроенная в код HTML строка вызова CGI-скрипта запускает соответствующую программу CGI и передает ей управление процессом обработки информации. Введенные пользователем данные отсылаются этой программе, а она, в свою очередь, встраивает их в другую страницу, отправляет по почте или трансформирует каким-либо иным способом.
47 Схематично процесс обрабатки скриптов на серверном языке программирования можно представить следующим образом: Когда пользователь дает запрос на какую-либо страницу, т.е. переходит на нее по ссылке, или вводит адрес в адресной строке своего браузера, то вызванная страница сначала обрабатывается на сервере, то есть выполняются все скрипты, связанные со страницей, и только потом возвращается к посетителю в виде простого HTML-документа (то есть посетитель уже никак не сможет увидеть код Вашего скрипта). При этом работа ваших скриптов уже полностью зависима от сервера, на котором расположен ваш сайт, и от того, какая версия того или иного языка поддерживается хостингом.
48 Скрипты CGI размещаются на сервере в специально отведенной для этих целей директории, которой, как правило, назначается имя CGI-BIN. Следует помнить, что подключение, отладка и запуск таких программ требуют соответствующих прав доступа к http-серверу,а также определенных знаний и навыков. Среди достоинств CGI следует отметить их независимость от клиентского программного обеспечения эту технологию сможет применять каждый пользователь, просматривающий содержимое сервера при помощи браузера практически любой версии. Основная проблема всех CGI-приложений заключается в том, что при каждом клиентском запросе сервер загружает это приложение в отдельное адресное пространство, а затем инициирует его выполнение и выгрузку. Эта особенность ограничивает производительность приложений и возможность одновременной обработки большого количества клиентских запросов. Главный недостаток заключается в том, что для установки и настройки приложений CGI на сервере нужно обладать как минимум правами администратора, поскольку эти программы при запуске способны нарушить нормальное функционирование серверного компьютера и дестабилизировать работу сети. Для создания CGI-приложения можно использовать такие языки программирования, как : Java Perl С PHP ASP Все они имеют свои преимущества и недостатки. Дадим их краткую характеристику.
49 PERL Язык Perl (Practical Extraction and Report Language - "Практический язык извлечения данных и формирования отчетов") - сценарный язык, создан Ларри Уоллом в конце 1980-х гг. (версия 1.0 вышла в 1987 г.). Распространяется бесплатно и является интерпретируемым языком, т.е. для того чтобы запустить подобный скрипт на исполнение, не требуется дополнительной компиляции. Первоначально он применялся в среде ОС UNIX, однако в настоящее время используется и за ее пределами. Один из самых популярных до недавнего времени языков. Файлы программ, написанные на языке PERL имеют расширение.pi. Язык программирования Perl является основным средством разработки CGI-скриптов для Web-узлов. Его не применяют только там, где требуется высокая эффективность кода и нет стандартных библиотек для Perl. Perl получил распространение потому, что был доступен на каждом Web-сервере, поскольку практически все они работали под управлением Unix, и альтернативой ему являлся только более сложный, чем Perl язык С. Perl как язык разработки скриптов имеет ряд преимуществ: независимость от программно-аппаратной платформы; мощные средства разбора строк; простота работы с переменными окружения; простота работы со входными и выходными стандартными потоками; возможность чтения заданного числа символов из входного потока; хешированные таблицы; возможность организации конвейеров; библиотеки TCP/IP-обмена; множество стандартных библиотек прикладных программ. Все это делает программное обеспечение, написанное на Perl, мобильным, а разработку программ быстрой и простой. Например, с помощью данной технологии можно организовать систему показа последовательности рекламных баннеров или автозагрузки файлов на сервер, создать форму отправки электронного письма непосредственно со страницы сайта или службу виртуальных открыток. C [Си] Язык С - это многоцелевой язык программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на мини ЭВМ и ПЭВМ. Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Язык программирования C это традиционный инструмент разработки программного обеспечения, используемый на протяжении последних 25 лет (с момента появления Unix). С учетом того, что Unix в настоящее время является основной серверной средой, умение программировать CGI-скритпы на C является одним из необходимых условий успешной работы Web-инженера. Подобные программы имеют расширение.cgi. Большинство задач при разработке скриптов можно решить средствами Perl, но есть ряд задач, которые требуют использования C-программ. Наиболее распространенным применением C являются скрипты- интерфейсы к базам данных.
50 РНР Язык РНР(Personal Home Page tools) - межплатформенный язык сценариев Сейчас наиболее популярный. ( это еще один интерпретируемый язык, напоминающий PERL, предназначенный для придания web-страницам элементов интерактивности. Технология РНР позволяет организовать на web- странице счетчик посещений, подсчитывать статистику обращений к тем или иным разделам сайта, защитить доступ к какому-либо html-документу паролем и многое другое. Это язык обработки гипертекста, который обеспечивает возможности для создания полномасштабных приложений. Код, написанный на языке РНР, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий РНР. Мнемоника данного языка базируется на синтаксисе PERL, Java и С. Методики, которые позволяют серверам корректно распознавать файлы, содержащие скрипты РНР, различны и зависят в первую очередь от типа конкретного сервера. Считается достаточным назначить такому файлу расширение.php, иногда с добавлением номера версии используемого языка, например.php2 или.php3. Его основные преимущества: широкая поддержка различных платформ: Win32 (9x/NT/2000/XP), UNIX, OS/2, QNX, MacOS, BeOS, OCX; совместимость с серверами: Apache (Win32, UNIX), phttpd, fhttpd, thttpd, ISAPI(Zeus, IIS), NSAPI, Roxen/Caudium, AOLServer; поддержка технологий COM, XML, Java, CORBA, WDDX, Macromedia Flash; развитая функциональность для работы с сетевыми соединениями; поддерживает свыше 20 баз данных и имеет развитую функциональность для работы с ними; возможность создания полноценных объектно-ориентированных приложений; сравнительно простой синтаксис и удобство в практическом использовании; Бесплатность и открытость кода, благодаря которой можно создавать собственные расширения языка. PHP по сравнению с Perl при аналогичной функциональности изучить намного легче. Это связано с тем, что Perl создавался под разработку самых разных приложений, и потому в значительной степени избыточен. Для разработки интернет-приложений проще и намного быстрее использовать язык PHP, который сразу разрабатывался под эти цели, проще интегрируется с уже имеющимся HTML и дает возможность аналогичные задачи решать более просто, чем Perl. Однако, любой уважающий себя сервер, предоставляющий услуги web- хостинга (то есть поддержания web-сайтов своих клиентов) обычно предоставляет доступ к некоторому готовому набору скриптов (заполнение и отправка форм, счетчики посещений, гостевые книги и тому подобное). А некоторые - дают возможность использовать и собственные скрипты (по согласованию с администратором сервера). Среди недостатков РНР следует отметить то, что данная технология поддерживается далеко не всеми серверами Интернета.
51 Расширения веб-сервера ISAPI и Apache DSO Расширения Web-сервера более новая разновидность серверных программ. С их помощью можно решить проблему ограниченной производительности Web-приложений, которые выполняются в отдельном адресном пространстве. Расширения Web-сервера представляют собой обычные библиотеки DLL, в которых реализована вся логика серверной программы. Такие библиотеки как бы встраиваются в программу Web-сервера и работают как ее неотъемлемая часть. Они загружающейся в адресное пространство Web-сервера и при необходимости остающейся там для обработки последующих запросов от других клиентов. При этом Web-сервер должен поддерживать загрузку таких библиотек. Именно в виде библиотек DLL создаются расширения Web-серверов Internet Information Server фирмы Microsoft, которые имеют формат ISAPI (Internet Server Application Programming Interface интерфейс программирования приложений интернет-сервера), и Netscape Web Server фирмы Netscape, которые имеют формат NSAPI (Netscape Server Application Programming Interface интерфейс программирования приложений сервера Netscape). Для создания расширений в иных операционных системах, были разработаны и другие форматы. В частности, модули расширения сервера Apache не являются библиотеками DLL и называются Apache DSO (Dynamic Shared Objects). Достоинство у расширений Web-сервера одно: бережный расход системных ресурсов, так как для обработки всех наборов данных пользователя запускается всего один экземпляр расширения, который отнимает существенно меньше ресурсов, чем уйма запущенных CGI- программ. Однако расширения труднее создавать и отлаживать. Прежде чем они смогут работать, они должны быть написаны на языке программирования и откомпилированы в машинные коды процессора, что отнимает много времени, особенно при отладке. При этом, откомпилированные программы работают быстрее интерпретируемых, т. е. тех, где каждая инструкция читается, расшифровывается и обрабатывается специальной программой- интерпретатором. К тому же расширения не так безопасны, как CGI-программы. Поскольку они работают как часть Web-сервера, любая ошибка в расширении приведет к зависанию сервера. Кроме того, при создании как CGI-, так и ISAPI-приложений довольно сложно отделить задачи Web-дизайна от задач, связанных с реализацией функциональности и логики приложений, подобные приложения генерируют Web-страницы целиком, поэтому все данные, связанные с дизайном этих страниц, должны в общем случае содержаться внутри исполняемого файла.
52 ASP, JSP, PHP Очередной шаг в развитии технологий создания Интернет-приложений появление средств, позволяющих отделить задачи Web-дизайна от задач, связанных с реализацией функциональности приложений. Первой из таких технологий стала Active Server Pages (ASP), построенная на основе ISAPI- фильтра. Основная идея ASP заключается в создании Web-страниц с внедренными в них фрагментами кода на скриптовых языках. Однако, в отличие от рассмотренных выше средств применения скриптовых языков для расширения функциональности браузеров, указанные фрагменты кода интерпретируются не браузером, а сервером (точнее, предназначенной для этого ISAPI-библиотекой), и результат выполнения этих фрагментов кода замещает сам фрагмент кода в той версии страницы, которая передается в пользовательский браузер. ASP (Active Server Pages, активные страницы сервера) это еще одна технология создания интерактивных web-страниц. Для того чтобы сделать web-страницу с применением технологии ASP интерактивной, необходимо встроить в ее код соответствующий скрипт, написанный на макроязыке, отдаленно напоминающем Java и С. Скрипт интерпретируется и исполняется непосредственно на сервере, после чего пользовательскому браузеру отправляется уже готовый html-документ с результатами работы сценария ASP. Отсюда следует вполне справедливое заключение о том, что для страниц, содержащих ASP, не имеет значения, какое программное обеспечение установлено на пользовательском компьютере. Зато принципиальное значение имеет тип сервера, на котором вы планируете использовать ASP, поскольку не все они поддерживают данную технологию. Вскоре после ASP появились и другие технологии, реализующие идею размещения внутри Web-страницы кода, выполняемого Web-сервером. Наиболее известной из них сегодня является технология JSP (Java Server Pages), основная идея которой однократная компиляция Java-кода (сервлета) при первом обращении к нему, выполнение методов этого сервлета и помещение результатов выполнения этих методов в набор данных, отправляемых в браузер. Еще одной популярной технологией подобного типа является PHP (Personal Home Pages), которая использует CGI-приложения, интерпретирующие внедренный в HTML-страницу код на скриптовом языке.
53 ASP.NET Новейшей версией технологии Active Server Pages является ASP.NET, ключевая в архитектуре Microsoft.NET Framework. Основное отличие этой технологии от ASP с точки зрения архитектуры приложений заключается в том, что код, присутствующий на Web-странице, не интерпретируется, а компилируется и кэшируется, что, естественно, способствует повышению производительности приложений. С помощью ASP.NET можно создавать Web-приложения и Web-сервисы, которые не только позволяют реализовать динамическую генерацию HTML-страниц, но и интегрируются с серверными компонентами и могут использоваться для решения широкого круга бизнес-задач, возникающих перед разработчиками современных Web-приложений. В общем случае клиентом Web-сервера может быть не только персональный компьютер, оснащенный обычными Web-клиентами (например, Web-браузером), но и мобильные устройства, отличающиеся ограниченным размером экрана, малым объемом памяти, а нередко и невозможностью отображения графики. Для этих устройств существуют свои протоколы передачи данных (Wireless Access Protocol, WAP) и соответствующие языки разметки (WML, Wireless MarkupLanguage, СHTML, Compact HTML и т.п.). При этом необходимо передавать данные на мобильное устройство в соответствующем формате, для чего нередко создаются специальные сайты (например, поддерживающие WAP и WML). Более удобным представляется создание приложений, которые способны генерировать тот или иной код в зависимости от типа клиента. Именно такой подход и реализован в Microsoft ASP.NET.
54 Серверные приложения С ростом объема используемых данных и числа посетителей Web-сайтов возрастают требования к надежности, производительности и масштабируемости Web-приложений. Для удовлетворения этим требованиям бизнес-логика, реализованная в Web-приложении, а также сервисы обработки данных и реализации транзакций, отделяются от интерфейса приложений и переносятся на сервер приложений в виде бизнес-объектов. Серверы приложений и соответствующие бизнес-объекты могут быть различного типа (наиболее распространенными из них сегодня являются серверы, поддерживающие спецификацию Java2 Enterprise Edition, и серверы, базирующиеся на технологиях COM и Microsoft.NET). Отметим, что бизнес-объекты часто предоставляют доступ к данным корпоративных информационных систем либо реализуют какую-либо часть их функциональности, осуществляя функции интеграции Web- приложений с другими приложениями, применяемыми на предприятии.
55 Web-сервисы Говоря о серверных Web-технологиях, нельзя обойти вниманием такую важную, как Web-сервисы XML. На Web-сервисы XML в настоящее время нередко возлагается решение многих задач, связанных с интеграцией приложений, в том числе созданных на разных платформах. Создавать Web-сервисы можно и в виде исполняемых файлов, и в виде библиотек, и в виде интерпретируемого кода; существуют также средства представления бизнес-объектов в виде Web-сервисов. Методы Web- сервисов можно вызывать из обычных приложений, Web-приложений и других Web-сервисов, и, за редким исключением, конечные пользователи непосредственно с Web-сервисами дела не имеют. Тем не менее в последнее время отмечается массовое появление приложений, использующих Web-сервисы, в том числе и приложений, предназначенных для конечных пользователей.
56 Каскадные таблицы стилей или CSS Используются для форматирования элементов гипертекстовой разметки. В обычном HTML для присвоения элементу определенных свойств (цвет, размер, положение на странице и т. п.) необходимо каждый раз задавать элементу свойства, даже если они полностью одинаковы и повторяются многократно CSS позволяет задавать стиль для элементов гипертекстовой разметки один раз для всего блока кода, или всей страницы, или всех файлов сайта и не делать этого для каждого повторяющегося элемента. Таким образом, CSS позволяет уменьшить размер документа (или документов) и соответственно, уменьшить время загрузки страниц. В CSS для присвоения какому-либо элементу определенных характеристик необходимо один раз описать этот элемент и определить это описание как стиль, а в дальнейшем просто указывать, что элемент, который вы хотите оформить соответствующим образом, должен принять свойства стиля, описанного Вами. Очень удобной в CSS является возможность сохранения описания стиля не в тексте страницы, а в отдельном файле. Это позволяет использовать описание стиля на любом количестве Web-страниц, а также изменять оформление любого количества страниц, исправив лишь описание стиля в одном (отдельном) файле. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. Таким образом, CSS позволяет уменьшить размер документа (или документов) и соответственно, уменьшить время загрузки страниц. CSS можно использовать практически на любом сервере без каких-либо ограничений. Крупные недостатки у данной технологии также практически отсутствуют. Кроме того, CSS позволяет работать со шрифтовым оформлением страниц на гораздо более высоком уровне, чем стандартный HTML, избегая излишнего утяжеления страниц графикой.
57 Технология SSI (Server Side Includes) - включения на стороне сервера. "Includes" (англ. "включать") - означает, что SSI добавляет что-то на ваши страницы. "Server Side" - означает то, что SSI обслуживаются сервером, а не браузером. SSI - это директивы, вставляемые прямо в HTML-код и служащие для передачи указаний Wев-серверу. Встречая такие директивы, которые, называются SSI-вставками, Web-сервер интерпретирует их и выполняет соответствующие действия. Например: вставка HTML- фрагмента из другого файла, динамическое формирование страничек в зависимости от некоторых переменных (например, типа браузера) и другие действия. Преимущества SSI проявляются, когда нам нужно поддерживать достаточно большой по объему сайт, имеющий определенную структуру и повторяющиеся элементы кода на всех страничках. При применении серверных включений сайт удобно рассматривать как состоящий из отдельных блоков, каждый из которых отвечает за свою часть странички. Эти блоки практически неизменны и повторяются от страницы к странице. В эти блоки можно вынести такие элементы странички как: главное меню, рекламные вставки, повторяющиеся элементы оформления страничек и т.д. Физически эти блоки представляют собой просто HTML-файлы, содержащие часть кода, нужную для выполнения их задачи. Для того, чтобы сервер знал, что страничка не обычная, а содержит SSI-директивы, она имеет специальное расширение: *.shtml или *.shtm, наличие которого и заставляет web-сервер предварительно обрабатывать странички. Вообще-то, расширение может быть любое - в зависимости от конфигурации web-сервера, но в основном применяется именно *.shtml. Полная страничка формируется web-сервером на лету, собирая код странички из таких вот блоков. Для того, чтобы указать серверу, какой блок нужно вставить и в каком месте странички, используется специальная форма записи в виде комментария: В то время как сервер посылает вашу страницу в браузер посетителя, он сканирует страницу, ища такого типа тег, которые сообщают о том, что надо включать вместо них. Когда он находит такие теги, он включает блоки кода вместо этого тега и отсылает результат.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.