- Published on
What Blog Technology Tech Stack To Use?
- Authors
- Name
- Miles Zarn
What Blog Technology Tech Stack To Use?
Several months ago, out of necessity I stepped into the wild and crazy world of web technologies.
My needs were simple: I wanted to see if I could evolve a product idea that users needed to interact with. The backend bits were simple, I know java and how to work in that ecosystem. Throughout my career I avoided the presentation layer, with the simple logic There are professionals that do this every day and they are so much faster than I!
Turns out those professionals were not around for my personal needs ... so the journey started!
The Goals
Initial Goals
- A useable UI for my work product.
- Ability to serve static and dynamic content.
- Security
- Authentication / Authorization
The Answer Seemed Simple
I'll use Node.js it is a simple, infrastructure, easy to develop against, tons of documentation, and community support with lots of frameworks and examples.
After mucking around for a bit, I soon realized there are a ton of ways to do things, some consistency in patterns, but also a ton of differences. Sure it was simple to get started, but it became increasingly difficult to manage as the site evolved and it's needs evolved. I needed valid design patterns to structure my work. Best practices to avoid time consuming rework and refactoring.
Evolved Goals
Now I thought I had a great starting point, I've been in the industry for a while, ... so I should know a few things right? It turns out that a well organized C C++ Java
project has much different needs than Web Development
. Being in near proximity didn't necissarily convey the challenges and solutions of the ecosystem. The other harsh reality is that many companies have a design pattern and it is cheaper to keep going with their existing design pattern than it is to evolve it.
Case in point, one company I worked for had no less than 36 systems to collect application performance data ... and that was excluding things like Web Analytics. This was just how engineers could instrument their backend code for production.
Evolution I
- How do I get this thing done?
- What resources can I use
- Quick page load time.
- Less
@#$!@#$
to get something simple done. - CSS is a pain in the
!@#$%
, at least for me. Cummulative hours piddling away in the browser dev tools to try to figure out some nuance that just isn't right.
Led to:
- w3schools & related design patterns
- w3schools css lib
- fontAwesome lib
Evolution II
- Responsive design so my app could be used on mobile as well as desktops
- Less time spent styling
Led to:
- w3schools responsive design patterns.
- style guides and layout patterns.
Evolution III
- Deployment to production
- Hosting on AWS, Challenges and Related Costs.
- Kubernetes Containers
- Kubernetes networking & deployment resources
- TLS Certificate challenges.
Led to:
- Page optimization
- SEO Tools
- Edge technologies and deployments
- Need to differentiate between static and dynamic content.
Evolution IV
- Security, Authentication, Authorization.
- Running the site with out being charged for EVERY LITTLE THING.
- Better deployment.
- Profiling code and design as it evolves.
Led to:
- NextJS, React, Netlify, Vercel
- Components, Layouts, obvious routing structures, obvious deployment practices
- Tailwindcss
- eslint
- build processes
I think I'm finally on a good path here for a project that can embody best practices and start to minimize re-work, yet run on edge networks and not create significant costs / maintenance to host and deploy.
Thanks for reading, I hope this helps, please comment and share your experiences / frustrations!