📄 why dojo the dojo toolkit.mht
字号:
and other=20
IP rights around the toolkit. No source control access of any sort is=20
available. YUI is edge-cached on Yahoo's CDN for use by all.=20
<LI><B>JQuery: </B>A minimalist system focused primarily on operating =
on=20
existing DOM structures, JQuery features a hybrid XPath/CSS query =
language=20
(Dojo uses standard CSS 3 queries) and provides a rich set of options =
and=20
operations on the results of these queries. JQuery packs Ajax, =
effects, and=20
other utilities into a small core (beating all but MooTools). While =
there is=20
no widget or package system in JQuery per sae, 3rd party component =
libraries=20
are available which build on top of JQuery. The JQuery community is =
highly=20
active, usually helpful, and external contributions and patches are =
accepted.=20
Good docs for the system are readily available. JQuery is =
dual-licensed MIT=20
and GPL with all copyrights resting with John Resig. It is not clear =
how IP=20
rights are assigned to John by other contributors and under what =
terms.=20
Several frameworks (notably Drupal) integrate JQuery.=20
<LI><B>EXT:</B> Like Dojo's Dijit system, EXT is a component library. =
It=20
features a large number of consistent, good looking widgets with an =
emphasis=20
on pixel-perfect layout and desktop-like UIs across browsers. =
Originally=20
developed to run on top of YUI and later JQuery, EXT now has it's own=20
low-level library, removing the need for 3rd party dependencies. The =
EXT=20
community is very active and good documentation is available for the =
library.=20
It is licensed under the terms of the LGPL and commercial licenses of =
various=20
forms are available. It is not clear whether or not external =
contributions are=20
accepted (and under what terms) and anonymous subversion access is =
limited to=20
those who financially support the project in some way.=20
<LI><B>GWT: </B>Directly integrating server-side development and =
client-side=20
development, GWT takes the perspective that JavaScript is a bug to be =
solved=20
and uses advanced compiler technology to allow developers to write in =
Java and=20
generate dynamic, JavaScript based UIs in the Google style. The =
default widget=20
set is a strict subset of those provided by Dijit, but GWT takes great =
pains=20
to optimize all generated code. A growing trove of add-on libraries =
are=20
available to enhance the default components. Unlike YUI and EXT, GWT =
is being=20
run as a real Open Source project, allowing external committers, and =
doing=20
development in the open while managing IP issues in a very =
sophisticated=20
manner (CLAs, code review, etc. Much like Apache or Dojo). GWT=20
applications can only be written in Java and are most often deployed =
on Java=20
containers. Good documentation is available and a thriving community =
is=20
helpful.</LI></UL>
<P></P>For the sake of comparison, Dojo:=20
<P>
<UL>
<LI>Allows external committers and uses CLAs (like GWT or Apache) to =
ensure=20
that there are no IP issues
<LI>Is very liberally licensed and provides anonymous SVN access to =
everyone.=20
Committer privs are earned
<LI>Provides a relatively rich client-side component set but does not =
require=20
tight binding to any server-side language ("protocols, not APIs")=20
<LI>Attempts to provide a balance between on-the-wire size and =
common-case=20
functionality. Dojo Base is similar in size to Prototype.=20
<LI>Is very conservative about not stepping on the toes of other code =
in your=20
pages and preserving the global namespace=20
<LI>Is edge-cached on AOLs CDN for use by all
<LI>Provides a package system which makes knowing which order to load =
things=20
in a moot problem
<LI>Allows for incremental enhancement via markup and provides a very=20
easy-to-use widget system for building your own reusable components =
which can=20
then be easily instantiated via markup. </LI></UL>
<P></P>
<DIV class=3Dbook-navigation>
<DIV class=3D"page-links clear-block"><A class=3Dpage-previous=20
title=3D"Go to previous page"=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction/history">=E2=
=80=B9=20
History</A><A class=3Dpage-up title=3D"Go to parent page"=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction">up</A><A =
class=3Dpage-next title=3D"Go to next page"=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/part-1-life-dojo-0">Par=
t 1: Life=20
With Dojo - Dojo and Dijit Application Examples =
=E2=80=BA</A></DIV></DIV></DIV>
<DIV class=3Dlinks>
<UL class=3D"links inline">
<LI class=3D"first book_printer"><A class=3Dbook_printer=20
title=3D"Show a printer-friendly version of this book page and its =
sub-pages."=20
href=3D"http://dojotoolkit.org/book/export/html/2106">Printer-friendly =
version</A>=20
<LI class=3Dcomment_forbidden><SPAN class=3Dcomment_forbidden><A=20
=
href=3D"http://dojotoolkit.org/user/login?destination=3Dnode/2106%2523com=
ment-form">Login</A>=20
or <A=20
=
href=3D"http://dojotoolkit.org/user/register?destination=3Dnode/2106%2523=
comment-form">register</A>=20
to post comments</SPAN>=20
<LI class=3D"last subscriptions_add_node"><A =
class=3Dsubscriptions_add_node=20
title=3D"Receive an e-mail whenever a comment is posted to this Book =
page."=20
href=3D"http://dojotoolkit.org/subscriptions/add/node/2106">Subscribe =
post</A>=20
</LI></UL></DIV></DIV>
<DIV id=3Dcomments><A id=3Dcomment-3376></A>
<DIV class=3Dcomment>
<H3 class=3Dtitle><A class=3Dactive=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction/why-dojo#c=
omment-3376">The=20
only thing to add from my side...</A></H3>
<DIV class=3Dsubmitted>Submitted by bornmw on Mon, 07/09/2007 - =
19:33.</DIV>
<DIV class=3Dcontent>
<P>would be DOJO internals based on Aspect Oriented Programming.<BR>AOP =
adds=20
another level of flexibility making it much easier to customize DOJO =
behavior.=20
And since no framework has full support for concrete project =
requirements=20
customization plays a very important part in the development =
process.<BR>Adding=20
custom behavior encapsulated in an aspect (JS method) proved to be very =
helpful=20
with our DOJO-based projects.</P></DIV>
<DIV class=3Dlinks>
<UL class=3Dlinks>
<LI class=3D"first last comment_forbidden"><SPAN =
class=3Dcomment_forbidden><A=20
=
href=3D"http://dojotoolkit.org/user/login?destination=3Dnode/2106%2523com=
ment-form">Login</A>=20
or <A=20
=
href=3D"http://dojotoolkit.org/user/register?destination=3Dnode/2106%2523=
comment-form">register</A>=20
to post comments</SPAN> </LI></UL></DIV></DIV><A =
id=3Dcomment-3815></A>
<DIV class=3Dcomment>
<H3 class=3Dtitle><A class=3Dactive=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction/why-dojo#c=
omment-3815">And=20
D.O.H</A></H3>
<DIV class=3Dsubmitted>Submitted by samiam on Wed, 07/18/2007 - =
15:14.</DIV>
<DIV class=3Dcontent>
<P>The unit test framework (not technically dojo-specific but ships with =
dojo=20
and is nicely integrated) is another big plus for collaborative, team=20
development with dojo.</P>
<P>Sam</P></DIV>
<DIV class=3Dlinks>
<UL class=3Dlinks>
<LI class=3D"first last comment_forbidden"><SPAN =
class=3Dcomment_forbidden><A=20
=
href=3D"http://dojotoolkit.org/user/login?destination=3Dnode/2106%2523com=
ment-form">Login</A>=20
or <A=20
=
href=3D"http://dojotoolkit.org/user/register?destination=3Dnode/2106%2523=
comment-form">register</A>=20
to post comments</SPAN> </LI></UL></DIV></DIV><A =
id=3Dcomment-5613></A>
<DIV class=3Dcomment>
<H3 class=3Dtitle><A class=3Dactive=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction/why-dojo#c=
omment-5613">Someone=20
needs to address these 2 comments...</A></H3>
<DIV class=3Dsubmitted>Submitted by Karl on Tue, 09/04/2007 - =
16:09.</DIV>
<DIV class=3Dcontent>
<P>Both comments seem to be pretty concrete suggestions, how should we =
go about=20
integrating them into this page? Or should we even?</P>
<P>-Karl</P></DIV>
<DIV class=3Dlinks>
<UL class=3Dlinks>
<LI class=3D"first last comment_forbidden"><SPAN =
class=3Dcomment_forbidden><A=20
=
href=3D"http://dojotoolkit.org/user/login?destination=3Dnode/2106%2523com=
ment-form">Login</A>=20
or <A=20
=
href=3D"http://dojotoolkit.org/user/register?destination=3Dnode/2106%2523=
comment-form">register</A>=20
to post comments</SPAN> </LI></UL></DIV></DIV>
<DIV class=3Dindented><A id=3Dcomment-5626></A>
<DIV class=3Dcomment>
<H3 class=3Dtitle><A class=3Dactive=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction/why-dojo#c=
omment-5626">I=20
Would Say No...</A></H3>
<DIV class=3Dsubmitted>Submitted by criecke on Tue, 09/04/2007 - =
23:24.</DIV>
<DIV class=3Dcontent>
<P>... we shouldn't integrate them. Not because they're not great =
comments, or=20
they're unimportant ... I'm just afraid if we start trumpeting =
individual=20
features, there'll be no good place to stop. We need to keep the intro=20
short.</P></DIV>
<DIV class=3Dlinks>
<UL class=3Dlinks>
<LI class=3D"first last comment_forbidden"><SPAN =
class=3Dcomment_forbidden><A=20
=
href=3D"http://dojotoolkit.org/user/login?destination=3Dnode/2106%2523com=
ment-form">Login</A>=20
or <A=20
=
href=3D"http://dojotoolkit.org/user/register?destination=3Dnode/2106%2523=
comment-form">register</A>=20
to post comments</SPAN> </LI></UL></DIV></DIV></DIV><A =
id=3Dcomment-8163></A>
<DIV class=3Dcomment>
<H3 class=3Dtitle><A class=3Dactive=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction/why-dojo#c=
omment-8163">What=20
about ZK framework?</A></H3>
<DIV class=3Dsubmitted>Submitted by RedTony on Mon, 11/05/2007 - =
10:43.</DIV>
<DIV class=3Dcontent>
<P>Nice high-level comparison of the different AJAX frameworks out =
there... but=20
I miss one I pretty much like, I've been myself writing a pre-Analysis =
document=20
comparing some of these tools, and these two were the ones we chose for=20
implementing a new architectural project. What I most like from Dojo is =
the=20
server-independence, as no compilation is required, while ZK I would say =
is=20
pretty easier to learn and use (although *maybe* not so powerful).</P>
<P>Thanks in advance ;)</P>
<P>Red!</P></DIV>
<DIV class=3Dlinks>
<UL class=3Dlinks>
<LI class=3D"first last comment_forbidden"><SPAN =
class=3Dcomment_forbidden><A=20
=
href=3D"http://dojotoolkit.org/user/login?destination=3Dnode/2106%2523com=
ment-form">Login</A>=20
or <A=20
=
href=3D"http://dojotoolkit.org/user/register?destination=3Dnode/2106%2523=
comment-form">register</A>=20
to post comments</SPAN> </LI></UL></DIV></DIV></DIV><!-- /main_content =
region --></DIV></DIV>
<DIV class=3D"col-c content-region-container">
<DIV id=3Dsidebar-right-container></DIV></DIV><BR class=3Dclear></DIV>
<DIV class=3Dcols-a50b50 id=3Dafter-content-block>
<DIV class=3D"col-a content-region-container" =
id=3Dafter-content-block-1></DIV>
<DIV class=3D"col-b content-region-container" =
id=3Dafter-content-block-2><BR=20
class=3Dclear></DIV><BR class=3Dclear></DIV><BR clear=3Dall></DIV>
<DIV class=3Dcontent-region-container>
<DIV id=3Dnavigation-block>
<DIV id=3Dbreadcrumb-block>
<DIV id=3Dbreadcrumbs>
<DIV class=3Dbreadcrumb><A href=3D"http://dojotoolkit.org/">Home</A> =
=C2=BB <A=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9-0">The Book of =
Dojo</A> =C2=BB <A=20
href=3D"http://dojotoolkit.org/book/dojo-book-0-9/introduction">Introduct=
ion</A> =C2=BB=20
Why Dojo?</DIV></DIV></DIV>
<DIV class=3Dcols-abcd id=3Dmain-menu-block><!-- Block: menu -->
<DIV class=3D"block block-menu" id=3Dblock-menu-573>
<DIV class=3Dcontent>
<UL class=3Dmenu>
<LI class=3Dleaf id=3Dmenu-item-574><A title=3D"See the Dojo Toolkit =
in action!"=20
href=3D"http://dojotoolkit.org/demos">Demos</A>=20
<LI class=3Dexpanded id=3Dmenu-item-575><A=20
title=3D"Get started with the Dojo Toolkit, fast"=20
href=3D"http://dojotoolkit.org/docs/quickstart">Quick Start</A>=20
<UL class=3Dmenu>
<LI class=3Dleaf id=3Dmenu-item-576><A title=3D"Get the toolkit"=20
href=3D"http://dojotoolkit.org/downloads">Downloads</A>=20
<LI class=3Dleaf id=3Dmenu-item-577><A title=3D"See examples of the =
Dojo Toolkit"=20
href=3D"http://dojotoolkit.org/demos">Examples</A>=20
<LI class=3Dleaf id=3Dmenu-item-639><A=20
href=3D"http://dojotoolkit.org/spotlight">Spotlight</A> </LI></UL>
<LI class=3Dexpanded id=3Dmenu-item-578><A=20
href=3D"http://dojotoolkit.org/about">About</A>=20
<UL class=3Dmenu>
<LI class=3Dleaf id=3Dmenu-item-579><A=20
href=3D"http://dojotoolkit.org/about">Overview</A>=20
<LI class=3Dleaf id=3Dmenu-item-580><A=20
href=3D"http://dojotoolkit.org/about/features">Features</A>=20
<LI class=3Dleaf id=3Dmenu-item-581><A=20
href=3D"http://dojotoolkit.org/about/press">Press</A>=20
<LI class=3Dleaf id=3Dmenu-item-582><A=20
href=3D"http://dojotoolkit.org/about/contact">Contact</A>=20
</LI></UL></LI></UL></DIV></DIV><!-- Block: menu -->
<DIV class=3D"block block-menu" id=3Dblock-menu-589>
<DIV class=3Dcontent>
<UL class=3Dmenu>
<LI class=3Dexpanded id=3Dmenu-item-583><A=20
href=3D"http://dojotoolkit.org/downloads">Downloads</A>=20
<UL class=3Dmenu>
<LI class=3Dleaf id=3Dmenu-item-584><A=20
href=3D"http://dojotoolkit.org/downloads">Current releases</A>=20
<LI class=3Dleaf id=3Dmenu-item-585><A=20
href=3D"http://archive.dojotoolkit.org/nightly/">Nightly builds</A>=20
<LI class=3Dleaf id=3Dmenu-item-586><A=20
href=3D"http://archive.dojotoolkit.org/">Archives</A>=20
<LI class=3Dleaf id=3Dmenu-item-587><A=20
href=3D"http://trac.dojotoolkit.org/roadmap?show=3Dall">Change =
logs</A>=20
<LI class=3Dleaf id=3Dmenu-item-588><A=20
href=3D"http://dojotoolkit.org/downloads/releasenotes">Release =
notes</A>=20
</LI></UL>
<LI class=3Dexpanded id=3Dmenu-item-590><A=20
href=3D"http://dojotoolkit.org/news">News</A>=20
<UL class=3Dmenu>
<LI class=3Dleaf id=3Dmenu-item-591><A=20
href=3D"http://dojotoolkit.org/blog">Blogs</A>=20
<LI class=3Dleaf id=3Dmenu-item-592><A=20
=
href=3D"http://dojotoolkit.org/topics/news/announcements">Announcements</=
A>=20
<LI class=3Dleaf id=3Dmenu-item-593><A=20
href=3D"http://dojotoolkit.org/aggregator">Planet Dojo</A>=20
</LI></UL></LI></UL></DIV></DIV><!-- Block: menu -->
<DIV class=3D"block block-menu" id=3Dblock-menu-594>
<DIV class=3Dcontent>
<UL class=3Dmenu>
<LI class=3Dexpanded id=3Dmenu-item-595><A=20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -