Разработка интернет-браузера

Развитие Visual Basic. Автоматическая сборка мусора. Структурная обработка ошибок и многопоточность. Структура HTML-документа. Удобный интерфейс для запроса веб-страниц, их просмотра и, при необходимости, отправки введённых пользователем данных на сервер.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.05.2014
Размер файла 904,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

Введение

1. Пользовательский интерфейс

2. Развитие Visual Basic

2.1 Visual Basic: прошлое и настоящее

2.2 Версии Visual Basic

2.3 Microsoft .NET

2.4 Автоматическая сборка мусора

2.5 Структурная обработка ошибок

2.6 Многопоточноть

3. HTML

3.1 Общие сведения о HTML

3.2 Структура HTML-документа

4. БРАУЗЕР

4 1 Терминология

4.2 История развития

4. 3 Браузерный движок

4.4 Gecko

4. 5 DOM

5. Разработка интернет-браузера

5.1 Постановка задачи

5.2 Описание интернет-браузера

Список использованных источников

ВВЕДЕНИЕ

Глобальная Сеть не только соединила пользователей всего мира, но и утвердилась в виде новых технологий на наших персональных компьютерах. Действительно, пользователь, который приобрел и установил на своей машине Microsoft Office, становится обладателем Internet-технологии в готовом виде, независимо от того, подключен его компьютер к Сети или нет.

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

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

Текстовые документы, содержащие код на языке HTML обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые браузерами или интернет-обозревателями, обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Internet Explorer, Firefox, Safari, Google Chrome и Opera.

Цель проекта состоит в разработке интернет браузера, аналога уже существующих обозревателей, на объектно-ориентированном языке программирования Microsoft Visual Basic.Net, входящего в состав среды разработки Microsoft Visual Studio 2005.

1. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС

Сегодня на компьютерах применяется новое поколение программного обеспечения, которое буквально революционизировало работу пользователей. Довольно распространено мнение, что новые системы являются более «дружественными» и облегчают жизнь людей. Соответствует ли это действительности? Если бы все программы были так хороши, как их рекламируют, все пользователи были бы абсолютно счастливы. Однако программное обеспечение не настолько просто в использовании и изучении и не доставляет желаемого удовольствия.

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

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

Дизайн пользовательского интерфейса должен быть одобрен и принят его пользователями. Без хорошо проработанного интерфейса даже выдающаяся система не будет успешной. Часто пользовательский интерфейс является лишь «одёжкой» для программных функций. Норм Кокс из Далласа, штат Техас, хорошо известный консультант по проектированию пользовательского интерфейса программ, сказал, что такой подход подобен «наложению губной помады на бульдога». Это относится и к попыткам хорошим интерфейсом скрыть неудачный продукт.

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

Почему внешний вид и удобство программного обеспечения столь важны? Что делает программу удобной для установки, изучения и использования? Как протестировать программу на предмет её пригодности к применению? Как вы можете узнать о том, чего хотят пользователи программного обеспечения или даже в чём они нуждаются? А заказчики? Какого типа программное обеспечение и пользовательские интерфейсы смогут удовлетворить их нужды? Как будет развиваться проектирование интерфейса компьютерных программ в будущем? Это трудные вопросы, но бесспорно одно: пользовательские интерфейсы должны быть ключевым элементом в разработках программного обеспечения.

2. РАЗВИТИЕ VISUAL BASIC

2.1 Visual Basic: прошлое и настоящее

Visual Basic для Windows появился около 10 лет назад. Дебют состоялся 20 марта 1991 года на выставке «Windows World», хотя своими корнями он уходит к программе Ruby, написанной Аланом Купером (Alan Cooper) в 1988 году.

Бесспорно, появление Visual Basic произвело настоящую сенсацию. Стив Гиб-сон (Steve Gibson) в журнале «InfoWorld» назвал Visual Basic «потрясающим новым чудом», которое «радикально изменит подход к программированию для Microsoft Windows». Чарльз Петцольд (Charles Petzold), автор знаменитой книги, посвященной программированию для Windows на языке С, написал в «New York Times»: «Visual Basic представляет настоящую угрозу для благополучия тех, кто зарабатывает себе на жизнь, разъясняя программистам сложности программирования для Windows» (вряд ли к комментарию Петцольда стоит относиться серьезно, поскольку с того знаменательного дня были проданы миллионы книг, посвященных VB). Еще решительнее высказался Стюарт Элсоп (Stewart Alsop): он назвал Visual Basic «идеальной средой программирования для 90-х годов».

