ExtJs是一個(gè)用于創(chuàng)建Web用戶界面的JS框架,提供了豐富的界面部件及布局方式,對于web開發(fā)者來說,實(shí)現(xiàn)企業(yè)應(yīng)用所需的各種畫面只要掌握J(rèn)S語言即可。不必再引入flash或silverlight技術(shù),而且能很容易的創(chuàng)建風(fēng)格統(tǒng)一的企業(yè)應(yīng)用程序。
雖然ExtJs支持各種流行的瀏覽器,甚至包括IE6,但是它在IE系瀏覽器下運(yùn)行、渲染的效率不高。在谷歌瀏覽器下表現(xiàn)最好,F(xiàn)ireFox瀏覽器次之(這得益于谷歌瀏覽器的JS腳本引擎)。
然而谷歌瀏覽器和FireFox瀏覽器的核心都是WebKit(蘋果公司開源的瀏覽器核心,負(fù)責(zé)解析HTML文本,并呈現(xiàn)到界面上),所以,要想讓我們的CB/S+ExtJs結(jié)構(gòu)的應(yīng)用程序能有更好的表現(xiàn),我們必須采用WebKit核心的瀏覽器。
雖然我們能很方便的獲得WebKit的源碼,然而編譯它卻十分耗時(shí)費(fèi)力,不但要選對編譯工具,還要安裝一系列的SDK,編譯時(shí)間更是長的驚人(這幾乎是大型C++項(xiàng)目的通?。?。編譯出來的DLL使用起來也不是很方便(要翻閱大量的WebKit的API)。
幸運(yùn)的是QT界面庫為我們做了這些工作,QT庫中包含webkit的瀏覽器控件,并且這個(gè)C++庫是跨平臺的,也就是說基于這幾項(xiàng)技術(shù)開發(fā)的CB/S企業(yè)應(yīng)用可以部署在Linux系統(tǒng)內(nèi)。
除了使用QT界面庫,還可以選擇gtk+和wxWidgets兩個(gè)界面庫,而且這兩個(gè)界面庫都對WebKit做過包裝,但是從開發(fā)方式,生產(chǎn)效率,運(yùn)行速度等多方面考慮,還是QT最為合適。
QT界面庫也分為兩個(gè)版本,一個(gè)是收費(fèi)的digia提供的QT,另一個(gè)是免費(fèi)的qt-project提供的QT(GPL V3 LGPL V2),這里我們選擇免費(fèi)版的QT,本文第三節(jié)會介紹如何搭建開發(fā)環(huán)境。