Changes

Jump to: navigation, search

Gecko

2,816 bytes added, 23:49, 5 October 2006
Definition
=Definition=
A gecko is a small to large Japanese [http://en.wikipedia.org/wiki/Gecko lizard] that is found in warm climates. However, in the Mozilla context Gecko refers to the [http://en.wikipedia.org/wiki/Gecko_(layout_engine) browser layout engine.]
=What exactly is a layout engine?=
* Resource Description Framework (RDF)
=When would one want to use Gecko?=
Gecko solves a problem faced by developers looking to render html, css and most other web content in within their applications. Gecko provides a rich standards compliant interface, which relieves the developer of the heavy lifting with respect to page rendering. Developers simply need to embed Gecko within their apps to harness its power.
Detailed information, tutorials, examples and frequently asked questions relating to getting started with Gecko and embedding it within applications can be found within the [http://developer.mozilla.org/en/docs/Embedding_Mozilla Embedding Mozilla] section of the [http://developer.mozilla.org/ Mozilla Development Center]
 
=How does it work?=
Gecko uses the Document Object Model (DOM) which provides a set of interfaces (available for both C/C++ and JavaScript) implemented by the NGLayout content model allowing for the insertion, deletion and modification of HTML content. These interfaces can be accessed by programmers via the Cross Platform Component Object Model (XPCOM). XPCOM allows for the modularization of large projects into into smaller manageable pieces called components as well as for the creation of interfaces (IDL's via XPIDL).
 
Gecko uses the following subsystems to accomplish its objectives:
 
====Parsing====
The Gecko parser provides the first steps required for the browser to display web pages. Despite being optimized to parse HTML the parser use is not limited to this type of data. The parsing engine transforms a source document from one form into another. In the case of HTML, it transforms the hierarchy of HTML tags (the source form) into a form that the underlying layout and display engine requires (the target form).
 
====Rendering====
This portion is responsible for displaying "bits" on output devices. These include the standard graphical primitives such as lines, rects, bitmaps, text, etc.
 
====Layout====
The layout portion is comprised of a set of classes that implement the HTML layout semantics. In other words it translates what the tags mean so that the required actions can be performed to render them properly.
 
====Style====
The style portion is responsible for the mapping and management of style data (i.e. CSS) onto document content in a given presentation.
 
 
An overview of these and the various other components can be found in the [http://www.mozilla.org/newlayout/overview.html Gecko(NGLayout) Project Overview]or in the [http://www.mozilla.org/newlayout/doc/ Layout Engine Technical Documentation]
 
=Contributors=
[[User:RichardChu|Richard Chu]] & [[User:Sherman|Sherman Fernandes]]
=References=
*[http://en.wikipedia.org/wiki/Gecko_(layout_engine) Wikipedia - Gecko_(layout_engine)]
*[http://wiki.mozilla.org/Gecko:Home_Page Gecko Home Page]
*[http://www.mozilla.org/newlayout/ Mozilla Layout Engine]
*[http://www.mozilla.org/newlayout/doc/ Layout Engine Technical Documentation]
1
edit

Navigation menu