<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: dojo</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/dojo.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2017-10-20T00:22:01+00:00</updated><author><name>Simon Willison</name></author><entry><title>React is the new Dojo</title><link href="https://simonwillison.net/2017/Oct/20/dojo/#atom-tag" rel="alternate"/><published>2017-10-20T00:22:01+00:00</published><updated>2017-10-20T00:22:01+00:00</updated><id>https://simonwillison.net/2017/Oct/20/dojo/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://medium.com/@mikeal/react-is-the-new-dojo-18bd9059378f"&gt;React is the new Dojo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
In which Mikeal Rogers provides his perspective on the history of Dojo, the earliest break-out JavaScript framework, how jQuery eclipsed it and contemplates the same thing eventually happening to React.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/react"&gt;react&lt;/a&gt;&lt;/p&gt;



</summary><category term="dojo"/><category term="jquery"/><category term="react"/></entry><entry><title>Why do so few companies use the Dojo Toolkit?</title><link href="https://simonwillison.net/2010/Oct/11/why-do-so-few/#atom-tag" rel="alternate"/><published>2010-10-11T17:14:00+00:00</published><updated>2010-10-11T17:14:00+00:00</updated><id>https://simonwillison.net/2010/Oct/11/why-do-so-few/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/Why-do-so-few-companies-use-the-Dojo-Toolkit/answer/Simon-Willison"&gt;Why do so few companies use the Dojo Toolkit?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Dojo is fantastic software, but it does a lot more than the other libraries and consequently has a much higher learning curve. It's advanced features may serve as something of a disadvantage for achieving more widespread adoption - most developers don't need the more advanced abstractions provided by Dojo when they start their projects, and by the time they DO need that stuff they've already written a ton of code using another library!&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/programming"&gt;programming&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ui"&gt;ui&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="dojo"/><category term="javascript"/><category term="programming"/><category term="ui"/><category term="quora"/></entry><entry><title>node-v0.1.30</title><link href="https://simonwillison.net/2010/Feb/22/node/#atom-tag" rel="alternate"/><published>2010-02-22T19:00:47+00:00</published><updated>2010-02-22T19:00:47+00:00</updated><id>https://simonwillison.net/2010/Feb/22/node/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://groups.google.com/group/nodejs/browse_thread/thread/e6cc6f04cd0ddf14"&gt;node-v0.1.30&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A very significant new release of Node.js: the Twisted/Dojo-style Promise abstraction has been removed entirely, causing backwards incompatible changes to a bunch of core APIs. This means the pseudo-blocking Promise.wait() method is gone too, making it even harder to accidentally block your event loop. Instead, user-level libraries are encouraged to add Promise-style abstractions. I’m pleased to see Node sticking to the low-level stuff.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://howtonode.org/do-it-fast"&gt;howtonode.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/async"&gt;async&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nodejs"&gt;nodejs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/promise"&gt;promise&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twisted"&gt;twisted&lt;/a&gt;&lt;/p&gt;



</summary><category term="async"/><category term="dojo"/><category term="javascript"/><category term="nodejs"/><category term="promise"/><category term="twisted"/></entry><entry><title>Dojo 1.4.1 vs jQuery 1.4.2pre on Taskspeed</title><link href="https://simonwillison.net/2010/Jan/29/competition/#atom-tag" rel="alternate"/><published>2010-01-29T14:19:24+00:00</published><updated>2010-01-29T14:19:24+00:00</updated><id>https://simonwillison.net/2010/Jan/29/competition/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.flickr.com/photos/jeresig/4311864455/"&gt;Dojo 1.4.1 vs jQuery 1.4.2pre on Taskspeed&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
John Resig’s reponse. When JavaScript libraries compete on performance, everybody wins.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/benchmarks"&gt;benchmarks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-resig"&gt;john-resig&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/performance"&gt;performance&lt;/a&gt;&lt;/p&gt;



