XWT是Eclipse 組織推出的一種新的界面編程語言。
按照傳統的Java UI開發模式,比如使用SWT或者Swing開發界面,往往對UI開發人員的技術水平要求較高,前臺界面代碼和業務邏輯處理代碼結合的比較緊密,不能進行很好的分離,代碼的重用性也不高,而且也不夠靈活,不支持動態調整UI代碼,很難集成到開發工具中。
XWT的出現,或許能夠改變這個局面!XWT是使用XML作為界面的描述語言的UI框架(國內的一個軟件公司也參與了設計開發,名字叫深圳松亞Soyatec),通過UI運行庫將XML和SWT/JFace進行相互映射(使用的是Java的反射技術),在運行時將XWT解析成SWT/JFace代碼執行。
這算不上什么新技術(這讓我想起了JSF,原理很像),不過,它的確簡化了UI編程,你可以使用XML來創建可視化的 UI 組件,并且很容易的將前臺代碼和業務邏輯實現代碼進行分離,這樣有利于工作的分工。相比較其他標記語言,XWT可以直接描述實例的托管對象
下面是XWT的設計架構:

使用XWT作為Eclipse的UI框架可以降低學習的門檻,因為XWT是XML的一種方言,學習起來很簡單,有比較好的易讀性(如果你不知道XML,那么你還真是一個老朽);XWT對開發工具要求不高,你可以使用輕量級的:記事本、EditPlus、EmEditor等,或者中量級的UltraEdit等,或者重量級的Eclipse、WebSphere,甚至還可以跑到Visual Studio上面開發(如果你不選擇Eclipse,那么你得非常熟悉SWT/JFace 的API才行)。
XWT提供了一些比較高級的特性比如支持動態映射模型,采用了成熟的聲明UI解決方案與SWT/JFace完美集成,基于JFace Data Binding 的強大數據綁定技術,將UI和事件處理進行分離了,提供了資源管理功能,支持標記擴展,支持綁定表達式語言,也讓組件復用性大大提高。
像這種在B/S架構開發中經常采用的技術,應用到C/S架構的開發,不知道大家能不能接受?這到底是不是一門值得期待和投資的技術?或許時間可以證明一切,當然。學一個新語言之前,了解為什么要學它,很重要!