必要的道场

时间:2009-06-12 18:53:08

标签: json dojo

我开始使用Dojo;这(基本上)是我对AJAX的介绍。我们有一个Java后端(扭矩/涡轮/速度),并使用jabsorb JSON-RPC库来桥接Java和Javascript。

我需要知道什么? Dojo和JSON的大局是什么,有什么令人讨厌的小细节能够吸引我?当你开始使用Dojo时,你花了几天的时间追踪,你现在认为理所当然?感谢任何和所有提示。

5 个答案:

答案 0 :(得分:9)

要做的第一件事是熟悉Dojo对象模型。 JavaScript没有类系统,因此Dojo工具包创建了一种“按惯例”对象模型,该模型运行得相当好,但与Java中的工作方式非常不同。

我建议熟悉它的原因是,每当您开始遇到问题时,您都可以深入了解代码库。在过去的一年中,可用的文档有了显着的改进,但我偶尔会发现自己必须通过学习Dojo代码的工作原理来解决代码中的错误。

另一个提示是使用自定义构建功能,这将在应用程序准备就绪后显着提高性能。

作为DHTML编程的一般提示,请使用firebug(Firefox的插件)。它允许JavaScript调试,DOM检查,实时HTML编辑等等。当我在DHTML工作时,我已经完全依赖它了!

祝你好运!

答案 1 :(得分:5)

我也是首先进入Dojo,他们在http://api.dojotoolkit.org/有一个很好的API文档。即使Dojo Campus也有一些很好的插件示例。

如果你问我O'Reilly的 Dojo:The Definitive Guide 是市场上最好的Dojo书。

我也想要来自Dojo大师的任何提示和指示。

干杯

答案 2 :(得分:5)

确保您阅读的文档尽可能与最新版本相关,因为在Dojo架构中很多内容发生了很快的变化。

另一种了解如何使用Dojo或Dijit小部件的好方法是查看测试的源代码 - 例如,DataGrid文档很差,但测试显示了很多用例和配置。

Sitepen是Dojo articles的良好资源。

另外,请阅读Deferred(和DeferredList)以及hitch() - Dojo的两个非常灵活和强大的功能。 SitePen有一篇关于神秘化Deferred s。

的文章

查看plugd,这是一组Dojo扩展,可以使某些内容更方便,或者为该语言添加一些巧妙的功能。它是由Dojo核心作者之一制作的,因此它非常可靠。它甚至会在框架中带来一些jQuery细节。

更多的东西:查看数据存储,它们非常有用,是处理Ajax的更简洁的方法。 DojoX也有很多不错的东西,只记得DojoX的记录范围和组件的实验程度。了解dojo.byId和dijit.byId之间的差异,以及HTML idjsId之间的差异(同样,Sitepen还有一篇文章)。

答案 3 :(得分:4)

当我开始编写小部件时,有几件事引起了我的注意:

[了解dojoAttachPoint,dojoAttachEvent,containerNode和widgitsInTemplate做什么] [1]

牢牢掌握封闭,

了解延迟

了解ItemFileReadStore,ItemFileWriteStore和一般商店

你可以查看像ResultSet这样的商店(也可以),你可以将数据绑定到小部件。

通过这些主要概念,您可以开始组合一些引人注目的应用程序。

一般来说,我所做的是围绕我的服务调用构建JavaScript外观,然后通过在外观中附加第一个回调来将响应擦除到存储中,该回调将结果转换为存储然后返回它。这使我可以不将我的服务硬绑定到Dojo构造(所以我可以支持移动等),同时还以数据感知小部件期望的格式从外观重新调整数据。

如果您正在进行Java服务开发,我想查看JAX-RS。我开始使用JSON-RPC成为JABS-ORB,但在使用JAX-RS之后我更喜欢它,因为它与JPA-EJB和JAXB很好地集成。

答案 4 :(得分:0)

首先阅读如何在应用程序中配置Dojo。尝试理解Dojo的基本结构,如果我们正在编写dijit.form.Button或dijit / form / Button,则意味着Button.js位于dijit / form文件夹中。尝试理解Dojo的require,define,declare模块。这足以启动Dojo Toolkit。

非常重要的事实是,使用Dojo沉迷于您自己的示例项目。