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