{"id":373,"date":"2010-12-15T05:39:14","date_gmt":"2010-12-15T13:39:14","guid":{"rendered":"http:\/\/dylanschiemann.com\/?p=373"},"modified":"2010-12-15T05:39:14","modified_gmt":"2010-12-15T13:39:14","slug":"london-ajax-user-group-december-recap","status":"publish","type":"post","link":"https:\/\/dylanschiemann.com\/?p=373","title":{"rendered":"London Ajax User Group December Recap"},"content":{"rendered":"<p><img loading=\"lazy\" src=\"http:\/\/dylanschiemann.com\/wp-content\/uploads\/londonaugclearbg.png\" alt=\"\" title=\"London Ajax Logo\" width=\"186\" height=\"186\" class=\"alignright size-medium wp-image-375\" srcset=\"https:\/\/dylanschiemann.com\/wp-content\/uploads\/londonaugclearbg.png 186w, https:\/\/dylanschiemann.com\/wp-content\/uploads\/londonaugclearbg-150x150.png 150w\" sizes=\"(max-width: 186px) 100vw, 186px\" \/><\/p>\n<p>December 14th was the 9th and final <a href=\"http:\/\/londonajax.com\/\">London Ajax User Group<\/a> event for 2010. The topic was widgets, with talks about YUI and Dojo&#8217;s Dijit.<\/p>\n<p>A quick aside: I started this group earlier this year with Piotr Zalewa of MooTools and JSFiddle fame as I wanted to meet more people in London given the amount of time I am here, and bring a bit of the JavaScript valley culture to London.<\/p>\n<h2>Prizes<\/h2>\n<p>This event was interesting as I had lost my voice, so fortunately I wasn&#8217;t a scheduled speaker. We started off by announcing a pair of prizes:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.sitepen.com\/services\/support.php#page_boost\">SitePen Dojo Boost Support Plan<\/a><\/li>\n<li>When released, winner&#8217;s choice of: Blackberry Playbook or iPad 2, sponsored by left over funds within the London Ajax group<\/li>\n<\/ul>\n<p>Everyone in attendance received an entry, and all reasonably good questions received an additional ballot entry.<\/p>\n<h2>YUI<\/h2>\n<p>The first talk was delivered by <a href=\"https:\/\/twitter.com\/#!\/Lamplightdb\">Matt Parker<\/a> on the topic of YUI. Matt started by talking about the difference between the two versions of currently in use, YUI2 and YUI3.<\/p>\n<p>He showed off an example with a number of widgets from a product his company works on, and talked briefly about <a href=\"http:\/\/developer.yahoo.com\/yui\/articles\/gbs\/\"?YUI browser compatibility<\/a>.<\/p>\n<p>After a quick intro to YUI2, he moved on to YUI3 which has a much more efficient and modular coding style. YUI 3.2 has a short list of widgets: overlay, editor (no UI), scroll view, slider, tab view, with more coming in version 3.3: Charts, tree, autocomplete, datatable.<\/p>\n<p><a href='http:\/\/www.flickr.com\/photos\/dylans\/5262981157\/'><img loading=\"lazy\" src=\"http:\/\/dylanschiemann.com\/wp-content\/uploads\/5262981157_2559270209_z-300x225.jpg\" alt=\"\" title=\"Matt Parker on YUI at London Ajax User Group\" width=\"300\" height=\"225\" class=\"alignnone size-medium wp-image-376\" srcset=\"https:\/\/dylanschiemann.com\/wp-content\/uploads\/5262981157_2559270209_z-300x225.jpg 300w, https:\/\/dylanschiemann.com\/wp-content\/uploads\/5262981157_2559270209_z.jpg 640w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>YUI3 makes it easy to pull in YUI2 code which is fortunate given that YUI3 is still a work in progress, as it was a complete rewrite from YUI2.<\/p>\n<p>There&#8217;s a <a href=\"https:\/\/github.com\/yui\/yui3-gallery\">YUI community gallery on Github<\/a>, and it&#8217;s easy to include widgets from that gallery:<\/p>\n<pre lang=\"javascript\">YUI.use('gallery-treeviewlite', function(Y){});<\/pre>\n<p>Matt also showed off the <a href=\"http:\/\/alloy.liferay.com\/\">Alloy UI from Liferay<\/a>, which looks to be a very promising external widget project.<\/p>\n<p>YUI3 has a significant focus on performance, with almost everything being modular and pluggable.<\/p>\n<p>Other nice things in YUI3 include touch events, and an experimental project for using Node.js for server-side rendering of widgets.<\/p>\n<h2>Dijit<\/h2>\n<p><a href=\"http:\/\/twitter.com\/#!\/samfosteriam\/\">Sam Foster<\/a> of <a href=\"http:\/\/dojotoolkit.org\/\">Dojo<\/a> and <a href=\"http:\/\/sitepen.com\/\">SitePen<\/a> then delivered a talk on Dijit.<\/p>\n<p>Sam mentioned that the name Dijit represents many things: a project, namespace UI components, framework, and a guarantee (of quality).<\/p>\n<p>Dojo has been around for 6 years and carries a lot of really hard earned, painful lessons. One major rewrite and significant incremental releases have occurred over this time. Sam distilled the most important Dojo APIs into one simple slide.<\/p>\n<p>Dijit is themeable, accessible, internationalized, extensible, and production-ready. There&#8217;s an impressive <a href=\"http:\/\/archive.dojotoolkit.org\/nightly\/dojotoolkit\/dijit\/themes\/themeTester.html\">theme tester<\/a>, and Dijit is part of each major Dojo release.<\/p>\n<p>There&#8217;s a newly launched Dijit-based <a href=\"http:\/\/dojotoolkit.org\/api\/\">Dojo API viewer<\/a> that supports the current and several recent versions of Dojo.<\/p>\n<p>Dijit provides CSS for themes, allows for instantiation of widgets through declarative markup (1.6 uses HTML5 data attributes instead of custom attributes) or JavaScript.<\/p>\n<p>DojoX provides many additional widgets outside the scope of Dijit including grids, charts, image widgets, and much more.<\/p>\n<p>Dijit contains many classes of widgets, including layout widgets, form widgets, and more.<\/p>\n<p><a href='http:\/\/www.flickr.com\/photos\/dylans\/5262983101\/'><img loading=\"lazy\" src=\"http:\/\/dylanschiemann.com\/wp-content\/uploads\/5262983101_79338149a8_z-300x225.jpg\" alt=\"\" title=\"Sam Foster on Dijit at London Ajax User Group\" width=\"300\" height=\"225\" class=\"alignnone size-medium wp-image-374\" srcset=\"https:\/\/dylanschiemann.com\/wp-content\/uploads\/5262983101_79338149a8_z-300x225.jpg 300w, https:\/\/dylanschiemann.com\/wp-content\/uploads\/5262983101_79338149a8_z.jpg 640w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Sam concluded by discussing the value of ui frameworks, Dijit precepts, and explaining what actually is a widget (HTML\/CSS\/JavaScript).<\/p>\n<h2>Wrap-up<\/h2>\n<p>The talks were great, and the <a href=\"http:\/\/skillsmatter.com\/podcast\/ajax-ria\/widget-libraries\">video and slides<\/a> will soon be available.<\/p>\n<p>If you&#8217;re in London, we hope to see you at a future <a href=\"http:\/\/londonajax.com\/\">London Ajax User Group<\/a> event. We meet the second Tuesday of every month at 6:00pm, and occasionally have an all-day event on a weekend.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>December 14th was the 9th and final London Ajax User Group event for 2010. The topic was widgets, with talks about YUI and Dojo&#8217;s Dijit. A quick aside: I started this group earlier this year with Piotr Zalewa of MooTools and JSFiddle fame as I wanted to meet more people in London given the amount [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,6,1,2],"tags":[58],"_links":{"self":[{"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=\/wp\/v2\/posts\/373"}],"collection":[{"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=373"}],"version-history":[{"count":0,"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions"}],"wp:attachment":[{"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dylanschiemann.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}