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

news/2024/5/19 18:01:01 标签: 图形, 产品, silverlight, flex, actionscript, javascript

接上篇: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插件。


http://www.niftyadmin.cn/n/1765865.html

相关文章

TWaver图形界面之道(四)如何申请与技术支持

接上篇&#xff1a;TWaver图形界面之道&#xff08;三&#xff09;TWaver产品家族 TWaver如何获取 TWaver是一款商业软件&#xff0c;面向企业用户&#xff0c;出售软件授权&#xff0c;提供支持服务&#xff0c;此外对于非商业用途的项目&#xff08; 譬如院校&#xff0c;研…

JSONObject

一、引入jar包 使用JSONObject必须引用JSON-lib.jar,同时它还依赖于其他包 common-lang.jar  common-beanuitls.jar  common-collections.jar  common-logging.jar  ezmorph.jar二、JSONObject对象使用 JSON-lib包是一个java对象、xml、JSON互相转换的包。 1.将Java对象…

TWaver图形界面之道(五)Hello TWaver

继续上一章的介绍TWaver图形界面之道&#xff08;四&#xff09;如何申请与技术支持 本章将以一个入门示例开始&#xff0c;介绍TWaver的基本使用&#xff0c;设计思想以及开发流程&#xff0c;如果你已经熟悉了TWaver的使用&#xff0c;熟悉了TWaver的MVC的设计模式&#xff0…

Android UI系列-----EditText和AutoCompleteTextView

在这篇随笔里将主要讲解一下EditText和AutoCompleteTextView这个控件 1.EditText 首先我们先简单来说说EditText这个控件&#xff0c;这个就相当于我们平常web开发中的文本输入框&#xff0c;我们如果要使用EditText&#xff0c;可以在布局文件中声明一个<EditText>这个元…

控制TList的限量多选

大家知道TWaver Java总的TList继承自Swing的JList&#xff0c;所以我们可以很容易控制其选择&#xff0c;例如单选、多选等。但是本文介绍如何控制按指定数量进行选择。 人生就是一个不停选择的过程。所以&#xff0c;我们必须要谨慎的控制好你的选择&#xff0c;无论是TList的…

使用Code Blocks编写C++程序遇到的一些问题

1、添加头文件编译出错的问题 在"project"中添加了几个头文件&#xff0c;并且在"main.cpp"中已经将其引用(#include)了&#xff0c;如下图&#xff1a; 但是编译时却出错说头文件"random.h"中的"generate_rand_num()"函数未定义&…

TWaver3D 编辑器的使用(二)—— 定制模板module

在TWaver3D编辑器的设计中&#xff0c;借助于ModuleManager实现了模块&#xff08;module&#xff09;的动态加载&#xff0c;这样用户可以自定义扩展3D模板&#xff0c;用于增加可编辑对象&#xff0c;提高编辑器能力。那么如何来扩展这些模板呢&#xff0c;让我来带领大家认识…

hdu 4419 线段树 扫描线 离散化 矩形面积

1 //离散化 扫描线 线段树2 //这个线段树跟平常不太一样的地方在于记录了区间两个信息&#xff0c;len[i]表示颜色为i的被覆盖的长度为len[i]&#xff0c; num[i]表示颜色i 『完全』覆盖了该区间几层。len[i]起传递儿子与父亲的关系&#xff0c;而num[i]不起传递作用&#xf…