Свободный, кросс-платформенный, основанный на стандартах, защищенный, современный, расширяемый, настраиваемый пакет приложений для работы с Интернет......и платформа для разработки приложений, включающая кросс-платформенные технологию создания пользовательского интерфейса и компонентную объектную модель!
Браузер (Навигатор) Почтовый клиент – электронная почта и конференции (newsgroup). Компоновщик – визуальный редактор HTML Дополнительные приложения Chatzilla – клиент IRC Инструменты веб-разработчика: инспектор объектной модели документа (DOM Inspector) и отладчик JavaScript. Mozilla – пакет приложений для работы с Интернет
Характеристики Mozilla Свободное ПО Свободные лицензии MPL и LGPL Кросс-платформенный пакет Доступен для Windows, Linux, Mac OS, FreeBSD, ряда проприетарных UNIX, OS/2. Существуют проекты по портированию на Amiga, BeOS и т.д. Расширяемый Технология создания дополнительных модулей. Примеры: Preference Toolbar – доступ к дополнительным настройкам Mouse Gestures – управление жестами мыши Enigmail – использование GPG для шифрования и подписывания почтовых сообщений. Настраиваемый Темы интерфейса Многочисленные настройки, доступные через диалоговые окна, экран about:config и файлы настроек.
Поддержка стандартов и рекомендаций W3C...включая современные версии HTML 4.01 XHTML 1.0/1.1 CSS (в т.ч. элементы CSS 3) DOM (объектная модель документа, в т.ч. элементы DOM 3) JavaScript (стандартизован как ECMAScript) XML XSLT MathML SOAP (простой протокол доступа к [удаленным] объектам) XML-RPC (протокол удаленного вызова процедур, основанный на XML) P3P (платформа для настроек приватности)
Функции обеспечения приватности и защиты информации В нескончаемой борьбе между пользователем и рекламой ящер всегда на стороне пользователя. Возможность запрета всплывающих окон (всех или для отдельных сайтов) Возможность запрета загрузки изображений (всех или для отдельных сайтов) Управление cookies Автоматическое распознавание спама (байесовский метод с обучением) Поддержка протоколов SSL Поддержка S/MIME (шифрование, цифровая подпись) Поддержка GPG (шифрование, цифровая подпись) – при помощи Управление паролями
Gecko – модуль отображения HTML (движок) Боковая панель Вкладки Поиск из строки адреса Удобные функции закладок – закладка на группу страниц, ключевые слова закладок Журнал посещений Особенности Навигатора
Навигатор Панель навигации Панель адреса Личная панель Заголовки вкладок Боковая панель Клиентская область браузера Кнопки для быстрого запуска Панель (строка) состояния.
Почтовый клиент Одновременная работа с несколькими учетными записями почты и конференций (newsgroups) Поддержка протоколов POP3 и IMAP Интегрированная адресная книга с поддержкой протокола LDAP Мощная система фильтров сообщений Режимы просмотра сообщений (по критериям) Автоматическое распознавание спама
Почтовый клиент Панель инструментов. Раскрывающийся список для выбора учетной записи Панель адресации Список вложений Поле ввода для темы сообщения Панель инструментов для форматирования текста Область составления сообщения
Компоновщик Визуальный редактор HTML Поддержка таблиц Автоматическая публикация страниц Создает ясный, неперегруженный код Может использоваться как редактор несложных форматированных документов
Многоплатформенность Windows Linux Mac OS FreeBSD семейство UNIX OS/2 а также Amiga BeOS и другие
История проекта открытие компанией Netscape исходного кода Netscape Communicator Июнь 2002 года – версия Mozilla Foundation
Mozilla как платформа XPFE (Cross-Platform Front End) – технология создания пользовательского интерфейса. Далее будем использовать термин технология XUL, отличая ее от языка XUL, который является лишь одним из компонентов технологии наряду с JavaScript, CSS и т.д. XPCOM (Cross-Platform Component Object Model) – компонентная модель, прикладной уровень, часто – бинарные библиотеки. XPConnect – программный интерфейс к XPCOM. Типичная ситуация: 1. Пользователь нажимает кнопку Перезагрузить страницу (описанную на языке XUL). 2. Запускается связанный с кнопкой сценарий JavaScript 3.Из сценария при помощи интерфейса XPConnect вызывается функция объекта XPCOM (перезагрузка страницы в клиентской области браузера).
Технология XUL Переносимая (работает на платформах, для которых существует Mozilla) Свободное ПО Основана на стандартах и открытых спецификациях Cходна с технологией динамического HTML (DHTML) Изменяемый внешний вид (темы)
Составляющие технологии XUL XUL (язык) – XML UI Language, язык описания пользовательского интерфейса, основанный на XML. Элементы управления, их позиционирование. JavaScript – язык сценариев CSS – каскадные таблицы стилей. Внешний вид интерфейса. Кроме того: RDF – Resource Definition Format, используется как формат источников данных. XBL - Extensible Binding Language, язык для создания составных элементов управления с более сложным поведением. DTD – используется для хранения данных, подлежащих локализации.
Технологии XUL и динамический HTML XUL DHTML Структура документа XUL HTML Поведение JavaScript JavaScript Внешний вид CSS CSS Низкий входной барьер для веб-разработчика Локальные приложения и веб-приложения – отсутствие принципиальной границы
Технологии XUL и динамический HTML
Простейший интерфейс на XUL: пример При нажатии на кнопку (событие click) будет выполнен сценарий, связанный с этим событием - в текстовом поле будет отображена строка Нажато!.
XPCOM Кроссплатформенная компонентная объектная модель Компоненты могут создаваться на языках: C, C++, JavaScript, Python (c использованием ПО PyXPCOM Могут вызываться из программ на C, C++, JavfScript Модель нейтральна по отношению к языку – в дальнейшем может быть создано связующее ПО для других языков.
Приложения на основе Mozilla XUL Komodo - интегрированная среда разработки Homebase Suite - интегрированная рабочая среда (отдельные компоненты) Oeone. В рамках этой среды текстовый процессор AbiWord завернут в компонент XPCOM. Mozilla Calendar - включается в сборки от Mozilla.ru Mozilla Amazon Browser Модуль Gecko без использования XUL – браузеры Galeon, Epiphany – Linux Camino – Mac OS
MozNGW
R2D2
Перспективы развития Независимая организация - Mozilla Foundation От монолитного приложения – к отдельным легким приложениям Mozilla FireFox – Навигатор Mozilla Thunderbird –Клиент электронной почты и конференций Отдельный Компоновщик (Standalone Composer) Sunbird – отдельная версия календаря Приложения будут выполняться в отдельных процессах, используя разделяемую копию среды выполнения GRE (Gecko Runtime Environment) - MozRunner
Проект Mozilla.Ru Задачи: Локализация Mozilla Подготовка сборок, адаптированных к потребностям российских пользователей Распространение информации о Mozilla на русском языке