</summary><category term="benchmarks"/><category term="dojo"/><category term="javascript"/><category term="john-resig"/><category term="jquery"/><category term="performance"/></entry><entry><title>Dojo: Still Twice As Fast When It Matters Most</title><link href="https://simonwillison.net/2010/Jan/28/dojo/#atom-tag" rel="alternate"/><published>2010-01-28T22:40:43+00:00</published><updated>2010-01-28T22:40:43+00:00</updated><id>https://simonwillison.net/2010/Jan/28/dojo/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://alex.dojotoolkit.org/2010/01/dojo-still-twice-as-fast-when-it-matters-most/"&gt;Dojo: Still Twice As Fast When It Matters Most&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Alex Russell shows how Dojo out-performs jQuery on the TaskSpeed benchmark, which attempts to represent common tasks in real-world applications and has had code that have been optimised by the development teams behind each of the libraries.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/benchmarks"&gt;benchmarks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/performance"&gt;performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/taskspeed"&gt;taskspeed&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="benchmarks"/><category term="dojo"/><category term="javascript"/><category term="jquery"/><category term="performance"/><category term="taskspeed"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2009/Nov/6/alex/#atom-tag" rel="alternate"/><published>2009-11-06T07:35:02+00:00</published><updated>2009-11-06T07:35:02+00:00</updated><id>https://simonwillison.net/2009/Nov/6/alex/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/2009/11/a-bit-of-closure/"&gt;&lt;p&gt;It’s interesting to me how much [Closure] feels like a more advanced version of Dojo in many ways. There's a familiar package system, the widgets are significantly more mature, and Julie and Ojan's Editor component rocks. The APIs will feel familiar (if verbose) to Dojo users, the class hierarchies seem natural, and Closure even uses Acme, the Dojo CSS selector engine.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/2009/11/a-bit-of-closure/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/acme"&gt;acme&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/closure"&gt;closure&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css"&gt;css&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;&lt;/p&gt;



</summary><category term="acme"/><category term="alex-russell"/><category term="closure"/><category term="css"/><category term="dojo"/><category term="google"/><category term="javascript"/></entry><entry><title>Coupling asynchronous scripts</title><link href="https://simonwillison.net/2009/Apr/30/coupling/#atom-tag" rel="alternate"/><published>2009-04-30T19:57:38+00:00</published><updated>2009-04-30T19:57:38+00:00</updated><id>https://simonwillison.net/2009/Apr/30/coupling/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.stevesouders.com/blog/2008/12/27/coupling-async-scripts/"&gt;Coupling asynchronous scripts&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
More from Steve Souders, this time discussing methods to cause externally loaded scripts to execute in the correct order, obeying dependencies. Surprisingly there’s no mention of YUI loader or the Dojo packaging system.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/loading"&gt;loading&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/steve-souders"&gt;steve-souders&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yui"&gt;yui&lt;/a&gt;&lt;/p&gt;



</summary><category term="dojo"/><category term="javascript"/><category term="loading"/><category term="steve-souders"/><category term="yui"/></entry><entry><title>Dojo 1.3 now available</title><link href="https://simonwillison.net/2009/Apr/1/dojo/#atom-tag" rel="alternate"/><published>2009-04-01T00:19:25+00:00</published><updated>2009-04-01T00:19:25+00:00</updated><id>https://simonwillison.net/2009/Apr/1/dojo/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.dojotoolkit.org/2009/03/31/dojo-1-3-now-available"&gt;Dojo 1.3 now available&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Looks like an excellent release. dojo.create is particularly nice—I’d be interested to know why something similar has never shipped with jQuery (presumably there’s a reason) as it feels a lot more elegant than gluing together an HTML-style string. Also interesting: you can swap between Dojo’s Acme selector engine and John Resig’s sizzle.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/acme"&gt;acme&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojocreate"&gt;dojocreate&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/releases"&gt;releases&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/selectors"&gt;selectors&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sizzle"&gt;sizzle&lt;/a&gt;&lt;/p&gt;