Но 90-е годы уже прошли, поэтому никого не удивит тот факт, что Visual Basic .NET отличается от обычного Visual Basic так же сильно, как Visual Basic версии 1 отличается от своего предшественника QuickBasic. Хотя из прежнего опыта использования Visual Basic можно вынести много полезного, переход на платформу .NET и Visual Basic .NET (сокращенно VB .NET) сопровождается такими же основательными изменениями, как и переход с QuickBasic для DOS на VB1 для Windows.

2.2 Версии Visual Basic

Первые две версии Visual Basic для Windows хорошо подходили для создания прототипов программ и демонстрационных приложений -- но этим все и ограничивалось. В обеих версиях отличная среда программирования сочеталась с относительной простотой языка. Сам язык обладал относительно бедными возможностями. С появлением VB3 и новых средств работы с базами данных, требовавших изучения новой модели программирования, первая реакция нередко была обескураживающей: «Зачем они испортили VB?!» Сейчас становится понятно, что включение поддержки баз данных в VB3 было необходимо, чтобы Visual Basic из «игрушечного языка» превратился в серьезный инструмент программирования. В VB4 появились базовые возможности для создания объектов, а следовательно -- базовые средства объектно-ориентированного программирования. В VB5 и VB6 объектно-ориентированные аспекты языка были расширены, появились новые возможности создания элементов и использования интерфейсов. Однако сам язык постепенно утрачивал целостность, поскольку объектно-ориентированные средства строились на базовом фундаменте, в котором их поддержка не предусматривалась. Например, правильность создания объектов в Visual Basic не гарантировалась -- программисту приходилось применять особые синтаксические конструкции вместо конструкторов, используемых практически во всех объектно-ориентированных языках. В итоге разработчики VB пришли к выводу, что поддержка VB на платформе .NET потребует новых изменений -- например, использование .NET Framework требует полноценной объектной ориентации языка.

Вероятно, при знакомстве с изменениями VB основные трудности возникнут не в связи с новшествами в среде IDE или появлением новых ключевых слов, а из-за необходимости радикального пересмотра парадигмы программирования на VB. В частности, чтобы в полной мере использовать преимущества VB5 и VB6, с объектно-базированного подхода, обладавшего весьма ограниченными возможностями создания новых объектов, приходилось переходить на объектно-ориентированный подход, в инструментарии которого, например, важное место занимают интерфейсы. К сожалению, большинство программистов VB, выросших на этом продукте, ранее никогда не использовали принципы объектно-ориентированного программирования. Когда в VB впервые появились классы, многие программисты VB понятия не имели, что это такое и зачем они нужны.

Но даже эти ограниченные возможности, появившиеся в VB5 и VB6, при правильном применении упрощали работу над большими проектами. Например, они позволяли создавать компоненты многократного использования (такие, как элементы управления), а на более прозаическом уровне -- просто приводить код в порядок, упрощая его сопровождение. В некоторых случаях удавалось исключить оператор Select Case, нередко порождавший большие проблемы с сопровождением.

2.3 Microsoft .NET

.NET Framework является многоязычной средой для создания, развертывания и запуска приложений и веб-служб XML. Продукт состоит из трех частей:

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

Унифицированные классы программирования. Платформа предоставляет разработчикам унифицированный, объектно-ориентированный, иерархически-организованный и расширяемый набор библиотек классов (API). В настоящее время разработчики, использующие C++, применяют Microsoft Foundation Classes, а разработчики, использующие Java, -- Windows Foundation Classes. .NET framework унифицирует эти модели и предоставляет программистам на Visual Basic и JScript доступ к библиотекам классов. Создавая общий набор API во всех языках программирования, общеязыковая среда выполнения дает возможность наследования, обработки ошибок и отладки в различных языках. Все языки программирования, начиная с JScript и заканчивая C++, имеют одинаковый доступ к платформе, и разработчики могут самостоятельно выбрать язык, который они будут использовать.

