Over the course of time my go to tech stack for web development has changed. At one time it was Ruby on Rails with Heroku, then Firebase and React, then Polymer and lit-html. While all of these had their place and still work brilliantly I have been able to fine tune my go to technologies; finding a more specific niche use case while also broadening capabilities. As I see it these are the major problems to solve in web development:
- Source control
- Content management
- Business logic
- Data storage
Every tech stack will need to have an answer for these problems. The set of technologies that I use falls under the JAMstack paradigm. Here they are listed in same order as the problems they solve:
- Netlify functions
- Firebase Firestore
- SPA + PWA
The beauty of JAMstack is that any one of these seven parts could be replaced by another technology which solves the same problem. On any given project I might use Gatsby instead of Orison, Firebase Hosting instead of Netlify, Bitbucket instead of GitHub, Blogger instead of Contentful, and the list goes on. As time goes by pieces of the stack can be swapped without major dependencies upon the other layers. The other benefit is that the performance and security of this stack is largely not based upon these technologies themselves, but upon the web platform itself.
While my previous go to tech stacks required lots of specialized knowledge, this tech stack runs very closely to the web platform itself and has precanned solutions to almost all of the major problems of web development.