1. 什么是eFace?
eFace 是一个由Java语言编写的UPF(Universal Presentation Framework),它由三部分组成:
XML语言和XAML语言兼容,UPF与微软的WPF具有异曲同工之处。
XAML语言是由微软开发的一种描述性的程序语言,它能为下一代的管理类的应用程序生成用户界面。 WPF(Windows Presentation Foundation) 是 .NET Framework 3.0 (曾经叫 WinFX)的图形子系统,在WPF中XAML可以借助C#,Visual Basic或其它.net框架语言来呈现controls。欲了解更多有关XAML和WPF信息,请访问 Microsoft web site
XAML是由微软开发的通用GUI描述语言。WPF是一个依赖于.net环境的XAML框架。而 eFace 是基于相同理念,由松亚实现的依赖于Java开发环境的解决方案,该解决方案与XAML兼容。因此,微软的XAML可以直接应用在 eFace中.
eFace 采用 XAML和WPF技术,继承所有XAML和WPF的优点:
eFace基于组件的可扩展的结构能最大限度地降低代码重写数量,并且最大化地重用代码。这种结构进一步地明确了项目开发中开发人员(域和技术开发人员)的角色。
开发人员在熟悉某一平台设备的情况下,可以进行组件重用的域开发,因此,域开发人员在对域和组建的语义有一定的了解后,就不用顾虑域组建的执行以及在系统平台上的显示。其最终目的是最大化的减少开发人员的人力成本,与此同时丰富域开发的内容。
eFace创建的应用程序能在多种表现层环境下执行,它可以为SWT,Swing提供表现层,也可以为网站中服务器小程序或门户组建提供表现层。相同的二进制数可以在eFace支持的所有环境下驱动应用程序,只是在各自的环境下,系统对二进制的处理不同。
XAML文件可以被.NET和Java两种应用程序调用分享。
因为应用程序代码不是在当前运行平台下直接编写的API,所以当核心库更新时(比如像Swing,SWT,Web的更新), eFace表现层不用伴随着核心库代码的更新,这样以来,减少了代码更新和修复的工作量。
XAML是一种具有丰富动态特征的描述语言,它实际上是一个平台和一个技术中立性的可执行语言。在UML, BPM,或Java上的域逻辑模块,简化了用户图形界面的生成任务。
使用UI标记语言具有如下5个好处:
就目前行业状况而言,UI标记语言在软件行业中广泛应用。
从技术角度讲,XAML是一种灵活、可扩展的标记语言。XAML元素能直接连接到Java对象实例,XAML属性能连接到Java属性和对象的事件。对平台独立和技术中立的图形系统来说,XAML是一种完美的标记语言。
EAI,CRM,ERP,BPM等数据可视化应用程序。
Sun公司的 JSF
JSF声称适用于整个web应用程序并能处理胖客户端应用程序,但事实上,JSF规范完全忽略了胖客户端应用程序。
面对以上的问题, eFace 通过提供一个抽象的UI库UPF和XML语言来涵盖两种应用程序。而UPF和XML与微软的WPF和XAML完全兼容。进一步讲,WPF是在.net的环境下实现UI资源的重用,而 eFace 是在Java环境下实现UI资源的重用。
当前版本支持Windows Vista, Windows XP, Mac OS and Linux。其它版本会在2008年后发布。