ASP.NET построена на классах программирования .NET Framework; она содержит модель веб-приложения с набором элементов управления и инфраструктурой, что упрощает создание веб-приложений ASP. ASP.NET включает набор элементов управления, инкапсулирующих типичные элементы пользовательского интерфейса HTML, например текстовые поля и раскрывающиеся меню. Эти элементы управления запускаются на веб-сервере и загружают пользовательский интерфейс в обозреватель в виде HTML. На сервере элементы управления представляют собой модель объектно-ориентированного программирования со всеми функциями, необходимыми разработчикам веб-приложений. ASP.NET также дает возможность использования инфраструктуры, например управления состоянием сеанса или повторного использования процессов, что способствует дальнейшему уменьшению объема кода, который необходимо написать разработчику, и повышению надежности приложения. Кроме того, в ASP.NET те же понятия используются для того, чтобы позволить разработчикам предлагать программное обеспечение в форме услуги. Используя функции веб-служб XML, разработчики, использующие ASP.NET, могут писать алгоритм бизнеса и использовать инфраструктуру ASP.NET для доставки такой услуги через SOAP.

Какое отношение все сказанное имеет к .NET? Самое прямое. Видите ли, .NET изменит подход к проектированию приложений так же сильно, как появление классов в VB некогда повлияло на проектирование приложений VB5 и 6. И переход на .NET вызовет определенные неудобства -- как и переход от «бесклассовых» версий VB к поддержке классов. Рассмотрим некоторые факторы, которые следует учитывать при переходе с VB6 на VB .NET. Common Language Runtime

Исполнительная среда (runtime) всегда присутствовала в Visual Basic, поэтому следующее утверждение поначалу выглядит несколько странно. Итак, одним из самых серьезных новшеств VB .NET является наличие исполнительной среды CLR (Common Language Runtime), общей для всех языков .NET. Хотя на первый взгляд CLR напоминает обычную библиотеку времени выполнения наподобие библиотеки С MSVCRTXX.DLL, библиотека VB MSVBVMXX.DLL имеет значительно большие размеры и обладает гораздо большими возможностями. По этой причине написание программ, в полной мере использующих CLR, больше походит на программирование для API новой операционной системы. Поскольку все языки .NET используют одну и ту же среду CLR, необходимость в исполнительных средах для отдельных языков отпадает. Более того, код, предназначенный для выполнения в CLR, может быть написан на любом языке и с одинаковым успехом использоваться во всех языках, соответствующих спецификации CLR. В этом проявляется главное отличие .NET от Java: на платформе .NET можно использовать любой язык при условии, что он соответствует спецификации CLR. Программа, написанная на Java, работает на любой платформе (по крайней мере теоретически -- на практике возникают проблемы), но при условии, что она написана именно на Java. Вероятно, именно языковая интеграция станет одной из составляющих успеха .NET. В частности, код VB может использоваться в программах, написанных на С#, и наоборот, причем это не потребует дополнительных усилий со стороны программиста.

Следующее принципиальное новшество -- общий формат исполняемого кода .NET, так называемый Microsoft Intermediate Language (промежуточный язык Microsoft), MSIL или просто IL Он представляет собой частично откомпилированный код, преобразуемый в машинный код средой .NET во время выполнения. Перед нами принципиальное усовершенствование схемы, существовавшей во всех версиях VB до версии 5. Раньше приложения VB компилировались в Р-код (псевдокод, машинный язык абстрактной машины), своего рода промежуточное представление окончательного исполняемого кода. Механизм времени выполнения интерпретировал Р-код при запуске программы пользователем. Пользователи постоянно жаловались на плохое и упрашивали Microsoft включить в VB поддержку компиляции в машинный код. Начиная с версии 5 появилась возможность выбора между компактным Р-кодом и машинным (native) кодом, который занимал больше места, но теоретически быстрее работал. В языках .NET преимущества Р-кода объединились с преимуществами компилируемых языков. Сначала программа, написанная на любом языке, компилируется в IL (отдаленный аналог Р-кода), а затем полученный IL-код преобразуется в машинный код. Подобная двухшаговая схема относительно легко обеспечивает межъязыковую совместимость, а итоговое использование машинного кода обеспечивает хорошее быстродействие.

