博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从基础开始:Qomo OpenProject中的一些关键词(2)
阅读量:2241 次
发布时间:2019-05-09

本文共 3497 字,大约阅读时间需要 11 分钟。

================================================================================

Qomolangma OpenProject v0.9

类别    :Rich Web Client
关键词  :JS OOP,JS Framwork, Rich Web Client,RIA,Web Component,
          DOM,DTHML,CSS,JavaScript,JScript

项目发起:aimingoo ()

项目团队:aimingoo, leon()
有贡献者:JingYu()
================================================================================

七、Qomo OpenProject中的一些关键词(2)
~~~~~~~~~~~~~~~~~~
接下来我们讲述一些在Rich Web Client中,而不仅是JavaScript中涉及到的一些关键词。我
希望这对你理解Qomo OpenProject的设计,乃至整个B端开发的现状有帮助。

1. Rich Web Client 和 Rich Internet Application(RIA)
--------
首先,RIA是Macromedia基于Flash在浏览器上的广泛应用而提出的一个“实现丰富的浏览器
端应用”的框架。按照Macromedia的解释,RIA是符合Rich Web Client的定义的。也就是说,
RIA是Rich Web Client的一个具体的实现框架,也是开发人员在IE等能够运行Flash环境的浏
览器上实现Rich Web Client的可选方案。

但显然RIA不是Rich Web Client的全部。W3C已经提出了在2006年里制订Rich Web Client(RWC)

标准的计划。然而在这个标准还没有出来的时候,如何说明RWC的概念呢?

从W3C对RWC的工作定义里可以看到,一个满足RWC的框架至少具备这样的一些特点:

  1). 在浏览器上实现对兼容文档格式(XHTML,SVG,SMIL,XForms等)进行处理的能力。
  2). 具有丰富的界面交互能力。
  3). 具有丰富的客户端逻辑。

W3C对RWC的规范包括“兼容文档格式”、“Web APIs”和“Web应用程序格式(语言&界面规约)”

三个部分。这些内容按计划应当在2007年10月间完成标准制定。——GOD!

相关资料参考:

2. DOM与DHTML
--------
微软在IE 4.0时代提出了Dynamic HTML (DHTML)标准。在Microsoft的DHTML中包含了如下内容:
 - 动态样式表(Dynamic Styles)
 - 动态上下文(Dynamic Content)
 - 位置和动画(Positioning and Animation)
 - 过滤器和切换器(Filters and Transitions)
 - 字体下载(Font Download)
 - 数据绑定(Data Binding)
 - DHTML对象模型(DHTML Object Model)

这其中与W3C提出的DOM(Document Object Model)相对应的其实只有DHTML Object Model这部

分。而“Dynamic Styles”、“Positioning and Animation”、“Font Download”等则部分
地与W3C的CSS 1相容。

在IE5-IE6中,IE为DHTML实现了更多的特性,这包括:

 - Dynamic HTML (DHTML) behaviors
 - HTML Applications
 - HTML + TIME 1/2
 - Vector Markup Language (VML)

由于MS对Web浏览器的实现一度远远地超前了W3C对Web Browser相关的规范的制订,加上MS有

意识地改变协议来定制“事实标准”。因此在IE5以后出现的许多浏览器特性都与W3C规范并不
相容。——当然在此期间,IE也在对HTML4、DOM1/2和CSS1/2的兼容上做出了一些实际工作。

DHTML一度被MS称为“DHTML DOM”,然而我建议你将二者区分开来。许多在DHTML里能使用的

技术,在遵循W3C's DOM规范的浏览器上根本不能使用。

由于DOM与DHTML对Document Object的理解存在分歧,加上DHTML中既已存在的开发模型设计。

因此在IE5以后,DHTML中存在了两种访问Document Object的方式。作为一种“简单而粗糙”
的分类,你可以将“名字中包含Element的”绝大多数方法/属性归为DHTML的定义,而将“名
字中包含Node”的归为DOM的定义。同样的方式,你可以发现一大部分关于“Name/Vlaue”的
属性方法是应该归为DOM的定义的。

你可以参考的一份重要的资料是:“DOM L2的框架图”(附后)。

相关资料参考:
-----------
DOM L2的框架图:
 

