СОДЕРЖАНИЕ
Введение
. Пользовательский интерфейс
. Развитие Visual Basic
.1 Visual Basic: прошлое и настоящее
.2 Версии Visual Basic
.3 Microsoft .NET
.4 Автоматическая сборка мусора
.5 Структурная обработка ошибок
.6 Многопоточноть
. HTML
.1 Общие сведения о HTML
.2 Структура HTML-документа
. БРАУЗЕР
1 Терминология
.2 История развития
. 3 Браузерный движок
.4 Gecko
. 5 DOM
. Разработка интернет-браузера
.1 Постановка задачи
.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: прошлое и настоящее
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++, имеют одинаковый доступ к платформе, и разработчики могут самостоятельно выбрать язык, который они будут использовать..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-код преобразуется в машинный код. Подобная
двухшаговая схема относительно легко обеспечивает межъязыковую совместимость, а
итоговое использование машинного кода обеспечивает хорошее быстродействие.