dojo0.9的第一个实例


dojo0.9已经发布有一段时间了,研究dojo 0.9 也有一周的时间了吧。总想写一些什么,但是思路比较乱,不知从何说起。dojo也许是将来的一个趋势,但是也许appolo可能会比他更有竞争力。到底dojo是夕阳技术,还是朝阳技术,等待历史的验证吧。不过现在我们小组决定下一期的项目主要采用dojo来做界面,所以,还是先研究透了再说吧,况且,对我来说,dojo源代码比较亲切,研究起来也不怎么费劲。我希望建一个dojo的中文网站,让dojo 在中国使用的人更多,因为它确是有很多代码写得不错。widget也就是0.9中的dijit很有竞争力,还有一些底层的方法,比如xml,加密,io,事件,异常,调试,图表(一般),页面特效等这些如果使用熟练的话,会给页面开发的人员带来很多的方便。如果使用得熟练,就能够比较接近cs的方式开发bs软件。现在的可惜是:没有足够的javascript和dhtml的开发经验,很少有人能看懂dojo的源代码;没有一个很好的IDE支持dojo;dojo本身也在不断成长,所以,很多方法变化比较大。比如从0.4.3到0.9,变化太大了,导致我们所有的页面都要修改。io的变化也太大了,汗死了;dojo需要的js文件比较大,如果在互联网上使用,加载速度是一个问题,局域网内使用效果还不错;dojo的代码比较好理解,但是不够简练,这点是好也是坏啊。dojo的官方网站有很多不错的资源,不过我想很少人愿意去研读它,大家希望的是,我想实现是么功能,马上就有现成的方案或者例子供我使用,只要简单修改一下,就可以ok。dojo的mail list有很多答疑和讨论,不过我想很少人会主动订阅而且仔细分析。我,现在有个理想:把dojo的关键资料,翻译一下;对dojo有意义的讨论翻译一下;对dojo源代码翻译一下啊;将一些常用的例子独立出来,使使用者能够节省开发时间.先简单写个例子吧:dojo0.9比dojo0.43要求更严格了:1、要求引用parser类手工解析代码,或者script导入的时候 parseOnLoad: true,否则dojo的widget不能正常替换。2、样式表,需要单独引用,默认有一个在:/js/dijit/themes/tundra/tundra.css这个位置,需要特别注意的是<body class="tundra">,否则也不能正常显示dijit3、dojoType要求全程而且大小写敏感,比如:dojoType="dijit.form.Button"其他的变化对一般开发没有太大的映像。一个helloworld的例子:

 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 2        "http://www.w3.org/TR/html4/strict.dtd"> 3<html> 4<head> 5<title>Button Widget Dojo Tests</title> 6<style type="text/css"> 7    @import "../js/dojo/resources/dojo.css"; 8    @import "../js/dijit/themes/tundra/tundra.css"; 9</style>        10<script type="text/javascript"11    djConfig="parseOnLoad: true, isDebug: true"12    src="../js/dojo/dojo.js"></script>13<script type="text/javascript">14    dojo.require("dijit.form.Button");15</script>16<script>1718</script>19</head>20<body class="tundra">21<button id="b1" dojoType="dijit.form.Button" onclick="changeme()">HelloWorld</button> 22<script>23function changeme(){24    //dijit.byId("b1").setLabel("hello dojo World");25    dojo.byId("b1").value="hell dojo World ";26}27</script>28</body>29</html>3031

要使用上面的代码,需要注意的是dojo.js存放的位置,一定要把路径存正确。这个例子是一切dojo编程的开始,有了这个,您就可以简单替换<button>标签,来调用更丰富的dijit类了。enjoy it  

posted @ 2007-08-24 15:02  spring3  阅读(181)  评论(0编辑  收藏  举报