</summary><category term="acme"/><category term="dojo"/><category term="dojocreate"/><category term="javascript"/><category term="jquery"/><category term="releases"/><category term="selectors"/><category term="sizzle"/></entry><entry><title>Secure mashups with dojox.secure</title><link href="https://simonwillison.net/2008/Sep/24/dojoxsecure/#atom-tag" rel="alternate"/><published>2008-09-24T16:08:56+00:00</published><updated>2008-09-24T16:08:56+00:00</updated><id>https://simonwillison.net/2008/Sep/24/dojoxsecure/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2008/08/01/secure-mashups-with-dojoxsecure/"&gt;Secure mashups with dojox.secure&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
dojox.secure is brilliant and terrifying at the same time. It provides a full featured API for running untrusted JavaScript in a sandbox, by parsing and validating that code against a variant of Douglas Crockford’s ADsafe JavaScript subset. It could be fantastically useful, but it’s difficult to judge how secure this approach really is.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://twitter.com/dylans/statuses/933059448"&gt;dylans on Twitter&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/adsafe"&gt;adsafe&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojox"&gt;dojox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojoxsecure"&gt;dojoxsecure&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/kriszyp"&gt;kriszyp&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mashups"&gt;mashups&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sandboxing"&gt;sandboxing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="adsafe"/><category term="dojo"/><category term="dojox"/><category term="dojoxsecure"/><category term="javascript"/><category term="kriszyp"/><category term="mashups"/><category term="sandboxing"/><category term="security"/></entry><entry><title>Quoting Alex Russell</title><link href="https://simonwillison.net/2008/Aug/22/dojous/#atom-tag" rel="alternate"/><published>2008-08-22T08:12:28+00:00</published><updated>2008-08-22T08:12:28+00:00</updated><id>https://simonwillison.net/2008/Aug/22/dojous/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://alex.dojotoolkit.org/2008/08/dojos-query-system-no-really-its-that-fast/"&gt;&lt;p&gt;Making queries faster isn't in the critical path for improving the real-world performance of any Dojo apps I know of, and I bet the same is true for JQuery users. Reducing the size of the libraries, on the other hand, is still important. Now that we're all fast enough, it's time that we stopped beating on this particular drum lest we lose the plot and the JavaScript community continue to subject itself to endless rounds of benchmarketing.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://alex.dojotoolkit.org/2008/08/dojos-query-system-no-really-its-that-fast/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="dojo"/><category term="javascript"/><category term="jquery"/></entry><entry><title>Dojango version 0.3 released</title><link href="https://simonwillison.net/2008/Jul/24/dojango/#atom-tag" rel="alternate"/><published>2008-07-24T00:47:58+00:00</published><updated>2008-07-24T00:47:58+00:00</updated><id>https://simonwillison.net/2008/Jul/24/dojango/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.uxebu.com/2008/07/23/dojango-version-03-released/"&gt;Dojango version 0.3 released&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A reusable Django application that provides Dojo, helper functions (dojo.data integration) and tools for switching between Dojo versions.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojango"&gt;dojango&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="dojango"/><category term="dojo"/><category term="javascript"/><category term="python"/></entry><entry><title>window.name Transport</title><link href="https://simonwillison.net/2008/Jul/23/sitepen/#atom-tag" rel="alternate"/><published>2008-07-23T16:25:51+00:00</published><updated>2008-07-23T16:25:51+00:00</updated><id>https://simonwillison.net/2008/Jul/23/sitepen/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2008/07/22/windowname-transport/"&gt;window.name Transport&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The cleverest use of the window.name messaging hack I’ve seen yet: Dojo now has dojox.io.windowName.send for safe, performant cross-domain messaging.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/crossdomain"&gt;crossdomain&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/windowname"&gt;windowname&lt;/a&gt;&lt;/p&gt;



</summary><category term="crossdomain"/><category term="dojo"/><category term="javascript"/><category term="windowname"/></entry><entry><title>Google AJAX Libraries API</title><link href="https://simonwillison.net/2008/May/27/ajax/#atom-tag" rel="alternate"/><published>2008-05-27T17:56:47+00:00</published><updated>2008-05-27T17:56:47+00:00</updated><id>https://simonwillison.net/2008/May/27/ajax/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/"&gt;Google AJAX Libraries API&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Google are hosting copies of jQuery, Prototype, mooTools and Dojo on their CDN, with a promise to permanently host different versions and an optional JavaScript API to dynamically load the most recent version of a library. I wish they’d stop capitalising Ajax though.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://ajaxian.com/archives/announcing-ajax-libraries-api-speed-up-your-ajax-apps-with-googles-infrastructure"&gt;Ajaxian&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ajax"&gt;ajax&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cdn"&gt;cdn&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libraries"&gt;libraries&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mootools"&gt;mootools&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/prototype-js"&gt;prototype-js&lt;/a&gt;&lt;/p&gt;