2.4 Автоматическая сборка мусора

У программистов, работающих на Visual Basic, всегда возникали проблемы с утечкой памяти из-за так называемых циклических ссылок (ситуация, при которой объект А ссылается на объект В, а объект В ссылается на объект А). Если появление циклических ссылок было обусловлено логикой программы, компилятор VB не распознавал их, в результате чего память, занимаемая этими объектами, не освобождалась. Система сборки мусора, встроенная в .NET CLR, решает проблему циклических ссылок иначе -- интеллектуальный алгоритм обнаруживает циклические ссылки, разрывает их и освобождает занимаемую память, что существенно ускоряет работу приложения, а так же уменьшает размер занимаемой им памяти.

2.5 Структурная обработка ошибок

Во всех версиях Visual Basic использовался механизм обработки ошибок, появившийся в самой первой версии BASIC. У него есть недостатки. Использование в современном языке программирования команды:

On Error Goto Err

<оператор или операторы, вызывающие ошибки>

Err:

Select Case Error-Number

Case 57

MsgBox "Your printer may be off-line."

Case 68

MsgBox "Is there a printer available?"

<Другие секции Case>

Case Else

< Все остальные случаи>

End Select

неимоверно усложняющей логику программы. В VB .NET реализована структурная обработка ошибок, самый современный и мощный механизм обработки ошибок:

Try

<оператор или операторы вызывающие ошибки>

Catch ex as Exception

<Первый обработчик ошибок>

Catch ex as Integer

<Второй обработчик ошибок>

End try,

что даёт возможность обработки различных исключительных ситуаций и ошибок.

2.6 Многопоточность

visual basic интерфейс страница

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

Многозадачность в современных операционных системах воспринимается как нечто само собой разумеющееся. До появления Apple OS X на компьютерах Macintosh не было современных многозадачных операционных систем. Правильно спроектировать операционную систему с полноценной многозадачностью очень трудно, поэтому за основу OS X пришлось взять систему Unix. Пользователь рассчитывает на то, что при одновременном запуске текстового редактора и почтового клиента эти программы не будут конфликтовать, а при приеме электронной почты редактор не перестанет работать. При одновременном запуске нескольких программ операционная система быстро переключается между программами, по очереди предоставляя им процессор (если, конечно, на компьютере не установлено несколько процессоров). В результате создается иллюзия одновременной работы нескольких программ, поскольку даже лучшая машинистка (и самое быстрое Интернет-соединение) не угонится за современным процессором.

Многопоточность (multithreading) в каком-то смысле можно рассматривать как следующий уровень многозадачности: вместо того, чтобы переключаться между разными программами, операционная система переключается между разными частями одной программы. Например, многопоточный почтовый клиент позволяет принимать новые сообщения электронной почты во время чтения или составления новых сообщений. В наше время многопоточность тоже воспринимается многими пользователями как должное.

В VB нормальной поддержки многопоточности не было никогда. Правда, в VB5 появилась одна из ее разновидностей -- совместная потоковая модель (apartment threading). Совместная модель предоставляет в распоряжение программиста часть преимуществ многопоточности, но не позволяет использовать все возможности в полной мере. Рано или поздно с учебной машины приходится пересаживаться на настоящую, и VB .NET стал первой версией VB с поддержкой свободной многопоточной модели.

3. HTML

3.1 Общие сведения о HTML

HTML (от англ. HyperText Markup Language -- «язык разметки гипертекста») -- стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.

HTML является приложением SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879.

Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1991--1992 годах в стенах Европейского совета по ядерным исследованиям в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов (размечаемых «тегами»), служащих для создания относительно простых, но красиво оформленных документов. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже. Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <TABLE>, несколько раз использованный для форматирования страницы, которую вы сейчас читаете, предназначен для создания в документах самых обычных таблиц, но, как можно убедиться, здесь нет ни одной таблицы. С течением времени, основная идея платформонезависимости языка HTML была отдана в своеобразную жертву современным потребностям в мультимедийном и графическом оформлении.

Текстовые документы, содержащие код на языке HTML (такие документы традиционно имеют расширение «html» или «htm»), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые браузерами или интернет-обозревателями, обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Internet Explorer, Firefox, Safari, Google Chrome и Opera.

