kelly

JSJ 252 The 20th Anniversary of Visual Studio with Bowden Kelly

Javascript Jabber is hosted this week by Joe Eames, Aimee Knight, AJ O'Neal, Cory House, Charles Max Wood and their special guest Bowden Kelly. Bowden is a program manager at Microsoft and he shares some insight into the new features in Visual Studio 2017 RTM with Bowden Kelly.




kelly

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

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.

[00:02:03] Introduction to Dylan Schiemann

Dylan is the CEO at Sitepen and co-founder of the Dojo Toolkit.

[00:02:22] Introduction to Kitson 

Kitson is the CTO at Sitepen and project lead for Dojo 2.

[00:02:43] Elevator Pitch for Dojo

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.

Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications.

[00:04:29] How is Dojo different from other frameworks?

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.

[00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa?

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.

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.

The update was held up by adoption of ES6 and other technologies.

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.

People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities.

Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it.

It's also easier if all of your packages have the same version number.

Call out to Angular 4 vs Angular 2.

[00:12:44] AMD Modules

Why use AMD instead of ES6 modules?

You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo.

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.

The Dojo CLI build tool uses webpack, so it's mostly invisible at this point.

So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD?

With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly.

[00:16:00] Are you using Grunt?

Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack.

For package builds and CI, Grunt is used.

[00:18:30] What is the focus on Enterprise all about?

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 this right. Many other systems don't handle all the edge cases.

Internationalization in Angular 2 or 4 seems unfinished.

Most Dojo users are building for enterprises like banks and using the features that handle large amounts of data and handle those use cases better.

[00:21:05] If most application frameworks have the features you listed, is there a set of problems it excels at?

The Dojo team had a hard look at whether there was a need for their framework since many frameworks allow you to build great applications. Do we want to invest into something like this?

React has internationalization libraries. But you'll spend a lot of time deciding which library to use and how well it'll integrate with everything else. A tradeoff in decision fatigue.

In the Enterprise, development isn't sexy. It's necessary and wants to use boring but reliable technology. They like to throw bodies at a problem and that requires reliable frameworks with easily understood decision points.

Producing code right is a strong case for TypeScript and they pull that through to the end user.

Many frameworks start solving a small set of problems, become popular, and then bolt on what they need to solve everything else...

Dojo tried to make sure it had the entire package in a clear, easy to use way.

You can build great apps with most of the big frameworks out there. Dojo has been doing this for long enough that they know where to optimize for maintainability and performance.

[00:29:00] Where is Dojo's sweet spot? 

The Sitepen Blog series on picking a framework

The biggest reason for using Dojo over the years is the data grid component.

They also claim to have the best TypeScript web development experience.

You may also want a component based system with the composition hassles of React.

The composability of components where one team may write components that another uses is a big thing in Dojo where one person doesn't know the entire app you're working on.

Theming systems is another selling point for Dojo.

[00:34:10] Ending the framework wars

Try Dojo out and try out the grid component and then export it to your Angular or React app.

There are a lot of frameworks out there that do a great job for the people who use them. The focus is on how to build applications better, rather than beating out the competition.

Sitepen has build apps with Dojo 2, Angular, React, Dojo + Redux, etc.

[00:39:01] The Virtual DOM used by Dojo

2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on Maquette.

The more you deal with the DOM directly, the more complex your components and libraries become.

Makes things simpler for cases like server side rendering getting fleshed out in BETA 3.

It also allows you to move toward something like React Native and WebVR components that aren't coupled to the DOM.

They moved away from RxJS because they only wanted observables and shimmed in (or polyfilled) the ES-Next implementation instead of getting the rest of the RxJS  that they're not using.

[00:46:40] What's coming next?

They're finishing Dojo 2. They're polishing the system for build UI components and architecture and structuring the app. They plan to release before the end of the year.

They're also wrapping up development on the Data Grid, which only renders what shows on the screen plus a little instead of millions of rows.

[00:49:08] Testing

They've got intern.

It pulls together unit testing, functional testing, continuous integration hooks, accessibility testing, etc.

It's rewritten in TypeScript to take advantage of modern JavaScript.

The Dojo CLI uses intern as the default test framework.

Kitson build the test-extras library to help with Dojo testing with intern.

Dojo Links

Picks

Cory

Aimee

Chuck

Dylan

Kitson

 




kelly

MJS 040: Kitson Kelly

Panel: 

Charles Max Wood

Guest: Kitson Kelly

This week on My JavaScript Story, Charles speaks with Kitson Kelly. Kitson is a return guest, previously on JavaScript Jabber 277. Kitson is the CTO at SitePen, and has been working and maintaining Dojo 2 for the last couple years.

Kitson talks about his journey as a developer. First, sparking his interest with old Atari games and getting his first computer in his early years.  Kitson talks about his education background and introduction to computers in high school and hang out with other in the same programming niche. Kitson talks about his challenges not having a degree in computer science, but still very successful as a developer after climbing the corporate latter.

In particular, we dive pretty deep on:

  • Atari Games and old first computer
  • Hangout with the computer nerds
  • Community college
  • No actual formal computer science degree
  • Tech Support and Self Taught
  • Challenges with not degree
  • Climbing the latter
  • Troubles even with a degree
  • Is a degree in computer science really needed?
  • Experience verses degree
  • Working with other people is important
  • Getting into JavaScript and Dojo
  • What kept you working in JavaScript
  • How do you get to being CTO and SitePen?
  • What are you most proud of with the work on Dojo
  • Contributions
  • Side Projects  - Dojo 2
  • and much, much more!

Links: 

Picks:

Kitson

Charles




kelly

JSJ 302: Evaluating Web Frameworks with Kitson Kelly

Panel: 

Charles Max Wood

Aimee Knight

AJ O'Neal

Special Guests: Kitson Kelly

In this episode, the JavaScript Jabber panelists talk with Kitson Kelly about evaluating web frameworks. Kitson is currently in Australia working for ThoughtWorks as a principle technologist. He has written many articles on frameworks and urges that people don’t get stuck on one framework in their programming. He talks about how using only frameworks that you know could hurt you in the long run. This episode is great for understanding when to use certain JavaScript frameworks and how branching out from what is comfortable might make your job easier.

In particular, we dive pretty deep on:

  • Articles on web frameworks
  • How do you pick a JavaScript framework to use?
  • The framework depends on your changing needs
  • Recommending less popular frameworks
  • Angular, Ember, React
  • React vs Redux
  • Certain domains with different frameworks?
  • Each framework takes a different approach
  • How to decide which framework to use?
  • Only give it a couple days to see if your app works with the framework
  • Is it ever appropriate to not use a certain framework?
  • Frameworks are there to make your job easier
  • Don’t be afraid to try new frameworks
  • Choose a framework that will “be there tomorrow”
  • What is the future for frameworks?
  • Experiment and be honest with what you need
  • And much, much more!

Links:

Picks:

Charles

Aimee

AJ

Kitson




kelly

The nature state : rethinking the history of conservation / edited by Wilko Graf von Hardenberg, Matthew Kelly, Claudia Leal and Emily Wakild




kelly

The education of Brett Kavanaugh: an investigation / Robin Pogrebin and Kate Kelly

Dewey Library - KF8745.K38 P64 2019




kelly

A Cambodian spring [videorecording] / Little Ease Films in association with Dartmouth Films, Zanzibar Films & EyesteelFilm presents a film by Chris Kelly




kelly

City limits: why Australia's cities are broken and how we can fix them / Jane-Frances Kelly and Paul Donegan

Online Resource




kelly

Cereal grains : assessing and managing quality / editors Colin Wrigley (QAAFI, University of Queensland, St. Lucia, QLD, Australia), Ian Batey (Sunset Cereal Services, Meadowbank, NSW, Australia), Diane Miskelly (Westcott Consultants, Goulburn, NSW, Austr




kelly

Airport surface weather observation options for general aviation airports / Adam Switzer, William Kelly, Kate DeJarnette

Barker Library - HE9797.4.W4 S95 2019




kelly

The crime of nationalism: Britain, Palestine, and nation-building on the fringe of empire / Matthew Kraig Kelly

Rotch Library - DS126.K39 2017




kelly

True history of the Kelly Gang / Peter Carey

Carey, Peter, 1943- author




kelly

The marriage record of Stickland, James O. and Kelly, Octavia L




kelly

The marriage record of Kelly, Charles and Harris, Lausia




kelly

The marriage record of Post, Madison and Kelly, Maria




kelly

The marriage record of Angel, Valentini and Kelly, Adrianna




kelly

The marriage record of Krieschel, Eugene and Kelly, Lizzie




kelly

The marriage record of Hilderley, Clarence G. and Kelly, Clara M




kelly

The marriage record of Whitemore, Charley and Kelly, Alice




kelly

The marriage record of Kelly, W. A. B. and Young, Bidie




kelly

Kelly Browning




kelly

Melissa Kelly




kelly

Marriage record of Williams, Oscar and Kelly, Aonnie




kelly

Marriage record of Kelly, John C. and Gross, Nellie




kelly

Marriage record of Kelly, Daniel J. and Depratta, Rosa M.




kelly

Marriage record of Washington, George and Kelly, Louisa




kelly

Marriage record of Crandall, Charles Wellington and Kelly, Elinor




kelly

Marriage record of Kelly, Fred F. and White, Ida M.




kelly

Marriage record of Kelly, Oscar A. and Blitch, Nellie A.




kelly

Marriage record of Roberson, George W. and Kelly, Jennie




kelly

Marriage record of Archer, O. O. and Kelly, Annie L.




kelly

Marriage record of Brinnan, Francis and Kelly, Georgiana




kelly

Marriage record of Kelly, Oscar A. and Blitch, Nellie A.




kelly

Marriage record of Kelly, Charles and Grier, M. E.




kelly

Marriage record of Kelly, Daniel and McKinsey, Alice




kelly

Marriage record of Brack, Benjamin H. and Kelly, Julia




kelly

Marriage record of Bell, George H. and Kelly, Ida M.




kelly

Being at genetic risk: toward a rhetoric of care / Kelly Pender

Hayden Library - RC268.44.B73 P46 2018




kelly

The Cambridge history of medieval music / edited by Mark Everist and Thomas Forrest Kelly

Lewis Library - ML172.C3305 2018




kelly

Proposal planning & writing / Jeremy T. Miner and Kelly C. Ball

Dewey Library - HG177.5.U6 M56 2019




kelly

Essential earthbag construction: the complete step-by-step guide / Kelly Hart

Online Resource




kelly

Introduction to forensic chemistry / Kelly M. Elkins

Elkins, Kelly M., author