</summary><category term="ajax"/><category term="cdn"/><category term="dojo"/><category term="google"/><category term="jquery"/><category term="libraries"/><category term="mootools"/><category term="prototype-js"/></entry><entry><title>AOP aspect of JavaScript with Dojo</title><link href="https://simonwillison.net/2008/May/18/eugenes/#atom-tag" rel="alternate"/><published>2008-05-18T10:45:41+00:00</published><updated>2008-05-18T10:45:41+00:00</updated><id>https://simonwillison.net/2008/May/18/eugenes/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://lazutkin.com/blog/2008/may/18/aop-aspect-javascript-dojo/"&gt;AOP aspect of JavaScript with Dojo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Fantastic post—concisely explains Aspect Oriented Programming, then shows how Dojo’s dojox.lang.aspect brings AOP to JavaScript, including some really useful built-in aspects for logging, profiling and more. Aspects are like Python decorators on steroids.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/aop"&gt;aop&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/aspects"&gt;aspects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/decorators"&gt;decorators&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojox"&gt;dojox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/eugenelazutkin"&gt;eugenelazutkin&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;&lt;/p&gt;



</summary><category term="aop"/><category term="aspects"/><category term="decorators"/><category term="dojo"/><category term="dojox"/><category term="eugenelazutkin"/><category term="javascript"/><category term="python"/></entry><entry><title>Doctype: /trunk/goog</title><link href="https://simonwillison.net/2008/May/14/revision/#atom-tag" rel="alternate"/><published>2008-05-14T21:12:07+00:00</published><updated>2008-05-14T21:12:07+00:00</updated><id>https://simonwillison.net/2008/May/14/revision/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://doctype.googlecode.com/svn/trunk/goog/"&gt;Doctype: /trunk/goog&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Google’s newly released JavaScript library (pure JavaScript, so more along the lines of YUI and jQuery than GWT). I haven’t found the documentation for it yet, but the code is extremely well commented. UPDATE: The documentation is spread throughout Doctype.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/goog"&gt;goog&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/googledoctype"&gt;googledoctype&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gwt"&gt;gwt&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libraries"&gt;libraries&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yui"&gt;yui&lt;/a&gt;&lt;/p&gt;



</summary><category term="dojo"/><category term="goog"/><category term="google"/><category term="googledoctype"/><category term="gwt"/><category term="javascript"/><category term="jquery"/><category term="libraries"/><category term="yui"/></entry><entry><title>Embedding custom non-visible data in HTML 5</title><link href="https://simonwillison.net/2008/Apr/19/html/#atom-tag" rel="alternate"/><published>2008-04-19T22:58:23+00:00</published><updated>2008-04-19T22:58:23+00:00</updated><id>https://simonwillison.net/2008/Apr/19/html/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.w3.org/html/wg/html5/#embedding"&gt;Embedding custom non-visible data in HTML 5&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“Every HTML element may have any number of attributes starting with the string ’data-’ specified, with any value.”—this will be incredibly useful for unobtrusive JavaScript where there’s no sensible place to store configuration data as HTML content. It will also mean Dojo has an approved method for adding custom attributes to declaratively instantiate Dojo widgets.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/customattributes"&gt;customattributes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html"&gt;html&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html5"&gt;html5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/standards"&gt;standards&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/unobtrusive-javascript"&gt;unobtrusive-javascript&lt;/a&gt;&lt;/p&gt;



