XWT是Eclipse 組織推出的一種新的界面編程語言。
按照傳統(tǒng)的Java UI開發(fā)模式,比如使用SWT或者Swing開發(fā)界面,往往對(duì)UI開發(fā)人員的技術(shù)水平要求較高,前臺(tái)界面代碼和業(yè)務(wù)邏輯處理代碼結(jié)合的比較緊密,不能進(jìn)行很好的分離,代碼的重用性也不高,而且也不夠靈活,不支持動(dòng)態(tài)調(diào)整UI代碼,很難集成到開發(fā)工具中。
XWT的出現(xiàn),或許能夠改變這個(gè)局面!XWT是使用XML作為界面的描述語言的UI框架(國內(nèi)的一個(gè)軟件公司也參與了設(shè)計(jì)開發(fā),名字叫深圳松亞Soyatec),通過UI運(yùn)行庫將XML和SWT/JFace進(jìn)行相互映射(使用的是Java的反射技術(shù)),在運(yùn)行時(shí)將XWT解析成SWT/JFace代碼執(zhí)行。
這算不上什么新技術(shù)(這讓我想起了JSF,原理很像),不過,它的確簡(jiǎn)化了UI編程,你可以使用XML來創(chuàng)建可視化的 UI 組件,并且很容易的將前臺(tái)代碼和業(yè)務(wù)邏輯實(shí)現(xiàn)代碼進(jìn)行分離,這樣有利于工作的分工。相比較其他標(biāo)記語言,XWT可以直接描述實(shí)例的托管對(duì)象
下面是XWT的設(shè)計(jì)架構(gòu):
使用XWT作為Eclipse的UI框架可以降低學(xué)習(xí)的門檻,因?yàn)閄WT是XML的一種方言,學(xué)習(xí)起來很簡(jiǎn)單,有比較好的易讀性(如果你不知道XML,那么你還真是一個(gè)老朽);XWT對(duì)開發(fā)工具要求不高,你可以使用輕量級(jí)的:記事本、EditPlus、EmEditor等,或者中量級(jí)的UltraEdit等,或者重量級(jí)的Eclipse、WebSphere,甚至還可以跑到Visual Studio上面開發(fā)(如果你不選擇Eclipse,那么你得非常熟悉SWT/JFace 的API才行)。
XWT提供了一些比較高級(jí)的特性比如支持動(dòng)態(tài)映射模型,采用了成熟的聲明UI解決方案與SWT/JFace完美集成,基于JFace Data Binding 的強(qiáng)大數(shù)據(jù)綁定技術(shù),將UI和事件處理進(jìn)行分離了,提供了資源管理功能,支持標(biāo)記擴(kuò)展,支持綁定表達(dá)式語言,也讓組件復(fù)用性大大提高。
像這種在B/S架構(gòu)開發(fā)中經(jīng)常采用的技術(shù),應(yīng)用到C/S架構(gòu)的開發(fā),不知道大家能不能接受?這到底是不是一門值得期待和投資的技術(shù)?或許時(shí)間可以證明一切,當(dāng)然。學(xué)一個(gè)新語言之前,了解為什么要學(xué)它,很重要!