3.2 Структура HTML-документа

HTML -- это теговый язык разметки документов. Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками -- тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных (например, тег перевода строки <br>). В этом случае обычно не указывается закрывающий тег. Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:

<strong>Текст между двумя тегами -- открывающим и закрывающим.</strong>

<a href="http://www.example.com">Здесь элемент содержит атрибут href.</a>

А вот пример пустого элемента: <br>

Регистр, в котором набрано имя элемента и имена атрибутов, в HTML значения не имеет (в отличие от XHTML). Элементы могут быть вложенными. Например, следующий код:

<b>

Этот текст будет жирным,

<i>а этот - ещё и курсивным</i>

</b>

Кроме элементов, в HTML-документах есть и сущности (англ. entities) -- «специальные символы». Сущности начинаются с символа амперсанда и имеют вид &имя; или &#NNNN;, где NNNN -- код символа в Юникоде в десятеричной системе счисления.

Например, &copy; -- знак авторского права (©). Как правило, сущности используются для представления символов, отсутствующих в кодировке документа, или же для представления «специальных» символов: &amp; -- амперсанда (&), &lt; -- символа «меньше» (<) и &gt; -- символа «больше» (>), которые некорректно записывать «обычным» образом, из-за их особого значения в HTML.

Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, должен начинаться со строки объявления версии HTML <!DOCTYPE…>, которая обычно выглядит примерно так:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее.

Далее обозначается начало и конец документа тегами <html> и </html> соответственно. Внутри этих тегов должны находиться теги заголовка (<head></head>) и тела (<body></body>) документа.

Варианты DOCTYPE для HTML 4.01

Строгий (Strict): не содержит элементов, помеченных как «устаревшие» или «не одобряемые» (deprecated).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Переходный (Transitional): содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

С фреймами (Frameset): аналогичен переходному, но содержит также теги для создания наборов фреймов.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

4. БРАУЗЕР

4 1 Терминология

Веб-обозреватель, или браузер (от англ. Web browser)-- программное обеспечение для поиска, просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), для их обработки, вывода и перехода от одной страницы к другой.

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

Браузеры постоянно развивались со времён зарождения Всемирной паутины, и с её ростом становились всё более важной программой типичного персонального компьютера. Ныне браузер -- комплексное приложение для обработки и вывода разных составляющих веб-страницы и для предоставления интерфейса между веб-сайтом и его посетителем. Практически все популярные браузеры распространяются бесплатно или «в комплекте» с другим приложением: Internet Explorer (неотъемлемая часть Microsoft Windows), Mozilla Firefox (бесплатно, свободное ПО), Opera (бесплатно, начиная с версии 8.50), Safari (совместно с Mac OS или бесплатно для Windows).

По данным компании Net Applications, за май 2009 года рыночная доля

Internet Explorer составляла 65,50 %, Firefox -- 22,51 %, Safari -- 8,43 %, Google Chrome -- 1,80 %, Netscape -- 0,74 %, Opera -- 0,72 %, Mozilla -- 0,10 %, Opera Mini -- 0,08 %, PlayStation -- 0,04 %, ACCESS NetFront -- 0,03 %, Blazer -- 0,02 %, Pocket Internet Explorer -- 0,01 %, прочие -- около 0 %.

4.2 История развития

Первым распространённым браузером с графическим интерфейсом был NCSA Mosaic. Исходный код этого одного из первых браузеров был открыт и некоторые другие браузеры (Netscape Navigator и Internet Explorer) взяли его за основу. Этот браузер имел свои недостатки, но почти все они были устранены в браузере Netscape Navigator (некоторые сотрудники компании Netscape были из NSCA и участвовали в разработке Mosaic). Netscape выпустила Netscape Navigator под разные операционные системы (UNIX, Windows, Mac OS) и добилась заметного успеха, в том числе и коммерческого. Это побудило компанию Microsoft выпустить свой браузер Internet Explorer.

