TWaver圖形介面之道(二)?

TWaver
Java

TWaver
Java是TWaver產品家族中歷史最悠久、功能最強大、應用最廣泛的一個分支。TWaver Java基於Java 2D和Java
Swing技術,相比於JS、Flex、Silverlight、HTML5這些現在熱門的Web前段技術,關注Java
Swing技術的越來越少,但從技術的成熟性和執行效率考慮,不太在乎Web化,那麼TWaver
Java將是最佳選擇,因為Java版本是目前TWaver所有產品分支中執行效率最高的,而且Java具有良好的跨平臺支援,也可以嵌入到網頁中,部署和釋出都很方便。

TWaver
Web

Web
2.0的時代,程式Web化大勢所趨,即使是相對保守的企業級應用,也追求全面的Web化,於是TWaver Web孕育而生。最早我們將TWaver
Java介面輸出VML圖形(那時候IE一統天下),後來改用了更加標準化的SVG方案,轉換的工作充滿著挑戰,但當我們將所有TWaver
Java的demo輸出,效果不分伯仲時,我們知道一切努力都是值得的。後臺輸出圖形,前臺JavaScript互動,動態請求圖形資料,更新介面,這些正是TWaver
Web的設計思想和執行模式。

TWaver
Flex

TWaver
Web解決了大量客戶的需求,但技術在發展,RIA(Rich Internet Application)開始流行,Adobe
Flex是RIA的主流技術,TWaver團隊與時俱進,積極尋求Flex解決方案。

Flex使用MXML和ActionScript語言開發,ActionScript源於動態指令碼語言,兼具動態語言和靜態語言的特性,發展到Flex2,其實際使用已經很接近Java,因此,有了Java和JavaScript的基礎,學習Flex變得容易,經過兩年的研發,TWaver
Flex產品誕生,成為客戶最為關注的產品分支。

TWaver
.NET

RIA的另一種解決方案是Silverlight,Java陣營的最大競爭者是.NET陣營,所以.NET成為一塊不得不重視的蛋糕。TWaver
Flex開發的同時,我們也在對.NET以及Silverlight技術預言,預言的結果令團隊大受鼓舞:Silverlight與Flex有著驚人的相似性。於是在TWaver
Flex正式釋出不久,TWaver .NET也開始提供試用版本,TWaver .NET完全依照TWaver
Flex的設計模式和命名,甚至示例也是完全照搬,軟體世界殊途同歸真是件大好事,讓同一種思想在多個平臺落地開花,帶來了更多選擇。

當然,TWaver
.NET並非簡單的Copy,它有自己的特點,TWaver .NET分兩個版本:TWaver .NET for WPF、TWaver .NET for
Silverlight,兩者共用大部分程式碼,另外的那部分通過預處理條件加以區分,TWaver
.NET以Silverlight為標準相容WPF程式碼。相比Flex版本,.NET版本中使用更多C#高階語言特性,泛型、get/set、委託、事件、Lambda表示式等等,此外.NET版本有很高的執行效率,是Flex版本的兩倍以上,這也說明了平臺移植的重要性。

各種程式語言和UI技術

不同的程式語言有不同的特性,適用於不同的應用場景,有各自的特點:有的效能高,有的跨平臺,有的適合Web應用,下面介紹各種程式語言和UI技術的特點和適用場景:

Java

Java程式適合企業桌面應用,成熟穩定,跨平臺,也能嵌入瀏覽器(雖然Applet顯得笨重了點),Java是面向物件的程式語言,簡單易學,擁有眾多的熟練的程式開發人員的支援;

Swing

Java最早的圖形介面技術是AWT,AWT依賴原生平臺,AWT控制元件由本地作業系統對應的控制元件生成,不同作業系統下效果完全不同,這違背了Java跨平臺支援的初衷,於是就有了Swing技術。Swing完全由Java寫成,具有良好的設計模式,支援切換LookAndFeel改變程式外觀,是Java基礎類庫的一部分,是主要的Java
GUI工具包,TWaver Java基於Swing技術;

JavaScript

JavaScript技術適合Web應用環境,JavaScript語言很靈活,快速開發,無需編譯,直接執行與除錯,一個熟練的JavaScript程式設計師可以隨心所欲的編寫程式碼,但這也帶來JavaScript程式碼難以維護的問題,JavaScript語言入門容易,精通難,TWaver
Web前端互動使用JavaScript+SVG+HTML技術,TWaver HTML5使用JavaScript + HTML5技術;

SVG

SVG是一種文字向量圖形標準,全稱:Scalable
Vector
Graphics,可伸縮向量影象,SVG本身是XML格式,可與指令碼語言(如JavaScript)混合使用,這種XML與JS的混用方式,被後來的Flex,WPF與Silverlight承襲,後者是現在新潮的UI技術,而前者(SVG)則是十多年前的產物,這點也說明了SVG設計的強大,目前大多數瀏覽器都已支援SVG,TWaver
Web使用SVG呈現拓撲圖介面;

Flex

Flex是Flash發展的產物,Flash是一種製作動畫的技術,採用了場景,畫布,幀,時間線的設計,這些與窗體,按鈕,表格這樣的標準控制元件格格不入,Flex的發展很有趣,最早是一種J2EE的應用,JSP標籤庫,將MXML和ActionScript指令碼動態的編譯成Flash檔案,在瀏覽器中呈現,這個時期的Flex還是做動畫,到後來介面上需要標準控制元件,於是就出現了按鈕,面板,窗體等等,加上前後臺通訊,資料傳輸,最後成了富客戶端應用的完整解決方案。Flex介面延續了Flash的圖形繪製基礎,Flex程式與普通的Flash檔案不同,Flex只有兩幀,第一幀是啟動介面,第二幀是程式介面,此後程式按第二幀的頻率(預設是24幀每秒)啟動定時器,週期性的重繪,也就是Flex元件的無效-生效週期;

.NET
Framework

.NET
Framework是微軟公司的一個軟體框架,主要運行於Windows作業系統,它包含一個通用語言執行器(Common Language
Runtime,簡稱CLR)和大量的類庫(Framework Class
Library,簡稱FCL),支援多種程式語言,C#,VB.NET,VC++.NET等等;

C#

C#是微軟公司專門針對.NET框架而設計的程式語言,它借鑑了其他程式語言,尤其是Java語言,通常我們認為C#是一種面向物件的程式語言,事實也確實如此,準確的說C#是一種多範型的程式語言,包括強型別式,命令式,宣告式,函式式,泛型,面向物件和麵向元件的程式設計方式,TWaver
.NET可以使用C#語言開發;

WPF

全稱:Windows
Presentation Foundation,為Windows軟體提供使用者介面的一種圖形軟體系統,自.NET Framework
3.0被引入。相比舊的GDI系統,WPF使用了DirectX硬體加速,渲染效率得以提高,此外WPF採用XML配置和程式碼編寫結合的程式設計方式,這點與Flex相似,WPF是.NET
Framework推薦使用的主流介面系統技術;

Silverlight

Silverlight是一種運行於瀏覽器上的客戶端技術,與Flash技術相似,支援多種作業系統,多種瀏覽器,多種裝置。Silverlight是簡化版的.NET,或者說是簡化版的WPF,它包含一個核心呈現框架(WPF的一個子集),.NET框架中的Silverlight部分
(.NET 框架的一個子集),安裝器和更新器;

HTML5

HTML5是第五版的HTML標準,相比HTML4,增加了一些新的標籤,比如

相關問題答案