为什么使用dojo?dojo与jquery有什么不同?dojo适合什么开发场景?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/eguid_1/article/details/52267765

首先介绍一下dojo的特性:

1、Dojo是一个符合AMD规范的企业级框架(dojo是一个重量级框架)

2、Dojo全面支持异步加载JS机制(即:支持通过require异步加载JS模块,通过define定义符合AMD规范的标准JS直接对象(模块))

3、Dojo不仅提供了针对javascript的语句优化(dojo核心语法与jquery完全不同,需要额外学习),还提供了所有UI组件

4、Dojo支持IE6以上浏览器,Dojo帮助我们处理了浏览器兼容性问题,所以不需要担心 Web 页面是否在某些浏览器中可用

5、Dojo 提供打包工具可以优化 JavaScript 代码,并且只生成部署应用程序所需的最小 Dojo 包集合

dojo与jquery相比优点:

1、dojo支持IE6以上的浏览器,jquery不再支持IE9以下浏览器(国内IE9以下浏览器份额依旧占据半壁江山)

2、dojo不仅提供jquery的JS优化操作还提供UI组件

3、dojo中所有功能都基于异步JS实现,jquery需要借助第三方requireJS等异步加载框架实现异步加载JS。

jquery相比dojo优点:

1、jquery很轻量级,而dojo很重,dojo的压缩包都在36M以上。

2、jquery灵活方便,jquery只提供js的优化操作,本身不提供UI组件,开发者可以采用任意第三方UI框架进行实现

注:阐述JS异步加载机制,举个例子:我在应用中只需要用到jquery的ajax方法,却需要把整个jquery.js包加载才能使用,而异步加载机制则是单独把ajax方法封装为一个JS模块,只在用到的时候require一个ajax模块,而不是一股脑把所有JS加载进浏览器。

总结:

dojo是重量级框架,适合企业级开发,并且通过异步JS模块加载机制解决了企业级开发中大量加载JS导致的浏览器崩溃问题,本身提供了UI组件完全可以满足所有需求,不在需要其他第三方框架,为企业级开发提供了全套的解决方案(有了dojo,不再需要其他框架)。

jquery很灵活很轻量级,适合轻量级的web应用开发,结合requireJS也可实现异步加载JS模块,浏览器兼容性需要开发者自行调校。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏相约机器人

具有EC2自动训练的无服务器TensorFlow工作流程

机器学习训练工作通常是时间和资源密集型的,因此将这一过程整合到实时自动化工作流程中可能会面临挑战。

9010
来自专栏GA小站

1.1.6 、GA跟踪和数据传输原理

GA通过在网页中嵌入一段GA的JS跟踪代码,然后这段代码会收集相关信息通过虚拟1像素的gif图片的形式来发送相关的信息给Google的服务器,以完成数据采集。之...

11120
来自专栏运维猫

搭建Web SpeedTest网速测试工具

speedtest 是由意大利的一位90后爱打游戏爱跳舞机的逗B码农 Federico Dossena (见下图) 发布的一个项目:https://github...

19310
来自专栏达达前端

vue.js 从基础到实战

在实例化 Vue 时,需要传入一个选项对象,它可以包含数据、模板、挂载元素、方法、生命周期钩子等选项。

7910
来自专栏大史住在大前端

Web高性能动画及渲染原理(1)CSS动画和JS动画

Web动画的本质是元素状态改变造成的样式变更,CSS动画和JS动画的区别并不是由语言来决定的,而是由两者的特点和适用场景来判断的。CSS动画简洁高效,提升交互体...

14130
来自专栏GA小站

1.1.7、新旧版跟踪代码的对比

最新的GA的跟踪代码都是analytics.js,对应在GTM中就是Universal Analytics,新版的跟踪代码发送的URL上出现关键字是“colle...

10220
来自专栏芋道源码1024

面试必问:Spring 循环依赖的三种方式

引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Sp...

8920
来自专栏TLingC's Zone

在ThinkPHP中使用Laravel Mix

参照Laravel Mix文档,可以用在独立项目中,因此可以在ThinkPHP根目录下,参照Laravel项目,建立如下两个文件:

11230
来自专栏授客的专栏

python yield关键词使用总结

简单来说,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 gene...

6630
来自专栏机器学习算法与Python学习

4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!

在不同的时代,这个问题也有着不同的答案,而一部编程语言的使用人数变迁史,实际上也是一部计算机世界的成长编年史。

15220

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励