抛砖引玉:XAML,eface

抛砖引玉:XAML,eface

“将来B/S,C/S开发的界限将完全消失”、“世上只有C/S”,对这样的看法我深信不疑。 这个趋势现在已经很明显了,RIA技术的不断发展就是注脚。
google的GWT,Adobe的Flash,Flex,微软的SilverLight/XAML,Firefox的XUL/SVG,以及AJAX,这些东东在两三年里蜂拥而出,占据了WEB开发的大半疆土。浏览器越来越平台化,桌面化,而服务器则越来越强悍,出现了Google doc,Web OS、Web photoshop这样的网络应用。
如此局势下,没有开发者能不受到影响——不去适应它,就必然被浪潮吞没。

问题是:我们需要什么样的技术?
这样大的问题先不去想,该贴要介绍的是“邪恶的微软帝国”主推的“XAML”,另外再看看eface——XAML for java。
1.XAML介绍


QUOTE:

在下一个版本的Windows操作系统Vista中,其新添加的表示子系统的WPF为开发人员提供了强大的新功能。这个子系统使的开发人员能够通过新的标记语言代码XAML来使用它的功能。另外,面向对象的现代编程语言(例如,C# 和 Visual Basic .NET)可用于将所有内容联系在一起。
因为写入WPF的大多数应用程序大多数是 XAML 和编程代码的混合体。所以本文将讨论用于控制页面布局的 XAML 标记,而如何为响应事件而编写过程代码的方法将在后续文章中进行详细的讲解。

  XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的"代码后置"模型非常类似。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。

  提示:XAML的发音为"Zamel",笔者经常开玩笑地将其读成"折磨"。虽然XAML包含了许多新规则、元素和语法,但是我并不认为学习它是一个折磨人的过程。只要读者稍微具备一些HTML基础知识,就可以快速地掌握XAML中的大部分内容。

很容易看出来XAML是类似HTML的,只不过它不是被浏览器解析,而是被浏览器的插件(Silverlight)运行,也可以被其他运行时运行。它是跨平台的(一个标记语言而已),可以运行在浏览器、桌面、移动设备上。微软准备用它来实现“通用界面”的理想(比java的虚拟机还猛啊)

2,eface介绍
写这么多罗嗦的话,其实就是因为前天晚上在eclipseworld.com看到了刚刚发布的eface1.0: http://www.eclipseplugincentral. ... wlink-cid-1072.html ,好奇之下去看了看。
eface是XAML for java,也就是说能够用使XAML在java中运行,用swing、swt来展示图形界面,并且还兼容.net。
貌似很有前途的一种技术啊,所以花了半个小时对它的主页: http://www.soyatec.cn/main.php 进行了研究。
它的主页介绍如下:



QUOTE:

eFace是一个跨平台运行并采用技术中立的图形系统解决方案,其XML语法与Vista中广泛应用的XAML保持兼容,并且eFace捕捉了用户界面组件相关的信息,在一个特定的平台表现层上显示图形界面,而这个表现层可以选择一个最佳的途径将图形界面显示给用户。

eFace的核心,UPF(Universal Presentation Framework),是一个由Java语言开发设计的图形显示系统,它与微软的WPF(Windows Presentation Foundation保持兼容。

eFace与传统解决方案相比,eFace具有如下的四个优势:
1.用户亲身体验面向域的快速开发
eFace 基于组件式的可扩展结构能最大限度地降低代码重写数量,并且最大化地重用代码。这种结构进一步地明确了项目开发中域和技术开发人员的角色。

开发人员在熟悉某一平台设备的情况下,可以进行组件重用的域开发,因此,域开发人员在对域和组建的语义有一定的了解后,就不用顾虑域组建的执行以及在系统平台上的显示。其最终目的是最大化的减少开发人员的人力成本,与此同时丰富域开发的内容。

2. 跨平台应用程序
用eFace创建的应用程序能在多种表现层环境下执行,它可以为SWT,Swing提供表现层,也可以为网站中服务器小程序或门户组建提供表现层。相同的二进制数可以在eFace支持的所有环境下驱动应用程序,只是在各自的环境下,系统对二进制的处理不同。

XAML文件可以被.NET和Java两种应用程序调用分享。

3. 表现层和技术更新分离
因为应用程序代码不是在当前运行平台下直接编写的API,所以当核心库更新时(比如像Swing,SWT,Web的更新), eFace 表现层不用伴随着核心库代码的更新,这样以来,减少了代码更新和修复的工作量。

4. 实现MDD/MDA方法的理想用户图形界面
XAML是一种具有丰富动态特征的描述语言,它实际上是一个技术中立的可执行语言。在UML, BPM,或Java上的域逻辑模块,简化了用户图形界面的生成任务。




图片附件 : architecture.png (2007-12-10 12:21, 100.22 K)



图片附件 : product_eface.png (2007-12-10 12:21, 64.73 K)


eface还是一个新技术,主创公司的宣传也远远不够,我觉得这是个很有潜力,可能会改变我们开发模式的技术——有点像兼容b/s,c/s的delphi。


【2007-12 bbs】

后记:不知道现在eface如何了,要看看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值