MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Что такое Gecko

Gecko - это браузерный движок с открытым исходным кодом, предназначенный для поддержки открытых интернет-стандартов, таких как HTML 4, CSS 1/2, W3C DOM, XML, JavaScript и других.

Gecko используется во многих браузерах, таких как Mozilla Firefox, SeaMonkey, Camino, Epiphany, K-Meleon и других. Gecko постоянно находится в процессе разработки под руководством компании mozilla.org. Ранее Gecko был известен под кодовыми именами Raptor и NGLayout; новое название было выбрано в связи с рассмотрением дела о нарушении прав на использование старой торговой марки.

Что такое браузерный движок

По существу, это программная библиотека, которая использует контент (информацию, размеченную с помощью языков HTML и XML; графические файлы, апплеты и т.д.) и информацию о его оформлении (каскадные таблицы стилей, тэги языка HTML, используемые для визуальной разметки) и отображает отформатированный контент на экране. Таким образом, движок "заполняет" область информационного наполнения, которая представляет из себя пустое пространство внутри окон графического интерфейса пользователя chrome.

Формально движок определяет правила размещения контента на странице. Ядро этого движка очень быстрое. Кроме того, Gecko предоставляет средства анализа документов различных типов (HTML, XML, SVG и др.), улучшенные возможности визуализации, включая создание составных изображений и их трансформацию. Движок поддерживает встроенный интерпретатор языка JavaScript и плагины.

Более того, Gecko настолько быстрый и мощный, что он используется для создания пользовательского интерфейса (chrome) некоторых приложений. Иными словами, этот движок используется не только для отображения контента, но и для отображения панелей прокрутки (scrollbar), панелей инструментов (toolbar), а также разнообразных меню. См. также информацию о технологии XUL.

 

Чем отличается браузерный движок, такой как Gecko от полнофункционального web-браузера?

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

В рамках проекта mozilla.org все необходимые компоненты собираются в полноценные приложения, такие как Firefox, Thunderbird, SeaMonkey, Camino. Все они свободно доступны для скачивания с сервера mozilla.org. Компания Netscape выпускала свои собственные версии браузера под торговой маркой Netscape Navigator. Другие компании также выпускают свои собственные программные продукты, которые использую движок Gecko. Вам будет интересно ознакомиться с частичным списком приложений использующих движок Gecko посредством технологии XULRunner, на странице XULRunner Hall of Fame.

Третьи лица, такие как независимые продавцы программных продуктов (ISV) и поставщики аппаратного обеспечения отбирают компоненты, которые они хотят использовать в собственных приложениях или устройствах. Некоторые компоненты браузера, такие как закладки, журнал посещений, адресная книги и т.д., не распространяются как часть Gecko. Тем не менее, исходный код всех этих компонентов доступен для бесплатной загрузки с сайта mozilla.org.

Почему мы создаём новый движок?

Начальный браузер Mozilla, впервые выпущенный под названием Navigator 1.0, был быстро разработан небольшой командой разработчиков, страстно желавших создания революционного, новаторского продукта, новинка, "захватчика рынка" - и они в этом серьезно преуспели. После, когда web эволюционировал, компания Netscape собрала отличную команду, которая перестроила движок, выведя его на новый уровень, необходимый для создания будущих продуктов. Gecko делает возможным создание революционно нового класса динамического, намного более интерактивного контента, и предоставляет больший контроль над визуальным отображением для web-разработчикам, используя открытые стандарты вместо проприетарных API. Мы приглашаем Вас присоединиться к работе команды на странице getting involved.

Как движок Gecko используется в иных продуктах компании mozilla.org ?

Gecko лежит в основе браузера Netscape 6, обеспечивая работу всех его компонентов, включая Navigator и Messenger. Технология Gecko также ускоряет отображение портала Netscape.com, быстрее доставляя интерактивный контент и сервисы. Архитектура Gecko будет обслуживать Netscape также и в будущем, позволяя внедрять больше инноваций за меньшую стоимость, облегчая распространение и обновление ПО, обеспечивая их межплатформенную поддержку.

Как компания Netscape собирается использовать Gecko?

Как могут другие компании и организации использовать этот движок?

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

