JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

JavaScript Jabber

Episode | Podcast

Date: Wed, 06 Sep 2017 00:00:00 +0000

<div class="trix-content"> <h1>JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly</h1><div>This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. They talk with Dylan Schiemann and Kitson Kelly about Dojo 2.</div><div><strong>[00:02:03] Introduction to Dylan Schiemann</strong></div><div>Dylan is the CEO at Sitepen and co-founder of the Dojo Toolkit.</div><div><strong>[00:02:22] Introduction to Kitson </strong></div><div>Kitson is the CTO at Sitepen and project lead for Dojo 2.</div><div><strong>[00:02:43] Elevator Pitch for Dojo</strong></div><div>Dojo 1 has been around forever. Started back in 2004 as a way to solve the challenge of "I want to build something cool in a browser." Promises and web components were inspired by or created by Dojo. It's been a huge influence on the web development community.</div><div>Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications.</div><div><strong>[00:04:29] How is Dojo different from other frameworks?</strong></div><div>There's a spectrum: small libraries like React with an ecosystem and community of things you add to it to Angular which is closer to the MV* framework with bi-directional data binding. Vue lands somewhere in the middle. Dojo 2 is also somewhere in the middle as well. It's written in TypeScript and has embraced the TypeScript experience.</div><div><strong>[00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa?</strong></div><div>Dojo 2 had moved to TypeScript and 2 days later Angular announced that they were going to TypeScript. Angular also moved very quickly through their BETA phase, which caused some challenges for the Angular community.</div><div>With Dojo 2, they didn't start the public discussion and BETA until they knew much better what was and wasn't going to change. They've also been talking about Dojo 2 for 6 or 7 years.</div><div>The update was held up by adoption of ES6 and other technologies.</div><div>Dojo 1 was also responsible for a lot of the low-level underpinning that Angular didn't have to innovate on. Dojo 2 was built around a mature understanding of how web applications are built now.</div><div>People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities.</div><div>Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it.</div><div>It's also easier if all of your packages have the same version number.</div><div>Call out to Angular 4 vs Angular 2.</div><div><strong>[00:12:44] AMD Modules</strong></div><div>Why use AMD instead of ES6 modules?</div><div>You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo.</div><div>ES6 modules and module loading systems weren't entirely baked when Dojo 2 started to reach maturity, so they went with UMD. It's only been a few months since Safari implemented the ES6 module system. Firefox and friends are still playing catchup.</div><div>The Dojo CLI build tool uses webpack, so it's mostly invisible at this point.</div><div>So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD?</div><div>With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly.</div><div><strong>[00:16:00] Are you using Grunt?</strong></div><div>Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack.</div><div>For package builds and CI, Grunt is used.</div><div><strong>[00:18:30] What is the focus on Enterprise all about?</strong></div><div>There are a lot of different challenges and complexities to building Enterprise apps. Dojo was the first framework with internationalization, large data grids, SVG charts, etc. Dojo has spend a long time getting th... Support this podcast at — https://redcircle.com/javascript-jabber/donations Advertising Inquiries: https://redcircle.com/brands Privacy & Opt-Out: https://redcircle.com/privacy