Diff for /books/www/articles/xpfe_dhtml.html between versions 1.9 and 1.16

version 1.9, 2001/08/09 20:02:01 version 1.16, 2001/08/09 20:57:18
Line 17  different supported platform. Line 17  different supported platform.
 time. XPFE, Mozilla's cross-platform front end, was designed to solve this problem by enabling engineers to create one interface that would then work on  time. XPFE, Mozilla's cross-platform front end, was designed to solve this problem by enabling engineers to create one interface that would then work on
 any operating system.    any operating system.  
   
<p>This new technology started out as a time-saving technique and turned into one of Mozilla's most powerful innovations. When they started work on XPFE<p>This new technology started out as a time-saving technique and turned into one of Mozilla's most powerful innovations.  Mike Cornall, in <a
Mozilla engineers were trying to create a more efficient process that would save them time and effort, but this technology ended up having the unintendedhref="http://linuxtoday.com/news_story.php3?ltsn=2000-07-25-001-07-OP-SM-0036">an article</a> published on LinuxToday, summarizes the history of XPFE
consequence of lowering the barriers to entry for application developers.well when he says: 'The application platform capabilities of Mozilla came about through a happy coincidence of Open Source development, good design, and
far-sighted developers who were paying attention.'
<p>Mike Cornall, in an article about Mozilla published on LinuxToday, summarizes the history of XPFE well when he says: 'The application platform
capabilities of Mozilla came about through a happy coincidence of Open Source development, good design, and far-sighted developers who were paying<p>Mozilla engineers were trying to create a more efficient process that would save them time and effort, but this technology ended up having the
attention.'  To better understand this happy coincidence it is necessary to take a closer look at what XPFE is made of.unintended consequence of lowering the barriers to entry to application development.  To better understand this happy coincidence and why it can be so
 useful for developers it is necessary to take a closer look at what XPFE is made of.
 
 <p><b>Understanding XPFE</b>
 
 <p>The technologies that XPFE uses are all existing Web standards, such as <a href="http://www.w3.org/Style/CSS/">Cascading Style Sheets</a>, 
 <a href="http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM">JavaScript</a> and <a href="http://www.w3.org/XML/">XML</a> (the XML component is a new
 language called XUL, the XML-based User Interface Language).  In it's most simple form, XPFE can be thought of as simply the union of each of these 
 standards.
 
 <center>
 <p><img src="http://books.mozdev.org/screenshots/moz_0101.gif"><br>
 <font size="-1"><i>Figure 1: XPFE Framework</i></font>
 </center>
 
 <p>To understand how XPFE works, we can look at how the different components of it fit together.  JavaScript is used to create the functionality for a
 Mozilla-based application, Cascading Style Sheets are used for formatting the look and feel, and XUL is used for creating the application's structure.  
 Viewed together these three standards can be seen forming XPFE in Figure 1 above.
 
 <p>Instead of using platform-specific C code to create an application, XPFE uses these well understood Web standards that are by design inherently
 platform independent.  Since the framework of XPFE is inherently platform independent, so are the applications that are created with it.  Since the
 framework is also made up of tools that are used to create Web pages, anyone familiar with creating a Web page can use XPFE to create a cross-platform
 application.
 
 <p>Although the actual creation of Mozilla-based applications can be much more complicated than building a Web page, XPFE allows developers to create
 applications in the same way they would create a Web page.  Or to put it another way, the application is now a Web page.  Gecko, the rendering engine
 that Mozilla uses to draw a Web page in the browser, even draws the Mozilla application on the desktop.
   
 <hr>  <hr>
   
<p><b>Understanding XPFE</b><p>/*** extra content
 
 <p>Mozilla itself certainly doesn't distinguish between a Web page and an XPFE application.
   
<p>The technologies that XPFE uses are all existing Web standards, such as Cascading Style Sheets, JavaScript and XML (the XML component is a new<p>Since well understood Web standards are being used to create applications instead of platform-specific C code, a whole new group of people now have the
language called XUL, the XML-based User Interface Language).  Since well understood Web standards are being used to create applications instead ofability to create their own applications using Mozilla.
platform-specific C code, a whole new group of people now have the ability to create their own applications using Mozilla. 
 
<p>In the sense that XPFE uses some of the same standards that are used to create Web pages, Mozilla-based applications can even be thought of as Web 
pages.  Gecko, the HTML rendering engine that Mozilla uses, also draws all XPFE content, so a Web page and an application created with XPFE are on one 
level treated the same way by Mozilla itself. 
   
 <p>Web developers and designers who use Mozilla are naturally attracted to the fact that they can create applications using the same skills and  <p>Web developers and designers who use Mozilla are naturally attracted to the fact that they can create applications using the same skills and
 techniques that they used to create Web pages in the past.  The specifics involved with creating Mozilla applications are different but should seem very  techniques that they used to create Web pages in the past.  The specifics involved with creating Mozilla applications are different but should seem very
Line 47  just create a skin for an application.   Line 70  just create a skin for an application.  
 href="http://www.netscape.com/themes/">different themes</a> for their browser suite, but the browser suite itself is also created out of these same  href="http://www.netscape.com/themes/">different themes</a> for their browser suite, but the browser suite itself is also created out of these same
 technologies.  technologies.
   
<center><p>***/
<p><img src="http://books.mozdev.org/screenshots/moz_0101.gif"><br> 
<font size="-1"><i>Figure 1: XPFE Framework</i></font> 
</center> 
 
<p>To understand all of the capabilities of XPFE, we can look at how the different components of it fit together.  JavaScript is used to create the 
functionality for a Mozilla-based application, Cascading Style Sheets are used for formatting the look and feel, and XUL is used for creating the 
application's structure.  Viewed together these three standards can be seen forming the triangle in Figure 1 above. 
   
 <p><b>Comparing XPFE and DHTML</b>  <p><b>Comparing XPFE and DHTML</b>
   
Line 126  ActiveState's <a href="http://www.active Line 142  ActiveState's <a href="http://www.active
 href="http://www.hacksrus.com/~ginda/chatzilla/">ChatZilla</a> IRC client, and Zope's <a href="http://www.zope.org/Resources/Mozilla/">Mozilla  href="http://www.hacksrus.com/~ginda/chatzilla/">ChatZilla</a> IRC client, and Zope's <a href="http://www.zope.org/Resources/Mozilla/">Mozilla
 Initiative</a>.  Initiative</a>.
   
   <br><br>
   
   <p><i>Thanks to Julia Kleyman for creating the illustrations used in this article.</i>
   
 </body>  </body>
 </html>  </html>
   

Removed from v.1.9  
changed lines
  Added in v.1.16


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>