Frontend First cover image

Frontend First

Latest episodes

undefined
Dec 5, 2019 • 1h 25min

An ORM by any other name

Topics include:- 5:41 – Hasura, React, URQL + Formik = Nutrition app- 44:51 – React to the Future by Jordan Walke Links:- [URQL](https://formidable.com/open-source/urql/)- [Formik](https://jaredpalmer.com/formik)- [Reach Dialog](https://reacttraining.com/reach-ui/dialog)- [Dan Abramov's tweet on controlled/uncontrolled components](https://twitter.com/dan_abramov/status/1200436185426006017)- [React to the Future - Jordan Walke](https://www.youtube.com/watch?v=5fG_lyNuEAw)- [Let's Program Like It's 1999 - Lee Byron](https://www.youtube.com/watch?v=vG8WpLr6y_U)- [Functional Programming in 40 Minutes - Russ Olsen](https://www.youtube.com/watch?v=0if71HOyVjY)- [Reason ML](https://reasonml.github.io)
undefined
Nov 27, 2019 • 1h 16min

When composability is not the answer

Topics include:0:00 – Livable code with Ember3:09 – Speeding up Ember builds, and bugs with React rebuilds7:09 – Undoing bad abstractions11:30 – Building a mobile nav with React Spring + Reach Modal18:48 – Documentation: Guides vs. How-tos vs. Examples34:40 – Composability, and awareness of React's children vs. Ember's yield38:30 – Structural vs. reusable components54:54 – UI Testing1:03:04 – Does advice for building good libraries transfer to buiding good apps?Links:What nobody tells you about documentation, by Daniele ProcidaReact SpringUsing Composition in React to Avoid "Prop Drilling", by Michael JacksonMirage and Cypress Quickstart
undefined
Nov 13, 2019 • 2h 3min

Yehuda Katz on Paradigms vs. Abstractions in 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? Links:- [No Silver Bullet](http://worrydream.com/refs/Brooks-NoSilverBullet.pdf), by Fred Books- [React Hook Pitfalls](https://www.youtube.com/watch?v=VIRcX2X7EUk), by Kent C. Dodds
undefined
Oct 31, 2019 • 1h 17min

React is hard!

Topics include:- 0:32 – React is hard!- 7:55 – Should we be thinking about render cycles while writing React?- 30:08 – How much objective coding advice is there?- 39:23 – The Dark language + platform, and how concurrent languages can work against serverless architecture- 57:57 – Deployless architecture- 1:02:25 – Auth in Hasura Links:- [Dark Lang with Ellen Chisa and Paul Biggar](https://softwareengineeringdaily.com/2019/10/21/dark-lang-with-ellen-chisa-and-paul-biggar/), on the Software Engineering Daily podcast- [The Dark language + editor](https://darklang.com/)
undefined
Oct 23, 2019 • 1h 11min

Does technology get popular for the right reasons?

Topics include:- 0:57 – Wanting to learn more about GraphQL- 14:41 – Constraints, theory and reality in GraphQL and REST APIs- 21:54 – What matters when choosing technology?- 35:06 – Can GraphQL queries and types replace traditional ORMs?- 48:47 – Why did Rails and other technologies become popular? Does it matter?- 1:00:48 – Is there objectively true advice in programming? Links:- [The Bike Shed # 215: Start With People](https://bikeshed.fm/episodes/215)
undefined
Oct 11, 2019 • 1h 7min

Imports are not code – they're declarations

Topics include:- 2:31 – Tailwind, PostCSS, and low-level vs. high-level tools- 13:12 – Mirage JS and Cypress- 13:55 – Ember 3.13 and Octane- 15:28 – Ryan's experiencing upgrading EmberMap from 3.4 to 3.12- 20:19 - ES Modules, and learning that imports are not code- 42:12 – React and useEffect, and the difference between reads and writes vs. rendering and event handlers- 1:00:50 – Object-oriented vs. functional programming in JavaScript Links:- [Ember 3.13 Release (Octane Preview)](https://blog.emberjs.com/2019/09/25/ember-3-13-released.html)- [How to upgrade an Ember App or Addon](https://embermap.com/video/how-to-upgrade-an-ember-app-or-addon)- [Rich Harris and Edward Faulkner Twitter thread about ES module design](https://twitter.com/Rich_Harris/status/1176509180951322624)- [Twitter thread about ES module execution order](https://twitter.com/samselikoff/status/1182485014815993856)- [Sam Selikoff on Twitter](https://twitter.com/samselikoff)- [Ryan Toronto on Twitter](https://twitter.com/ryantotweets)
undefined
Oct 4, 2019 • 1h 14min

Server-side state means global resource identity

Topics include:- 0:00 – Dealing with asynchrony and persistence in Vue- 8:56 – Thoughts on Vue's APIs, and how they compare with React and Ember- 22:20 – "Magic" in UI frameworks vs. server-side frameworks- 27:17 – Build work in Mirage JS, and a new passthrough API- 38:26 - How opinionated should project documentation be?- 50:40 - Edward Faulkner's talk on compilers, abstractions, ES modules, and Embroider Sponsors:- [Next Release](https://www.nextrelease.io/ember/), mention EmberMap when you sign up for a trial and get 10% off Links:- [Mirage JS at ReactNYC S3:E8, Nov 7](https://www.meetup.com/ReactNYC/events/264933125/)- [Mirage JS](https://miragejs.com)- [Ember NYC September 2019 - Octane, Blockchain & Concurrency, Compiling Ember](https://www.youtube.com/watch?v=QClGEoHdQKk)- [Sam Selikoff on Twitter](https://twitter.com/samselikoff)- [Ryan Toronto on Twitter](https://twitter.com/ryantotweets) 
undefined
Sep 19, 2019 • 1h 9min

The Weekend Warrior Adoption Hypothesis

Topics include:- 0:39 – The "Weekend Warrior" technology adoption hypothesis- 6:55 – Gatsby as a soft intro to GraphQL- 8:55 – Building a GraphQL backend with Hasura- 18:08 – GraphQL mutations- 21:47 – Mocking out GraphQL in Mirage- 45:03 – Gotchas when using backends as a service- 49:47 – DX and user success vs. "correct" technology choices Sponsors:- [Next Release](https://www.nextrelease.io/ember/), mention EmberMap when you sign up for a trial and get 10% off Links:- [Hasura](https://hasura.io)- [graphql-js](https://graphql.org/graphql-js/)- [darklang](https://darklang.com) 
undefined
Sep 11, 2019 • 1h 12min

Side effects aren't declarative. What if they were?

Topics include: 0:53 – Metaphysics and JavaScript by Rich Harris, and declarative side effects 15:26 – An Ember example that would be improved by hooks and declarative side effects 23:46 – Pitfalls and escape hatches when using hooks 35:40 – Rich's argument that rendering isn't even a declarative function of state, let alone side effects 41:42 – Deeper dive into useEffect docs 1:01:41 – Thought experiment on effects that sync with different data stores Sponsors: Next Release, mention EmberMap when you sign up for a trial and get 10% off Links: Metaphysics and JavaScript, by Rich Harris React's useEffect
undefined
Aug 28, 2019 • 56min

What should be abstracted?

Topics include: 2:41 – Playing with Typescript 10:13 – Thoughts on Ember's decision to expose Properties vs. Attributes 32:09 – "How long will this take?" 45:15 – Debugging slow Mirage factories Sponsors: Next Release, mention EmberMap when you sign up for a trial and get 10% off Links: Shape Up Copy, Paste, Repeat Podcast

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode