1、本系列由来
使用dojo进行前端开发3个月了,深感dojo是一个极其优秀的前端开发框架。无奈国内dojo社区力量实在太过薄弱。dojo又是主要应用于以IBM为代表企业级应用。相对jQuery之于互联网的开放,企业级领域相对封闭。种种原因造成了dojo如此优秀的框架被埋没。
总而言之,笔者想分享一下自己对dojo的使用心得体会,也希望大牛对小弟的文章给予斧正,提升小弟使用dojo的战斗力,
2、本系列是什么
本系列不是dojo使用教程,而是一篇对dojo使用提纲挈领的文章。
分享dojo设计哲学,探索最佳实践
旨在让dojo入门更简单;
如果读者想深入了解dojo的各个模块组件请访问以下网站:
- dojo中文博客:此博客由IBM几位前端大牛维护,囊括了大量dojo中文原创内容,但相对于庞大的dojo框架,资料相对不是很全,也没有明确的学习路线,很多内容是翻译官方文档,缺乏使用dojo的最佳实践。
- IBM dojo系列:dojo是IBM贡献给开源社区的,所以IBM开发网站上有许多dojo的资料。中文资料也有不少,学习路线明确。蕴含不少dojo使用中的优秀实践,不过相对零散,干货藏的极深。还有就是dojo在1.6引入AMD规范之后有很大改版,过于陈旧资料请读者小心分辨,以免中毒。
- dojo官方文档:dojo最全最新的文档永远在官方文档中,当领略dojo的魅力之后,官方文档永远是开发者手中最有价值的武器。
- dojo 源代码:dojo现在已经提交给github管理,如果大家想深入dojo开发可以自行clone一份代码到本地,研究dojo充满魅力,又令人头疼的代码。(javascript灵活的语言特性,dojo支持多继承的特点很难让初学者不吐血)
- dojo 邮件列表:很多开发者遇到的问题,老外在邮件列表里都帮我们问了,所以好好利用邮件列表的搜索功能你会受益匪浅。
3、为什么使用dojo
废话先不多说直接上代码
grid.query({username:"小陈",dept:"market"});//查询名称为dog,市场部的用户,并在表格中显示
grid.update(object);//修改表格中的某条数据
grid.add(object)//新增
grid.remove(5);//删除id为5的数据
- 使用dojo提供的API,可以轻易打造一套MVC架构的前端,让CRUD应用更简单,开发者可以不必纠结于底层AJAX请求,页面性能,与RIA应用令人头疼的浏览器内存泄露,可以专注业务逻辑与页面动态效果,提高用户体验。
- dojo是一门极其适合学习的框架,相对于jQuery “write less do more” 的设计哲学,JQ神奇的构造函数以及轻量级的封装都会让新手陷入误区。而dojo高度模块化的代码结构,只要开发者理清了dojo的脉络,无疑会让开发者走向大牛的路上打下深厚基础。反正我现在是有什么不懂马上看dojo的source,经常有恍然大悟的兴奋。
- 学习前端经常有无数框架,让开发者无所适从,backbone.js、angularjs、seajs ,更别提还有无数良莠不齐的jquery plugin,选择了dojo,就是选择了所有。
4、分享几个原创中文dojo博客(不断更新中)
- 王牌海盗:《Gridx+JsonRest+SrpingMVC打造REST风格的列表应用》,让我受益匪浅。
- Owen Chen:IBM大牛,才开博客3个月,就有几篇高质量文章。建议入门先看 从dojo1.6-1.8 系列,会让初学者少走许多弯路。
- dojo中国专栏:该博客显然是标题党,node.js文章竟然比dojo还多一篇,其中《DOJO组件生命周期》不得不看。