硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

Dojo 框架:误解与现实

  • 2010-12-23
  • 本文字数:8828 字

    阅读完需:约 29 分钟

随着 Ajax 技术的流行,越来越多的 Web 应用使用 Ajax 技术来提高用户体验。使用 Ajax 技术的一个重要优势是不需要额外的浏览器插件支持,只需要使用浏览器原生的 API,并利用 JavaScript 来操作即可。使用原生 API 时会遇到的两个比较大的问题是浏览器兼容性和底层 A 代 PI 接口带来的编程复杂性。同样的功能在不同的浏览器上的实现方式是存在差异的。如果一个应用希望支持不同的浏览器,则开发人员需要添加很多的浏览器检测或嗅探的代码。比如同样的事件绑定功能,在 IE 上使用 attachEvent ,而在其它浏览器上则使用 addEventListener 。除了兼容性问题之外,浏览器提供的原生 API 的接口一般都比较适合用来执行细粒度的操作。当需要完成一些相对复杂的操作的时候,使用原生 API 接口会使得代码比较繁琐。以一个 DOM 查询为例:在当前文档树中查找给定 ID 的节点的所有给定标签的直接子节点。对于这样一个查询,使用原生 DOM API 的话,则会需要使用 getElementById 来查找节点,通过 childNodes 来获取子节点列表以及比较节点的标签名称等。所要求的码量会比较大。

JavaScript 框架的出现,正是为了解决这两个比较大的问题,而不同的 JavaScript 框架也提供了各自额外的附加价值。目前可以使用的 JavaScript 框架非常之多,比较流行的也有十多种。这些流行的JavaScript 框架包括 jQuery Dojo YUI MooTools Prototype Ext JS Google Closure 等。这些不同的框架有着各自不同的优势和不足,也有着对应的不同的适用情景和范围。由于工作的关系,笔者对 Dojo 框架的使用最多,对于其它框架也有一定的了解。本文的目的是希望澄清一些对于 Dojo 框架的误解,从而帮助开发人员选择合适的框架。

在开始之前,首先简要介绍一下 Dojo 框架的基本结构。Dojo 框架由四个部分组成:Dojo 基本库、核心库、Dijit 和扩展库。基本库包含最基本的功能,核心库是基本库的扩展,Dijit 是用户界面库,而扩展库则是各式各样的扩展组件。

满足 Ajax 应用开发基本的需求

Dojo 和其它框架一样,都试图满足 Ajax 应用开发中的最基本的需求。这些基本的需求包括前面提到的浏览器兼容性和原生 API 的接口粒度问题,以及一些典型的应用场景。具体来说,应该包括下面一些功能集:JavaScript 语言增强、XMLHttpRequest 封装、DOM 查询与操作和事件处理等。而浏览器兼容性体现在这些功能集在不同浏览器上的效果是一样的。

从 Dojo 框架来说,对这些功能集的支持是比较丰富的。在 JavaScript 语言增强方面,对数字、字符串、日期类型、数组和 JavaScript 方法等有很多的增强功能。在 I/O 传输方面,除了常用的 XMLHttpRequest 之外,还支持 iframe 和

2010-12-23 00:006858

评论

发布
暂无评论
发现更多内容

数字化专精特新战略,华为云耀云服务器L实例全面赋能企业

平平无奇爱好科技

推翻企业ERP管理“三座大山”,华为云耀云服务器L实例言出必行

平平无奇爱好科技

万物智联的数字底座上,LightBeeOS筑起金融安全的春巢

脑极体

AI 金融

都快2024年了还在用传统服务器?试试华为云这款中小企业“上云”利器吧!

轶天下事

快get2023年跨境电商出海指南,华为云教你把握快速捞金机遇

YG科技

云上应用技术架构-LNMP应用

深蓝

爬虫IP使用后遇到问题如何解决

Geek_bf375d

IP 跨境贸易 代理IP 免费代理ip #HTTP

诚意满满 颠覆认知丨华为云这款轻量应用服务总能带来惊喜

平平无奇爱好科技

深谙数字化奥义,华为云耀云服务器L实例助企业行稳致远.

平平无奇爱好科技

Databend 开源周报第 119 期

Databend

如何在 Python 中执行 MySQL 结果限制和分页查询

小万哥

Python 程序员 软件 后端 开发

影响HTTP代理IP的稳定性的相关因素

Geek_bf375d

IP 代理IP 免费代理ip 跨境电商 #HTTP

还在烧钱买量?华为云这款轻量应用服务器让跨境电商生意不难做

轶天下事

轻量应用服务器购买清单,双11看华为云这篇文章就够了

轶天下事

未来之选:为什么向量数据库是您的数据管理利器

熬夜磕代码、

数据库

深入理解 Django 信号机制

K8sCat

django signal

轻量应用服务器看花眼?华为云耀云服务器L实例“闭眼”选准没错

轶天下事

代理服务IP的选择上有什么技巧

Geek_bf375d

IP HTTP 代理IP 免费代理ip 跨境电商

Linux 源码包安装

芯动大师

职场“内卷”利器?华为云这款轻量应用服务器助力开发者效率翻倍

平平无奇爱好科技

2023年前端流行的新技术

树上有只程序猿

前端 前端技术

使用Amazon WAF有效保护托管Web应用

Hanson

保持http代理服务器的方法

Geek_bf375d

IP HTTP 跨境电子商务 跨境电商 #HTTP

为什么要使用动态IP代理爬取

Geek_bf375d

IP HTTP 跨境电子商务 代理IP 跨境电商

挑战与机遇并存,华为云跨境电商新手入局必读指南来了

YG科技

当“996”开发模式都没用了,华为云这款轻量应用服务器才是终极答案

YG科技

爬虫代理ip和代理ip池确保用户隐私和数据安全的问题

Geek_bf375d

代理IP 代理IP设置 跨境电商 IP 路由 #HTTP

投资机构Janus Capital Group为Rola-IP品牌融资700万美元

Geek_bf375d

IP 代理IP 免费代理ip 跨境电商 #HTTP

CnosDB 在最近新发布的 2.4.0 版本中增加对时空函数的支持。

CnosDB

开源 时序数据库 CnosDB

阿里云、腾讯云之后,华为云耀云服务器L实例凭实力成为“卷”死对手

轶天下事

Dojo框架:误解与现实_Java_成富_InfoQ精选文章