基于组件的框架

 使用基于组件的框架

在为传统的Web 应用编写HTML 页面的时页面者手有非常有限的一GUI 件,即HTML 表单元素。它们的特征集近10 没有什么变化,与现代的GUI 具集,它们是非常基础和的。如果页面者希望引入或者可编历控或者动态的级菜之类的,需要借助于基础文档元素编程。这开发使用件工具集(例如MFCGTK+ Cocoa Swing QT创建桌面GUI 是非常的选

1. Web UI 组件

基于件的框架的目标是通过提供服务器端件工具集(API 桌面GUI API,来提Web UI 编程的别。当桌面UI 的时,它们通常使用层调用在一个图形上下图,来生成何图或者东西。当基于Web UI 的时,它们生成能在浏览器中提供相同功能的HTMLJavaScript 流,以的编程编程的事。图5-4 了基于件的Web 框架的构。

5-4 基于组件的框架的架构。应用被描述为一些组件的集合,它们通过向浏览器发送HTML和JavaScrpt流来呈现自己。除了搜集浏览器发送到单个组件的请求的较大的控制器和较大的领域模型外,每个组件还包含自己的小规模的模型、视图和控制器

很多基于件的框架都使用桌面的隐来描述用户交。也是说,按钮件应点击事件的处理数,而文本域件应valueChange 处理数,等等。在大多数框架中,通过每一用户交发一个请求,大部分的事件处理都委派了服务器。更聪明的框架设法在后完成这的任务,但是在有些框架中每一用户事件都会页面。这导致笨拙的用户验,因为一个设计成UI的应用,相对于使用Model2 设计成页面集合的应用,通常会有大量细粒度的交

这些框架的要设计目标是能从一个单独UI件模型描述来现不同类型的用户界。一些框架,例如,.NETJSFJavaServer FacesWindows 表单已经够做这件事了。

2. Ajax 互操作

那么基于件的框架如何适应Ajax 呢?表面上看,两都是从类文档的界面向基于UI 件的界面转化的,所以出现是件事。如理解Ajax 的可插拔现引开发出来,这种类型的框架会大到以生成客户端应用。这样做有相当大的,因为它可以避免对开发再培训学习JavaScript 复杂性,并且它通过通的plain-oldHTML 现系统,为陈旧的浏览器提供了一个替代

对于那些仅仅需要标UI 件类型的应用,这的解会工作。然而,仅有一定程灵活是不的。例如Google Maps (参见成功的很大在于它定自己UI ,从可图到用于缩放、可出的气球的大头针等等。试图使用桌面UI 件的标集合创建这些是非常困难的,即使最创建出来了也可能不会

是说,很多应用的确更容适应传统范围内的UI 件类型,这种类型的框架可以很好地为它们服务。在灵活和方便之间得平对于很多基于代码生成的解是相通的,也很容理解。

为了Ajax 应用提供完的服务,框架也必须有能提供必要的数据。这可能会有更多的问题,因为制器紧紧地绑在了服务器层上,并且紧紧在通过桌面来定的机制。有很好响Ajax 应用需要更多的来确定它自己的事件处理数,而不是服务器事件模型看起允许的那管如,在这些框架的后还是有相当大的动力无疑Ajax ,更多的这类解还会现出来。5.5.3 节将要引入的命队列可能是JSF 及其类框架发展的一种方法,然它并不是为了这个目的设计的。目前从我的,这些框架将客户端的有了。

察这些框架如何在将来适应Ajax 是一件很有趣的事Sun 的内和一些JSF 厂商对于提供支持Ajax 的工具集已经生了大的兴趣,.NET 表单已经可以支持一些类Ajax 的功能,并且承诺在即将来Atlas 具集中提供更多的支持(参见本章资源一节以获得所有内容的URL

这也提出了一个问题Web 框架专门Ajax 来设计,那么它看起来应是个什么,这类框架还没有出现,我们在这述的Web 框架有一为是这类框架的先

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章