Yehuda Katz on Paradigms vs. Abstractions in UI Development

Frontend First

Yehuda Katz joins Sam and Ryan to talk about modern JavaScript UI development. He discusses the most important ideas React brought to the JS community, whether programming paradigms are as important as developers are led to believe, the design of ES modules and classes, the multiparadigm nature of JavaScript, the past and future of Ember, and his excitement over the future of JavaScript UI development.

Topics include:

- 1:46 – Exploring the React paradigm

- 11:45 – How have your opinions on UI dev changed since starting Ember?

- 16:00 – How React's render functions and Ember's templates both solve the same problem: how to restrict the rendering code that users write

- 34:03 – JavaScript's multiparadigm approach: OOP + functional

- 40:13 - Hooks and the importance of lifecycle entanglement

- 46:15 – Do Hooks succeed in bringing the ideas of declarative rendering to our JavaScript code?

- 53:58 – The ES module spec, ES imports, and ES modules vs. CJS modules

- 1:04:55 – Are TypeScript users at risk of the same kinds of syntax collisions that CoffeeScript users once were?

- 1:10:10 – TypeScript now doesn't ship unstable features. (e.g. Optional chaining is stage 3)

- 1:15:35 – Yehuda's take on stage 0 through stage 4 ECMAScript proposals

- 1:23:39 – What's missing from UI development? And the difference between paradigms and abstractions.

- 1:31:00 – Ember's original sin was push-based reactivity. Pull-based is how programs work.

- 1:40:30 – Ember needs a new lifecycle entanglement primitive, that borrows concepts from both Hooks and Ember Concurrency tasks

- 1:57:07 – How do you feel about UI development in 2019?


- [No Silver Bullet](, by Fred Books

- [React Hook Pitfalls](, by Kent C. Dodds

Audio Player