TWaver图形界面之道(三)TWaver产品家族

TWaver产品家族

TWaver图形界面之道(三)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,增加了一些新的标签,比如<canvas><audio><video>等,此外还提供了更多API,比如Canvas 2D API,拖拽支持,跨文档消息,本地存储,WebSocket等。当然并不是所有这些特性都被浏览器支持,不同浏览器支持程度也有所不同,HTML5技术要求更现代的浏览器,IE9+,Safari,Chrome,Firefox,Opera…….IE6,7,8可以考虑安装chrome frame插件。

你可能感兴趣的:(java,.net,html5,Flex,TWaver)