DEV Community

Discussion on: I started questioning my tech stack, and now I'm lost 😔

Collapse
 
megazear7 profile image
megazear7

I understand the feeling. I think it becomes even more obvious when you try to teach someone web development. If it were 2012 I would hand them Ruby on Rails and heavy handed server side rendering would be assumed without question. If it were 2015 I would hand them some pick of equally heavy handed client side rendering JavaScript framework.

But what about in 2019? It took me quite some time to come to the decisions I have come to, but I feel like I again have a defacto answer like I did in those previous years.

  1. Prebuilt HTML powered by build time JavaScript and a headless CMS. This enables performance and SEO that can't be beat and can be easily extended into a SPA architecture without having to suffer any initial load or SEO trade-offs.
  2. Web components for complex, dynamic, personalized UI. You just need to be careful that these UI components do not bloat the initial load or over reach their welcome.
  3. Service workers, web manifests, and browser API's for offline availability, install-ability, and serverless functionality.
  4. Client code connected to real time databases when needed and cloud functions for maintaining a serverless architecture.

Of course there are many other variations to this, but this is how I have been able to create scalable, maximally performant web apps that fully utilize the web platform while at the same time removing the bloat.