JavaScript&HTML&DOM的最重要的参考书《JavaScript 权威指南》:

 

3. CSS与Dynamic CSS(DCSS)
--------
我第一次看到Cascading Style Sheets(CSS),是从一本奇怪的书上。他讲述到了CSS的历史:
这是一种从印刷业的既有标准中演化出来的网页排版样式规范。

这样的定义使得我在其后的很多年之中受益匪浅。它使我充分地理解了CSS中关于“度量单

位(units)”的极端混乱和复杂的状况,并能使我从各种位置、高度以及其它古怪的定义(包
括它们的名字)中找到一种最适宜于网页的形式。

在绝大多数的时候,你应该记住的是:你在做的是一个网页,而不是一份印刷用的手册。

所以,你可以尽情地利用与网页相关的技术与特性,而忽略其它的部分。——当然,如果你

做一些“必须相容于不同浏览平台和物理设备(如手持)”的网页,那么你应该从头阅读W3C的
CSS规范。——既便最后你发现它对你的开发工作起不到任何实际的作用。

而Dynamic CSS则相对地少有人知,除非你仔细地阅读MS的官方手册。在不多的几乎地方提到

了这个名词。它主要表达的是三种特性:
 - 在DOM中动态修改和构造CSS样式(styles)和规则(rules)
 - 在CSS样式中使用表达式(Dynamic Properties/Expression)
 - 在CSS样式中使用行为(Behaviors)

在样式表方面,MS对CSS 1的实现是完整但不完全规范的,对CSS 2的支持则不完整。关于这些

细节可以参考附件中的《CSS权威指南》。

相关资料参考:

-----------
CSS的最重要的参考书《CSS权威指南》:
 

4. HTML、XHTML、XML、X……
--------
关于这个讨厌的话题,我实现不想说什么了。如果你有兴趣,看看下面这张图吧。

它同时也是一份完整的索引。——点击一下每一个方块试试?

5. IE中的扩展技术
--------
除了在前面的章节中提及的MS对W3C的标准的扩展技术(如Behaviors、TIME、Data Binding等)
之外,IE中主要的扩展技术包括:
 - ActiveX Object : 实现Flash、SVG、OWC(Office Web Component)、VML等的核心技术。
 - ActiveX Form   : 一些高级语言可以通过它来实现更复杂的IE扩展。
 - java applet    : 很远古了。
 - DHtmlEditor    : IE5以后版本已经内置了一个Editor,这是应用很广泛的一个扩展技术。
 - Flash          : Web上矢量图形的事实标准(尽管它只是ActiveX扩展的一个具体实现)。
 - VML            : 使用VML来实现矢量图形,尽管没Flash/SVG强大,但胜在IE内置支持。
 - OWC            : 四个基本组件:电子表格(SpreadSheet)、图表(Chart)、数据源(
                    DataSourceControl)、动态报表(PivotTable)
 - External HOST  : 透过window.external来访问由HOST应用为IEFrame实现的接口对象/方法。

转载地址:http://behbb.baihongyu.com/

你可能感兴趣的文章
深入理解JVM虚拟机6:深入理解JVM类加载机制
查看>>
深入了解JVM虚拟机8:Java的编译期优化与运行期优化
查看>>
深入理解JVM虚拟机9:JVM监控工具与诊断实践
查看>>
深入理解JVM虚拟机10:JVM常用参数以及调优实践
查看>>
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
查看>>
深入理解JVM虚拟机13:再谈四种引用及GC实践
查看>>
Spring源码剖析1:Spring概述
查看>>
Spring源码剖析2:初探Spring IOC核心流程
查看>>
Spring源码剖析5:JDK和cglib动态代理原理详解
查看>>
Spring源码剖析6:Spring AOP概述
查看>>
【Linux】进程的理解(二)
查看>>
【Linux】vim的简单配置
查看>>
ThreadLocal 那点事儿(续集)
查看>>
阳台做成榻榻米 阳台做成书房
查看>>
深入分析java线程池的实现原理
查看>>
mybatis中"#"和"$"的区别
查看>>
Hibernate与MyBatis区别
查看>>
如何禁用Eclipse的Validating
查看>>
据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
查看>>
SpringMVC学习笔记2
查看>>