Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dojo Web Builder - Building Dojo in the Cloud

Dojo Web Builder - Building Dojo in the Cloud

Presentation from DojoConf 2011 in Washington D.C.

James Thomas

May 07, 2012
Tweet

More Decks by James Thomas

Other Decks in Technology

Transcript

  1. Existing Dojo Build • Learning curve too steep for many

    users • Toolset may put some some users, i.e. commands lines and shell scripts • Users from simpler toolkits aren’t used to “building” JavaScript components Friday, 16 September 2011
  2. build.dojotoolkit.org • Launched in April 2011 • Served nearly 3000

    builds of Dojo! • Hosted on EC2 Friday, 16 September 2011
  3. Jetty JAX-RS Rhino Dojo Build Dojo 1.5 Architecture Web Application

    REST API Asynchronous Builder XHR JSON (Java) (JavaScript) Friday, 16 September 2011
  4. Web Application REST API Asynchronous Builder Architecture XHR Retrieve all

    packages available.... JSON (Java) (JavaScript) Friday, 16 September 2011
  5. GET /packages { "packages": [ { "link":"http://your.dojotoolkit.org/api/packages/dojo", "name":"dojo" } ],

    [ { "link":"http://build.dojotoolkit.org/api/packages/dwb", "name":"dwb" } ] } Friday, 16 September 2011
  6. GET /packages/dojo { "versions": [ { "link":"http://build.dojotoolkit.org/api/packages/dojo/1.4.3", "name":"1.4.3" }, {

    "link":"http://build.dojotoolkit.org/api/packages/dojo/1.5.1", "name":"1.5.1" }, { "link":"http://build.dojotoolkit.org/api/packages/dojo/1.6.1", "name":"1.6.1" } ] } Friday, 16 September 2011
  7. GET /packages/dojo/1.6.1 { "description":"Dojo Toolkit, release 1.6.1", "name":"Dojo Toolkit", "modules":

    [ ["dijit.Calendar","A simple GUI for choosing a date in the context of a monthly calendar. "], ["dijit.CheckedMenuItem","A checkbox-like menu item for toggling on and off "], ["dijit.ColorPalette","A keyboard accessible color-picking widget "], ["dijit.Declaration","The Declaration widget allows a developer to declare new widget classes directly from a snippet of markup. "], ....... ] } Friday, 16 September 2011
  8. Architecture Submit a build... Web Application REST API Asynchronous Builder

    XHR JSON (Java) (JavaScript) Friday, 16 September 2011
  9. POST /build { "packages":[ { "name":"dojo", "version":"1.6.1" } ], "layers":[

    { "name":"dojo.js", "modules":[ {"name":"dijit.Calendar", "package":"dojo"}, {"name":"dijit.Dialog", "package":"dojo"}, {"name":"dijit.Menu","package":"dojo"} ] } ], "optimise":"shrinksafe", "cdn":"none", "themes":"claro", "cssOptimise":"comments" } Friday, 16 September 2011
  10. GET /build/status { "buildStatusLink": "http://build.dojotoolkit.org/api/build/status/ HtHlqBVzBAztHRKMlClyYPzBofk_" } { "logs":"Beginning build

    process...” Local build selected. Loading build scripts... done Found custom module package, set up build.... Custom user package analysis... done Creating layer profiles.... Discovered layer, dojo.js Creating layer contents from profile... .... Build process completed successfully!", "state" : "COMPLETED", "result": "http://build.dojotoolkit.org/api/build/ HtHlqBVzBAztHRKMlClyYPzBofk_" } Friday, 16 September 2011
  11. Builds Per Month 0 200 400 600 800 May June

    July August Sept Build Requests Total Builds Since Launch - 2740* Friday, 16 September 2011
  12. Most Popular Modules Module Name Builds Contained dijit.Dialog 30.80% dijit.form.Button

    30.58% dijit.layout.ContentPane 26.57% dijit.form.Form 23.80% dojo.parser 22.85% dojo.data.ItemFileReadStore 22.85% dijit.Calendar 22.55% dijit.form.FilteringSelect 22.26% dijit.form.ComboBox 22.08% dijit.layout.TabContainer 22.01% Friday, 16 September 2011
  13. Auto Analysis 0 500 1,000 1,500 2,000 Remote URL Local

    File Profile Analysis Type Total Auto-Analyse Requests - 2180 Friday, 16 September 2011
  14. Auto Analysis 0 500 1,000 1,500 2,000 Remote URL Local

    File Profile Analysis Type Localhost Total Auto-Analyse Requests - 2180 Friday, 16 September 2011
  15. • Full AMD support (build & auto-analysis) • Dojo Foundation

    Package Repository Friday, 16 September 2011
  16. • Full AMD support (build & auto-analysis) • Dojo Foundation

    Package Repository • Build process purely client-side? Friday, 16 September 2011