</summary><category term="customattributes"/><category term="dojo"/><category term="html"/><category term="html5"/><category term="javascript"/><category term="standards"/><category term="unobtrusive-javascript"/></entry><entry><title>Firebug + Dijit tips</title><link href="https://simonwillison.net/2008/Mar/17/dojocampus/#atom-tag" rel="alternate"/><published>2008-03-17T02:08:23+00:00</published><updated>2008-03-17T02:08:23+00:00</updated><id>https://simonwillison.net/2008/Mar/17/dojocampus/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://dojocampus.org/content/?p=68"&gt;Firebug + Dijit tips&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
News to me: Firebug has a magic $1 variable which corresponds to the currently selected node. Very handy.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/debugging"&gt;debugging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dijit"&gt;dijit&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/firebug"&gt;firebug&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;&lt;/p&gt;



</summary><category term="debugging"/><category term="dijit"/><category term="dojo"/><category term="firebug"/><category term="javascript"/></entry><entry><title>dojox.gfx demos</title><link href="https://simonwillison.net/2008/Mar/16/dojox/#atom-tag" rel="alternate"/><published>2008-03-16T16:24:38+00:00</published><updated>2008-03-16T16:24:38+00:00</updated><id>https://simonwillison.net/2008/Mar/16/dojox/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/gfx/demos/"&gt;dojox.gfx demos&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Impressive demos of the Dojo 2D drawing APIs—these need to be linked from the dojo site, it took me quite a while to find them.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/2d"&gt;2d&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojox"&gt;dojox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/drawing"&gt;drawing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gfx"&gt;gfx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;&lt;/p&gt;



</summary><category term="2d"/><category term="dojo"/><category term="dojox"/><category term="drawing"/><category term="gfx"/><category term="javascript"/></entry><entry><title>Insert Dojo and YUI bookmarklets</title><link href="https://simonwillison.net/2007/Dec/9/morethanseven/#atom-tag" rel="alternate"/><published>2007-12-09T12:38:03+00:00</published><updated>2007-12-09T12:38:03+00:00</updated><id>https://simonwillison.net/2007/Dec/9/morethanseven/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://morethanseven.net/posts/insert-dojo-and-yui-bookmarklets/"&gt;Insert Dojo and YUI bookmarklets&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Combine with Jash for interactive API experimentation on any web page.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bookmarklets"&gt;bookmarklets&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gareth-rushgrove"&gt;gareth-rushgrove&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jash"&gt;jash&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/shell"&gt;shell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yui"&gt;yui&lt;/a&gt;&lt;/p&gt;



</summary><category term="bookmarklets"/><category term="dojo"/><category term="gareth-rushgrove"/><category term="jash"/><category term="javascript"/><category term="shell"/><category term="yui"/></entry><entry><title>Eye-Fi launches</title><link href="https://simonwillison.net/2007/Nov/11/eyefi/#atom-tag" rel="alternate"/><published>2007-11-11T22:40:33+00:00</published><updated>2007-11-11T22:40:33+00:00</updated><id>https://simonwillison.net/2007/Nov/11/eyefi/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2007/11/11/eye-fi-launches/"&gt;Eye-Fi launches&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Really neat idea: a digital camera SD card with built-in WiFi to beam your photos straight to your laptop. SitePen built the UI, which runs in your browser on top of Dojo and talks to a small web server running locally.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/digital-cameras"&gt;digital-cameras&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/eyefi"&gt;eyefi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/photography"&gt;photography&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sitepen"&gt;sitepen&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wifi"&gt;wifi&lt;/a&gt;&lt;/p&gt;



</summary><category term="digital-cameras"/><category term="dojo"/><category term="eyefi"/><category term="javascript"/><category term="photography"/><category term="sitepen"/><category term="wifi"/></entry><entry><title>dojo.NodeList API docs</title><link href="https://simonwillison.net/2007/Nov/8/nodelist/#atom-tag" rel="alternate"/><published>2007-11-08T11:16:57+00:00</published><updated>2007-11-08T11:16:57+00:00</updated><id>https://simonwillison.net/2007/Nov/8/nodelist/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://redesign.dojotoolkit.org/?q=jsdoc/dojo/HEAD/object/dojo.NodeList"&gt;dojo.NodeList API docs&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Support in Dojo for jQuery-style chaining operations.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/chaining"&gt;chaining&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libraries"&gt;libraries&lt;/a&gt;&lt;/p&gt;



