XUL Tutorial-第一章介紹

本指南將會帶領你進入XUL(XML用戶界面語言)的世界,XUL是一種用來描述軟件用戶界面的跨平臺語言。

文中將向你演示編寫一個與Macintosh中Sherlock或Windows中查找文件對話框外觀非常類似的,比較簡單的文件查找用戶界面,當然了,其只具有用戶界面和一些有限的功能,並沒有實現真正的文件查找。我將在對這個查找文件對話框做出改動的段落左邊標記出一條藍色線條,以方便你按照這個線索一步步學習下去。

XUL是什麼,它爲什麼會出現?
XUL(發音爲zool,韻尾與cool相同)最初是設計用來簡化和加快Mozilla瀏覽器的開發工作,它是一種XML語言,因此具有XML所有的特點。

大多數應用軟件的開發依賴於某個特定平臺,這就使得編寫跨平臺的軟件耗時和花費巨大,雖然這一點對於一些軟件來說並不重要,但是對於那些用戶需要在其他設備,諸如手持設備或者機頂盒上使用的軟件來說就顯得尤爲關鍵。

在過去的時間裏,人們已經開發出了許多跨平臺的解決方案,比如說Java,它就是把可移植性作爲其主要的賣點。XUL就是這樣的一種專門用於編寫可移植用戶界面的語言。

通常來說,單單是爲一種平臺編寫應用軟件就會花比較長的時間,編譯和調試花的時間可能還要長。有了XUL,界面實現和修改起來將會更加方便和快捷。

XUL擁有其他XML語言的所有優點,例如,XHTML或者其他諸如MathML或者SVG的XML語言就可以內嵌到XUL之中。使用XUL顯示出來的文本也非常容易實現本地化,這就意味着只需作很小的更改就能將其翻譯爲其他的語言。在XUL中,樣式表也同樣可以用來修改用戶界面的外觀(與WinAmp或一些窗口管理器中的皮膚和主題非常相似)。

使用XUL可以做出那些類型的用戶界面?
XUL提供了現代圖形界面中絕大多數的界面元素,足夠滿足某些設備的的特殊需求;其功能也非常強大,開發人員可以使用它來開發出非常複雜的界面。

XUL中支持的元素有:
# 輸入控件,比如說文本框和複選框
# 具有按鈕或者其他內容的工具欄
# 菜單欄上的菜單或者彈出式菜單
# 帶有標籤的對話框
# 分類樹或者表格信息欄
# 鍵盤快捷鍵

XUL可以通過一個XUL文件或者從一個數據源中獲取的數據來產生顯示內容。在Mozilla軟件裏,這樣的數據源包括用戶的郵箱、書籤和搜索結果,其菜單、分類樹和其他界面元素的內容都能使用這些數據,也可以使用你自己在RDF文件中的數據。

XUL內容一般從安裝進Mozilla的包中載入,這些包允許一個應用軟件有像讀取本地文件、修改用戶參數等的額外權限。XUL文件及其相關腳本、應用軟件所使用的圖像都將打包成一個單獨的文件並由用戶下載安裝。Mozilla提供了不需要寫一大堆複雜代碼就能進行安裝並註冊這些包的方法。另外,這些包可以附着於瀏覽器或者其他軟件之上來增加軟件的功能,這就是Firefox擴展插件的工作原理。

我們也可以從本地文件系統或者從遠端web站點上直接打開XUL文件,可是它們能夠進行的操作會受到限制,XUL的一些功能將不起作用。但是如果你的確想從遠端站點上載入XUL內容,web服務器必須要以'application/vnd.mozilla.xul+xml'的樣式來發送XUL文件。XUL文件通常的擴展名是.xul,你可以使用Mozilla通過選擇文件菜單中"打開文件"一項,或者在地址欄中輸入文件的URL地址來打開XUL文件,就像打開別的什麼文件一樣。

關於使用這本手冊,我還需要了解什麼?
你必須得了解HTML,而且至少還得有一定的XML和CSS基礎。
下面是一些忠告,希望你能記住:
# 因爲XML是大小寫敏感的,所以XUL的元素和屬性都必須小寫輸入(這一點與HTML不同)。
# XUL中的屬性值必須放在括號之中,甚至是數字也不例外。
# XUL文件通常被分成四個文件,一個是版面和元素文件,一個是樣式聲明文件,一個是實體聲明文件(用於本地化),另一個是腳本文件。另外,可能還有額外的圖像文件或者是平臺特定數據。

Mozilla和其他基於Gecko引擎的瀏覽器,比如像Netscape 6及更高版本以及Firefox支持XUL。由於隨着時間的變化,XUL的語法也在不斷的進行變化,你有可能需要最新版本的例子才能正常運行,絕大多數的例子支持Mozilla 1.0及更高版本。Firefox使用的XUL與其他瀏覽器的基本上差不多,只是在諸如對用戶可自定義工具欄的支持上有一些細小的差別。

該指南力求包含XUL的絕大部分功能,但並不是所有。一旦你對XUL熟悉之後,你就可以使用XUL Element Reference來找到特定元素相關的其他內容。

發佈了75 篇原創文章 · 獲贊 32 · 訪問量 80萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章