The Ship It Podcast

The Ship It Podcast header image 1

Episode 6: Should you build a Single Page Application?

February 4, 2020

In episode 6, Rocket Insights developers Brandon Aaskov, Scott O'Brien, Adam Fraser and Matt Merrill take a deep dive into Single Page Applications (SPA's): How did we end up with SPA's over Server Side Rendered (SSR) apps?  What problems do SPA's solve?  When should and shouldn't SPA's be created? They explore the idea that perhaps developers create SPA's because it's fun, but we forget about user experience.  The phrase "Postmodern Hellscape" is uttered.  They also explore a solution that might provide the best of SPA's and Server Side Rendering (spoiler alert: it's next.js/nuxt.js)!

Detailed Discussion Topics:

  • 0:00:00 - Intros & Background of SPA's - From AJAX to Electron.  Some personal history.
  • 0:05:40 - Flash and Flex were the original SPA's! How did we end up at SPA's from Server Side Rendering?
  • 0:11:15 - What problems do SPA's solve?  UI's are hard to make user-friendly.  CSS and HTML limit us compared to Native apps.
  • 0:20:15 - Are we prioritizing developer experience over user experience?
  • 0:22:00 - When should you use a SPA? Feel is important. Consumer facing vs. non-consumer facing applications.
  • 0:27:30 - When shouldn't you use a SPA?
  • 0:32:00 - Developers are spoiled! Resume Driven Development/Hype Driven Development.
  • 0:43:00 - Why are you building what you're building?
  • 0:48:00 - Routing is important. Should you be doing routing in the client at all?
  • 0:52:00 - Next.js / Nuxt.js - The best of both worlds?
  • 0:58:50 - A lightweight server might be the best answer.
  • 1:00:00 - The difference between replicating your database on the frontend and UI specific state on the client
  • 1:03:00 - Wrappin' it up.
  • 1:04:00 - Picks!