</summary><category term="chaining"/><category term="dojo"/><category term="javascript"/><category term="jquery"/><category term="libraries"/></entry><entry><title>Announcing Dojo 1.0</title><link href="https://simonwillison.net/2007/Nov/7/dojo/#atom-tag" rel="alternate"/><published>2007-11-07T13:17:24+00:00</published><updated>2007-11-07T13:17:24+00:00</updated><id>https://simonwillison.net/2007/Nov/7/dojo/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2007/11/05/announcing-dojo-10/"&gt;Announcing Dojo 1.0&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The tough learning curve that accompanied 0.4 and earlier has been replaced with an elegant core module (dojo) and two exciting subprojects (dojox and dijit). Well worth a look.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dijit"&gt;dijit&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojox"&gt;dojox&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;&lt;/p&gt;



</summary><category term="dijit"/><category term="dojo"/><category term="dojox"/><category term="javascript"/></entry><entry><title>YUI 2.3.0</title><link href="https://simonwillison.net/2007/Aug/1/yui/#atom-tag" rel="alternate"/><published>2007-08-01T08:20:33+00:00</published><updated>2007-08-01T08:20:33+00:00</updated><id>https://simonwillison.net/2007/Aug/1/yui/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://yuiblog.com/blog/2007/07/31/yui-2-3-0-released/"&gt;YUI 2.3.0&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
New components are a rich text editor, dojo-style package loader, lazy ImageLoader, colour picker and unit test framework. Easier skinning as well.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/skinning"&gt;skinning&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/testing"&gt;testing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yui"&gt;yui&lt;/a&gt;&lt;/p&gt;



</summary><category term="dojo"/><category term="javascript"/><category term="skinning"/><category term="testing"/><category term="yui"/></entry><entry><title>Dojo Offline on Google Gears</title><link href="https://simonwillison.net/2007/May/31/audible/#atom-tag" rel="alternate"/><published>2007-05-31T08:28:22+00:00</published><updated>2007-05-31T08:28:22+00:00</updated><id>https://simonwillison.net/2007/May/31/audible/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://ajaxian.com/archives/audible-ajax-episode-21-dojo-offline-on-google-gears"&gt;Dojo Offline on Google Gears&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“The great news is that the Dojo crew were in the loop wrt this project, and Brad has ported Dojo Offline to use Google Gears as the base platform.”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/brad-neuberg"&gt;brad-neuberg&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojooffline"&gt;dojooffline&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google-gears"&gt;google-gears&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/offline"&gt;offline&lt;/a&gt;&lt;/p&gt;



</summary><category term="brad-neuberg"/><category term="dojo"/><category term="dojooffline"/><category term="google"/><category term="google-gears"/><category term="javascript"/><category term="offline"/></entry><entry><title>dojo.query: A CSS Query Engine For Dojo</title><link href="https://simonwillison.net/2007/May/17/dojoquery/#atom-tag" rel="alternate"/><published>2007-05-17T09:40:35+00:00</published><updated>2007-05-17T09:40:35+00:00</updated><id>https://simonwillison.net/2007/May/17/dojoquery/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://dojotoolkit.org/node/336"&gt;dojo.query: A CSS Query Engine For Dojo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I incorrectly criticised Dojo for not having a CSS node selection tool in my talk yesterday; not sure how I missed this.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/corrections"&gt;corrections&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/css"&gt;css&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript-libraries"&gt;javascript-libraries&lt;/a&gt;&lt;/p&gt;