В отличие от Netscape, Microsoft сразу выпускала локализованные версии IE. В 1995 году Microsoft выпустила операционную систему Windows 95, в ней не было встроенного браузера, но через некоторое время в обновление системы (Windows 95 OSR2) браузер (Internet Explorer 3.0) был встроен. За «агрессивную позицию в завоевании нового рынка и нечестные методы борьбы» Microsoft была оштрафована; за Windows 95 Microsoft брала с продавцов компьютеров 100 долларов, а за версию Windows 95 с IE -- 97 долларов таким образом продвигая IE на рынок браузеров. Компания также отказывалась поставлять браузер отдельно от ОС, за что тоже была оштрафована; кроме того, название браузера и обозначение ярлыков даёт повод думать, что сеть Интернет и браузер Microsoft Internet Explorer -- это одно и то же. К тому же, Microsoft добавляла в свой браузер несовместимые со стандартами расширения языка HTML, и это можно считать началом войны браузеров, закончившейся монополизацией (более 95 %) рынка браузером от Microsoft.

Из-за потери рынка доходы компании Netscape упали и её приобрела AOL, а исходный код браузера Netscape был выпущен под свободной лицензией MPL (Mozilla Public License). Название «Mozilla» изначально присутствовало в браузере от Netscape и означало сокращение слов Mosaic+killer. Однако этот код было решено не использовать, и вместо него для Netscape 6 с нуля был написан новый движок (Gecko), изначально ориентировавшийся на полную поддержку стандартов, на основе которого позже были созданы входящие в комплект Mozilla Suite браузер, почтовый и irc-клиент и редактор веб-страниц.

В последствии в Mozilla Foundation было принято решение поставлять и развивать браузер отдельно от общего пакета и родился проект Mozilla Firefox. Firefox содержит много возможностей, отсутствующих в IE или других браузерах, и постепенно набирает популярность (на 2008 год -- около 20, а в некоторых странах -- и до 40 % рынка браузеров).

Монополизация рынка браузером IE имела и другие последствия -- Microsoft почти перестала развивать браузер и он с 4-й до 6-й версии почти не менялся: хуже других браузеров поддерживал стандарты, отставал по удобству использования и по скорости работы и отображения страниц. Такое положение сподвигло Microsoft вновь заняться браузером и седьмая версия вышла с некоторыми изменениями (были добавлены закладки-табы, улучшена поддержка стандартов, поднята скорость работы). Однако, на текущий момент скорость прохождения тестов javascript (основа web 2.0) всё равно почти на порядок хуже, чем у других браузеров. Сейчас Microsoft переделывает свой браузер и готовит 8-ю версию, ещё лучше отвечающую стандартам и более быстро работающую.

В 1996 году появился браузер Opera. Долгое время этот браузер позиционировался как самый быстрый браузер. Он действительно был самым лёгким и в старте, и в загрузке из Интернета, и в отображении страниц, и в зависимости от ведущего в тот момент на рынке браузера была совместим с ним (или старался быть таковым). Первоначально Opera распространялась как условно-бесплатное ПО (shareware), но в 2005 году Opera также стала распространяться бесплатно.

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

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

В локализованных версиях операционных систем семейства Microsoft Windows до 2008 года браузеры именовались обозревателями, обозревателями сети или веб-обозревателями.

Учитывая уменьшение доли IE на рынке браузеров (впервые за несколько последних лет доля Микрософт упала ниже 90 процентов), компания Google решила «помочь» конкуренции на рынке браузеров и выпустила свой браузер с открытым исходным кодом -- Chrome. Браузер Chrome 1.0 содержит некоторые новшества (изоляция сбоев, режим «инкогнито» и т. д.). Пока выпущена версия только для Windows XP и Vista, для других ОС возможна только сборка из исходных текстов, однако готовые варианты браузера для других ОС компания обещает выпустить позже.

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

4.3 Браузерный движок

Браузерный движок (англ. layout engine), или просто движок, представляет собой программу преобразующую содержимое веб-страниц (файлы HTML, XML, цифровые изображения и т. д.) и информацию о форматировании (в форматах CSS, XSL и т. д.) в изображение форматированного содержимого на экране. Браузерный движок обычно используется в веб?браузерах (отсюда название), почтовых клиентах и других программах нуждающихся в отображении и редактировании содержимого веб-страниц.

Основные браузерные движки

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

