JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)

Tickets

To SPA or not to SPA

Submitted by Saptak Sengupta (@saptaks) on Friday, 10 May 2019

Section: Full talk (40 mins) Technical level: Intermediate Session type: Lecture

Abstract

SPA or Single Page Applications have become a huge trend in modern day web applications. Almost all the web applications written today use some kind of SPA framework whether it be Angular or React or Vue or something else. So the question then is do we really need a single page application for all use cases? Does single page application always help improve performance? Can we do without a single page application?

Outline

  • What is SPA or Single Page Application?
  • Drawbacks of a SPA
  • Complex set of interactive components
  • Tooling (babel, webpack, etc.) for browser to be able to handle it
  • SEO unfriendly
  • Extra effort to make it stateful
  • High memory consumption
  • Loading CSS and JS for large applications
  • Breaks browser features
  • Nothing works if JS is not allowed in browser
  • When to use a SPA?
  • Set of interactive components, constantly being updated separately
  • Is your site more graphics-intensive?
  • Real-time experience without page refresh
  • Lots of state shared between screens
  • How it fits for Facebook, trello, etc.
  • Multi-page Applications
  • It lets browser do the browsing
  • Free SEO
  • Better shareable links many times
  • Hybrid Applications
  • Combine best of both worlds
  • Don’t SPA the entire web app
  • How Github does it
  • Conclusion: Love SPA, but understand when you need it

Requirements

An open mind to hear some unfavorite things

Speaker bio

Saptak Sengupta is a contributor and maintainer of various open source projects. FOSSASIA, jQuery, Freedom of the Press Foundation and Gitcoin are few organizations under his belt. He is currently working as a Fullstack Developer at Gitcoin, a blockchain dApp. He is also associated with programs like Google Summer of Code, Google Code-In, and Rails Girls Summer of Code as a mentor/supervisor. As an open-source evangelist, he also likes to help out people with programming in general. His core area of dabbling is JavaScript and Python.

Links

Comments

  • Abhishek Balaji (@booleanbalaji) Reviewer 6 months ago

    Hi Saptak,

    Thank you for submitting a proposal. We need to see detailed slides and a preview video to evaluate your proposal. Your slides must cover the following:

    • Problem statement/context, which the audience can relate to and understand. The problem statement has to be a problem (based on this context) that can be generalized for all.
    • What were the tools/frameworks available in the market to solve this problem? How did you evaluate these, and what metrics did you use for the evaluation? Why did you pick the option that you did?
    • Explain how the situation was before the solution you picked/built and how it changed after implementing the solution you picked and built? Show before-after scenario comparisons & metrics.
    • What compromises/trade-offs did you have to make in this process?
    • What is the one takeaway that you want participants to go back with at the end of this talk? What is it that participants should learn/be cautious about when solving similar problems?

    We need your updated slides and preview video by 28 May to evaluate your proposal. If we do not receive an update, we’d be moving your proposal for evaluation under a future event.

Login with Twitter or Google to leave a comment