</summary><category term="corrections"/><category term="css"/><category term="dojo"/><category term="javascript"/><category term="javascript-libraries"/></entry><entry><title>Dojo 0.9 Update</title><link href="https://simonwillison.net/2007/Apr/29/sitepen/#atom-tag" rel="alternate"/><published>2007-04-29T20:18:13+00:00</published><updated>2007-04-29T20:18:13+00:00</updated><id>https://simonwillison.net/2007/Apr/29/sitepen/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2007/04/28/dojo-09-update/"&gt;Dojo 0.9 Update&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Big changes are under way in the Dojo camp.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libraries"&gt;libraries&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="dojo"/><category term="javascript"/><category term="libraries"/></entry><entry><title>The Dojo Offline Toolkit</title><link href="https://simonwillison.net/2007/Apr/23/dojo/#atom-tag" rel="alternate"/><published>2007-04-23T11:56:05+00:00</published><updated>2007-04-23T11:56:05+00:00</updated><id>https://simonwillison.net/2007/Apr/23/dojo/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://dojotoolkit.org/offline"&gt;The Dojo Offline Toolkit&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A small client runtime provides a proxy server which offline applications can use to store data; a client library provides code for online/offline detection and data synchronisation.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://codinginparadise.org/weblog/2007/04/dojo-offline-beta-released-toolkit-for.html"&gt;Brad Neuberg&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/brad-neuberg"&gt;brad-neuberg&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojooffline"&gt;dojooffline&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/offline"&gt;offline&lt;/a&gt;&lt;/p&gt;



</summary><category term="brad-neuberg"/><category term="dojo"/><category term="dojooffline"/><category term="offline"/></entry><entry><title>The website to web application gradient</title><link href="https://simonwillison.net/2007/Apr/20/frameworkers/#atom-tag" rel="alternate"/><published>2007-04-20T00:30:45+00:00</published><updated>2007-04-20T00:30:45+00:00</updated><id>https://simonwillison.net/2007/Apr/20/frameworkers/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.flickr.com/photos/74105777@N00/464449077/"&gt;The website to web application gradient&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Jeremy snapped this cunning illustration at my JavaScript Libraries panel at the Web 2.0 Expo.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-russell"&gt;alex-russell&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bret-taylor"&gt;bret-taylor&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/flickr"&gt;flickr&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gwt"&gt;gwt&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeremy-keith"&gt;jeremy-keith&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/john-resig"&gt;john-resig&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jquery"&gt;jquery&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/matt-sweeney"&gt;matt-sweeney&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web2expo"&gt;web2expo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web2expo07"&gt;web2expo07&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yui"&gt;yui&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-russell"/><category term="bret-taylor"/><category term="dojo"/><category term="flickr"/><category term="gwt"/><category term="javascript"/><category term="jeremy-keith"/><category term="john-resig"/><category term="jquery"/><category term="matt-sweeney"/><category term="web2expo"/><category term="web2expo07"/><category term="yui"/></entry><entry><title>Offline Gmail and Blogger Using the Dojo Offline Toolkit</title><link href="https://simonwillison.net/2007/Jan/10/sitepen/#atom-tag" rel="alternate"/><published>2007-01-10T12:40:01+00:00</published><updated>2007-01-10T12:40:01+00:00</updated><id>https://simonwillison.net/2007/Jan/10/sitepen/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2007/01/09/28/"&gt;Offline Gmail and Blogger Using the Dojo Offline Toolkit&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
These are just mockups at the moment, but they’re a useful illustration of how offline browsing modes for Web applications could work.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogger"&gt;blogger&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gmail"&gt;gmail&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/offline"&gt;offline&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sitepen"&gt;sitepen&lt;/a&gt;&lt;/p&gt;



</summary><category term="blogger"/><category term="dojo"/><category term="gmail"/><category term="javascript"/><category term="offline"/><category term="sitepen"/></entry><entry><title>The Dojo Offline Toolkit</title><link href="https://simonwillison.net/2007/Jan/7/offline/#atom-tag" rel="alternate"/><published>2007-01-07T22:24:23+00:00</published><updated>2007-01-07T22:24:23+00:00</updated><id>https://simonwillison.net/2007/Jan/7/offline/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.sitepen.com/blog/2007/01/02/the-dojo-offline-toolkit/"&gt;The Dojo Offline Toolkit&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The Dojo Offline Toolkit will be a small, cross-platform, generic download that enables web applications to work offline.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dojo"&gt;dojo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/offline"&gt;offline&lt;/a&gt;&lt;/p&gt;



</summary><category term="dojo"/><category term="javascript"/><category term="offline"/></entry></feed>