· Gecko -- открытый движок проекта Mozilla; используется в большом числе программ, основанных на коде Mozilla (браузере Firefox, почтовом клиенте Thunderbird, наборе программ SeaMonkey.

· Trident -- проприетарный движок Microsoft Internet Explorer; используется многими программами для Microsoft Windows (например, мини-браузерами в программах Winamp и RealPlayer).

· Разработанный Opera Software проприетарный движок Presto лицензирован для использования рядом сторонних компаний, а также является базой для браузера Opera.

· KHTML, разработанный в рамках проекта KDE, используется в браузере Konqueror и послужил основой для WebKit -- движка для браузера Apple Safari, включенного в операционную систему Mac OS X.

4.4 Gecko

Gecko -- это свободный движок вывода веб-страниц (англ. layout engine) браузеров Mozilla Firefox, Mozilla, Netscape и других. Старые названия -- «Raptor» и «NGLayout». Главная концепция Gecko заключается в поддержке открытых стандартов Интернета, таких как HTML, CSS, W3C DOM, XML 1.0 и JavaScript. Другая концепция -- кросс-платформенность. На сегодняшний день Gecko работает на операционных системах Microsoft Windows, Mac OS X, GNU/Linux и FreeBSD, а также на Solaris, HP-UX, AIX, Irix, OS/2, OpenVMS, BeOS, Amiga и других.

Gecko имеет поддержку XUL (XML User Interface Language), созданного специально для него XML-языка описания пользовательского интерфейса. На XUL написаны все основные продукты семейства Mozilla.

4.5 DOM

DOM (Document Object Model - «объектная модель документа») - это независящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому документов, а также изменять содержимое, структуру и оформление документов.

Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родительский-дочерний.

Изначально различные браузеры имели собственные модели документов (DOM), не совместимые с остальными. Для того, чтобы обеспечить взаимную и обратную совместимость, специалисты международного консорциума W3C классифицировали эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C

Уровни W3C DOM:

Текущим уровнем спецификаций DOM является Уровень 2, но тем не менее некоторые части спецификаций Уровня 3 являются рекомендуемыми W3C.

Уровень 0

Включает в себя все специфические модели DOM, которые существовали до появления Уровня 1, например document.images, document.forms, document.layers и document.all. Необходимо обратить внимание, что эти модели формально не являются спецификациями DOM, опубликованными W3C, а скорее являются информацией о том, что существовало до начала процесса стандартизации.

Уровень 1

Базовые функциональные возможности DOM (HTML и XML) в документах, такие как получение дерева узлов документа, возможность изменять и добавлять данные.

Уровень 2

Поддержка так называемого пространства имён XML <--filtered views--> и событий.

Уровень 3

Состоит из шести различных спецификаций:

DOM Level 3 Core;

DOM Level 3 Load and Save;

DOM Level 3 XPath;

DOM Level 3 Views and Formatting;

DOM Level 3 Requirements;

DOM Level 3 Validation.

Эти спецификации являются дополнительными расширениями DOM.

5. РАЗРАБОТКА ИНТЕРНЕТ-БРАУЗЕРА

5.1 Постановка задачи

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

5.2 Описание интернет-браузера

Главное окно приложения выглядит следующим образом (Рисунок 5.2).

Рисунок 5.1 - Внешний вид, интерфейс программы

Как видно на рисунке браузер имеет адресную строку, строку состояния, где отображается информация, кнопки навигации, и дополнительные кнопки.

Интерфейс приложения построен в виде табов (вкладок) что позволяет быстро переключатся между открытыми страницами (Рисунок 5.2).

Рисунок 5.2 - Вкладки с документами

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

Рисунок 5.3 - Адресная строка и кнопки навигации

На рисунке 5.3 изображены адресная строка и кнопки навигации. Адресная срока позволяет как просматривать адрес текущей страницы, так и вручную ввести тот url адрес на который необходимо осуществить переход

Кнопки навигации (слева направо):

Переход назад - позволяет вернуться к ранее открытому документу, осуществляет перемещение по истории переходов назад

Переход вперёд - осуществляет перемещение по истории переходов вперёд

Кнопка обновить - служит для намеренного обновления документа или загрузке по адресу введённому в адресной строке

Кнопка стоп - позволяет прервать загрузку страницы.

Рисунок 5.4 - Адресная строка

В адресной строке реализована функция быстрой подстановки адреса на котором уже побывал пользователь (Рисунок 5.4), что заметно сокращает время на набор нужного адреса

Рисунок 5.5 - Дополнительные кнопки браузера

Дополнительные кнопки предназначены для:

Кнопка со значком лупы позволяет открыть окно для поиска необходимой информации в интернете (Рисунок 5.6)

Рисунок 5.6 - Окно поиска в действии

Окно поиска позволяет открыть страничку с найденной информацией как на текущей вкладке, таи создать новую

При клике на логотип Google происходит переход на главную страницу этой компании

Кнопка с изображение шестерни вызывает окно «О программе» (Рисунок 5.7)

Рисунок 5.7 - Окно информации «О программе»

В данном окне есть две особенности: кнопка «Настройки…» открывает дополнительное окно с настройками, где можно ввести адрес страницы по умолчанию, которая будет открываться в каждой новой вкладке. Так же ссылка которая вызывает окно, позволяющее отправить пожелания разработчику.

Рисунок 5.9 - Окно «Настройки»

Рисунок 5.9 - Окно «Отправить сообщение разработчику»

Кнопка Отменить в окне настроек позволяет вернуть значения по умолчанию даже если была нажата кнопка применить.

Ниже расположены три кнопки (Рисунок 5.5) с надписями «s», «n», «x»

Кнопка «s» (Source) - открывает окно в котором показывается исходный код страницы.

Кнопка «n» (New) -Создаёт новую вкладку.

Кнопка «x» - так же, как и кнопка на табах, позволяет закрыть текущую вкладку.

Рисунок 5.10 -Меню вкладки

Меню страницы открывает доступ к основным операциям над вкладкой. Таким как открытие документа, так же возможно открытие нескольких документов, для которых будут созданы отдельные вкладки. Создание окна или вкладки. Сохранение документа на компьютере. Просмотр исходного кода, свойств, закрытие вкладки. Выход из приложения.

Размещено на Allbest.ru


Подобные документы

  • Основы работы с языком программирования Visual Basic 6.0, разработка и обработка созданных баз данных. Создание экранной формы и запросов по таблице VIP. Алгоритм совместного запроса по таблицам VIP и PROD. Методика разработки пользовательского меню.

    курсовая работа [2,7 M], добавлен 04.06.2009

  • Изучение возможности создания интерактивных WEB - страниц для получения информации в сети Интернет с использованием форм, заполняемых пользователем. Тег, контейнер, атрибут, их понятие и сущность. Структура любого HTML- документа и использование ссылок.

    контрольная работа [28,1 K], добавлен 05.03.2009

  • Браузер как программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц, их обработки, вывода и перехода от одной страницы к другой. Теги a, img, Script и Style. Используемые технологии Java. Разработка и реализация программы.

    дипломная работа [571,4 K], добавлен 07.07.2013

  • Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.

    курсовая работа [3,0 M], добавлен 19.06.2010

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

  • Основные технологии веб-программирования. Методы отправки данных на сервер с помощью HTML-формы. PHP - Препроцессор Гипертекста. Сохранение данных в базе данных MySQL. Клиент-Сервер и технология CGI. Примеры использования PHP совместно с MySQL.

    лекция [2,9 M], добавлен 27.04.2009

  • Термин HTML (HiperText Markup Language) и его реализация. Программы просмотра страниц написанных на зыке манипулирования гипертекстами. Характеристика специальных программ – браузеров: Google Chrome, Opera, Mozilla Firefox. Структура HTML-страницы.

    контрольная работа [118,8 K], добавлен 05.04.2015

  • Использование языка гипертекстовой разметки HTML. Преимущества интернет-хостинга Yutex.ru. Структура базы данных информационной системы "Электронная газета". Структура сайта, описание разделов и страниц. Интерфейс и сценарии администраторского блока.

    курсовая работа [2,2 M], добавлен 07.07.2015

  • Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.

    реферат [20,7 K], добавлен 11.03.2010

  • Понятие об html. Структура файла в формате html. Отличительный признак html-документа. Гипертекстовые ссылки. Создание документов в стандарте html. Заголовки. Форматирование текста и изменение стилей. Фреймы.

    реферат [23,7 K], добавлен 17.08.2007

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.