Jaxer - 伺服器端的 AJAX 技術
相信很多常寫 Web 程式的朋友都會同意,Web 可以說是一種很簡單的技術領域,也可以說是一種很複雜的世界。說它簡單是因為使用 HTML 這種標記(tag)語言,可以很簡單一致的創建出許多美觀的網頁;說它複雜是因為 HTML 的設計只是為了單純的靜態展示,為了提升網頁的互動性,在種種技術與相容性的限制下,逐漸衍伸出更多目不暇給的技術,像是 CGI、 JavaScript、DOM 等。不管我們搭配多少的技術來開發這些 Web 應用程式,在這個領域的工程師們一定會同意,想把 Web 應用程式寫得清清楚楚,容易閱讀與開發並不是一件容易的事情。當一個 PHP 程式裡面,有 PHP、HTML、JavaScript、CSS 夾雜其中,光是在開發程式時使用的 vim 編輯器,語法分色顯示的功能都已經不怎麼靈光了,更別說正在修改程式的你,肯定也是不時的愣一下,咦!這個函式呼叫到底是 PHP 還是 JavaScript。
這次 aptana 推出的 Jaxer 似乎可以改善這一點,它是一種專門針對 AJAX 應用趨勢所開發出來的伺服器技術。眾所周知,AJAX 技術最大的目標就是希望能夠在 Web 上創造出一個即時互動性高的操作介面,但是不管怎樣,我們仍然還是逃不開「複雜」的設計環境。不過假使你使用 Jaxer 來開發的話,可能就相對「單純」多了。於 Jaxer 執行的並不是一種新發明的語言,它所使用的是標準的 HTML 與 JavaScript 語法,因此一個 Jaxer 的程式內容看起來跟一個普通網頁內容沒有很大的差異,唯一的差別在於這些 JavaScript 可以指定於伺服器端或是瀏覽器端來執行。但是這樣的 Jaxer 程式卻可以實現出如同 AJAX 技術般的高互動性。
於伺服器端執行 JavaScript 的技術並不是一種很創新的舉動,早在很久以前 Netscape 就已經開發出這樣的技術,通常稱為 Server Side JavaScript。除了能夠在伺服器端執行 JavaScript 以外,Jaxer 最重要的核心技術,是一種能夠從瀏覽器端直接呼叫伺服器端的 JavaScript 函式的設計,透過這種方式,撰寫 Jaxer 的程式就可以像是在撰寫一般的單機應用程式一樣,不會因為 Web 架構的限制,把程式拆成好幾個檔案來撰寫。事實上,這種直接呼叫伺服器端的 JavaScript 函式的背後就是依靠 AJAX 這種技術才得以實現出來的。在把資料送到瀏覽器之前,Jaxer 內建的剖析器(parser)會自動加入必要的程式碼,並且把伺服器端的 JavaScript 函式暫存起來,於瀏覽器端執行的時候便會透過 XMLHttpRequest 把這些暫存於伺服器端的 JavaScript 叫起來執行,並取得它所需要的資料。所以簡單的說,透過 Jaxer 所開發程式,基礎上就是一種具有高互動性的程式架構!
Jaxer 是開放原始碼的軟體,所以如果你感興趣的話,不妨到 Aptana 的網站上去下載來玩玩看。
Jaxer : http://aptana.com/jaxer
No responses yet


