`
tedeyang
  • 浏览: 326131 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

抛砖引玉: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如何了,要看看。

分享到:
评论

相关推荐

    Silverlight/WPF开发必备:XAML语法

    ### Silverlight/WPF开发必备:XAML语法 #### 一、引言 XAML(Extensible Application Markup Language)是一种用于创建Silverlight和WPF应用程序的标记语言。它为UI元素提供了一种清晰、简洁的定义方式,并且可以...

    Windows 8 App Projects: XAML and C# Edition

    从提供的文件内容来看,这是一本关于Windows 8应用程序开发的书籍信息,标题为“Windows 8 App Projects: XAML and C# Edition”,作者为Nico Vermeir,出版于2013年。这本书专注于使用XAML和C#语言进行Windows 8...

    XAML.rar_xaml

    XAML(eXtensible Application Markup Language)是微软开发的一种标记语言,主要用于描述WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)以及Silverlight等应用程序的用户界面。...

    C#WPF基础教程【超详细讲解】

    主要讲解内容:XAML、XAML布局、路由事件、控件、Application类、元素绑定、命令、资源、样式和行为、形状画刷和变换、几何图形和图画、效果和可视化对象、动画基础、高级动画。 主要讲解内容:XAML、XAML布局、路由...

    Xamarin XAML语言教程基础语法篇

    Xamarin XAML是一种用于构建跨平台移动应用的强大工具,它基于.NET框架的XAML(Extensible Application Markup Language),使得开发者可以使用相同的代码库为iOS、Android和Windows平台创建用户界面。在“Xamarin ...

    XAML入门经典教程、参考

    XAML(eXtensible Application Markup Language)是一种用于定义用户界面和应用程序结构的标记语言,主要在.NET Framework中,特别是Windows Presentation Foundation (WPF)、Universal Windows Platform (UWP)和...

    XAML概述及剖析

    XAML,全称为可扩展应用程序标记语言(Extensible Application Markup Language),是微软为桌面应用和富媒体网络程序开发设计的一种标记语言。它的引入主要是为了解决设计师与程序员在开发过程中的协同工作问题,...

    XAML Developer Reference

    ### XAML Developer Reference知识点解析 #### 一、XAML简介 XAML(Extensible Application Markup Language)是一种由微软开发的标记语言,它基于XML标准,主要用于定义用户界面和数据表示。XAML最初是为了WPF...

    XAML入门 word文档

    XAML(Extensible Application Markup Language)是一种用于描述用户界面(UI)的声明式标记语言,主要应用于.NET Framework,特别是Windows Presentation Foundation(WPF)和UWP(Universal Windows Platform)等...

    XAML转HTML.zip

    XAML(eXtensible Application Markup Language)是微软开发的一种标记语言,主要用于描述WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)以及Silverlight等应用程序的用户界面。...

    xaml文件编辑查看器

    而XAML(eXtensible Application Markup Language)就是这个框架中的核心标记语言,它是XML的一个子集,专门用于描述WPF应用程序的界面和行为。 XAML文件主要由以下几个关键部分组成: 1. **元素声明**:XAML文件...

    Website:XAML工具包中的材料设计网站

    【标题】"Website:XAML工具包中的材料设计网站"揭示了一个专注于XAML界面设计的项目,它采用了Google的Material Design原则。Material Design是一种流行的设计语言,强调平面、层次感和响应式交互,广泛应用于...

    Xamarin_Forms___XAML_Samples_Xamarin_xaml_

    【Xamarin.Forms与XAML简介】 Xamarin.Forms是Xamarin平台的一个关键组成部分,它允许开发者使用.NET框架构建原生的iOS、Android和Windows应用程序。XAML(Extensible Application Markup Language)是Xamarin....

    [book]XAML in A Nutshell

    **XAML(eXtensible Application Markup Language)**是一种基于XML的语言,主要用于描述WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)、Silverlight以及Xamarin.Forms等Microsoft...

    xaml-formatter:XAML 格式化程序——一键式,干净利落!

    XAML 格式化程序 XAML 文件乱七八糟? 你不会再看到这个了! XAML 格式化程序——一键式,干净利落! 克隆和启动 这是一个 Visual Studio 扩展性。 在开始之前,您应该下载: 运行 Visual Studio 后,请按照下列...

    XAML-examples:XAML 示例项目的集合

    **XAML(eXtensible Application Markup Language)是.NET框架中用于定义用户界面的一种标记语言,尤其在WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)和Silverlight等技术中发挥着...

    xamldroid:xaml绑定的monodroid视图

    **Xamldroid:XAML绑定的Monodroid视图** 在移动开发领域,Xamarin是一个备受推崇的框架,它允许开发者使用C#语言和.NET Framework来构建原生的Android和iOS应用。Xamldroid是针对Xamarin.Android的一个开源项目,...

    微软官方C#_XAML开发WP8应用程序教程pdf资料

    【C#与XAML在WP8应用开发中的基础】 C#和XAML是Windows Phone 8(WP8)应用程序开发的两大核心技术。C#是一种面向对象的编程语言,由微软公司开发,它提供了丰富的库支持和简洁的语法,使得开发者能够高效地构建...

    XAML-Map-Control:XAML 地图控件库

    XAML 地图控件一组用于 WPF、UWP 和 WinUI 的控件,用于渲染来自不同提供商的数字地图和各种类型的地图叠加层。 通过为其地图图块 URL 指定模板字符串,可以轻松添加地图提供者。 地图叠加层允许在地图上绘制图形...

    Xaml in a NetShell

    **XAML 在 NetShell 中的应用** XAML(eXtensible Application Markup Language)是一种标记语言,主要用于构建WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)和Silverlight等...

Global site tag (gtag.js) - Google Analytics