Над поддержкой каких открытых стандартов в движке Gecko работает команда разработчиков и почему она поддерживает их?

  • HTML 4.0, тег canvas из HTML 5
  • CSS 1 и CSS 2
  • DOM 0/1/2
  • XML 1
  • RDF
  • JavaScript 1.5
  • HTTP 1.1 и FTP
  • SSL
  • Unicode
  • OJI (Open Java Interface)
  • Image formats
    • PNG
    • GIF
    • JPEG, PJPEG

 

Обозначает ли полное соответствие движка стандартам отсутствие багов в данной или последующих версиях ?

Как Gecko форматирует документы XML?

Для форматирования XML-документов движок использует технологии CSS и XSLT.

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

Чем Gecko полезен авторам и разработчикам контента?

Для авторов разработка, а после тестирование каждой web-страницы несколько раз для поддержки различных, несовместимых между собой объектных моделей документов (DOM) браузеров, зависимых от поставщиков ПО, является достаточно утомительным занятием. Вот почему они требуют, чтобы все поставщик программного обеспечения полностью поддерживали открытые стандарты, перечисленные выше, чтобы:

  • иметь возможность воспользоваться принципом "написал единожды - просматривай везде";
  • иметь в своём распоряжении богатую, мощную систему форматирования и объектную модель.

Надёжная поддержка этих стандартов в Gecko делает его платформой, которую выбирают разработчики web-приложений и авторы контента во всём мире.

Построен ли Gecko API на основе ActiveX, COM, JavaBeans?

Благодаря технологии XPCOM, межплатформенному подмножеству COM, Gecko может быть повторно использован на всех платформах. Технология COM, изначально разработанная фирмой Digital, а позже перенятая компанией Microsoft, является стандартом де-факто для модульных интерфейсов на платформах Windows.

Более того, на платформах Windows, интерфейсы Gecko XPCOM "обёрнуты" в элементы управления ActiveX. Таким образом, разработчики на языке Visual Basic могут использовать их в своих программах. Тем не менее, на иных платформах элементы управления ActiveX не могут быть использованы, ибо эта технология специфична для платформы Windows.

Оболочка (wrapper) XPCOM для JavaBean в данный момент не разрабатывается, но это не означает, что в архитектура Gecko не позволяет разработать такой интерфейс в будущем. Исходный код и документация для этих интерфейсов доступны на сервере проекта mozilla.org.

Совместим ли Gecko API с Microsoft Trident API?

Интерфейс XPCOM движка Gecko отличается от API аналогичного продукта корпорации Microsoft. Главные отличия между этими двумя моделями состоят в способе отражения объектной модели документов (DOM) в этих интерфейсах.

Интерфейс Microsoft Trident отражает DOM в проприетарном API, тогда как Gecko предоставляет интерфейс DOM следуя стандарту W3C. Существуют, кроме того, иные отличия. Благодаря усилиям Adam Lock, создан частичный уровень совместимости, облегчающий разработчикам переход от движка компании Microsoft к движку Gecko.

Какие платформы поддерживает Gecko ?

Сегодня Gecko поддерживает следующие платформы:

  • Win32 (Windows 95, Windows 98, Windows NT 4, Windows 2000, Windows XP, Windows Vista - Gecko 1.9)
  • Mac
  • Linux

Производители ПО и волонтёры участвующие в проекте mozilla.org переносят движок на другие платформы. Среди прочих, в процессе разработки находятся проекты по портированию Gecko на Solaris, HP/UX, AIX, Irix, OS/2, OpenVMS, BeOS, и Amiga.

Каковы основные компоненты Gecko?

Движок состоит из следующих компонентов:

  • Синтаксический анализатор (parser) для HTML и XML
  • Движок для вёрстки (layout engine) с моделью контента (content model)
  • Стилевая система (обрабатывает CSS)
  • Интерпретатор JavaScript (SpiderMonkey)
  • Графическая библиотека (image library)
  • Сетевая библиотека (Necko)
  • Набор виджетов и библиотек для визуализации графики, специфичных для платформы (Win32, X, и Mac)
  • Библиотека для управления предпочтениями пользователей
  • Mozilla Plug-in API (NPAPI), используемый для поддержки интерфейса плагинов для браузера Navigator
  • Open Java Interface (OJI), с поддержкой виртуальной машины Java (JVM) компании Sun
  • Внутренний интерфейс инфраструктуры описания ресурсов (RDF)
  • Библиотека для отображения шрифтов
  • Библиотека средств защиты (NSS)

Метки документа и участники

 Внесли вклад в эту страницу: sourcerer, Bektur
 Обновлялась последний раз: sourcerer,