TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Where can one learn about boring web development?

40 pointsby dvrpover 2 years ago
Context (skippable):<p>If you want to learn web development today and you use Google—even with the “one weird trick” of appending ”reddit” to your searches—all you find are micro-services, serverless&#x2F;lambdas, &gt;1M react packages, &gt;10M npm packages, and &gt;100M tutorials of how to do yet another to-do list with MongoDB or Firebase or the amazing marvel that is using SSR&#x2F;CSR with Vercel.<p>For the sake of over-simplification, let&#x27;s call this exciting web development. Now, where can I learn about the other side of the spectrum?<p>Request:<p>Is there an insanely pragmatic website or book containing everything you need to know when creating production-ready (yet simple!) web applications?<p>I am talking about HTML5, CSS3, modern JS (do you even need it? and if so, how does simple javascript look like?); `cron` jobs; database persistence; difference&#x2F;explanations of when to use bare-metal v. vps v. vm; what there is to know about reverse-proxying and load balancers and how to correctly setup and deploy those and so on?

33 comments

groseover 2 years ago
I&#x27;m not aware of exactly what you&#x27;re looking for, but I think such a resource would be very valuable. Unfortunately, modern web development has almost completely eschewed simplicity. I can offer some leads, though.<p>This is more of a manifesto but there is a small movement around simplicity at <a href="https:&#x2F;&#x2F;grugbrain.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;grugbrain.dev&#x2F;</a> which is written by the guy behind <a href="https:&#x2F;&#x2F;htmx.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;htmx.org&#x2F;</a> -- a nice little way to add the bare minimum JS needed for a &#x27;modern&#x27; app. You can find a community of likeminded people at HTMX-adjacent places like their Discord and Twitter. I&#x27;ve also been an advocate of this kind of &#x27;primitive&#x27; dev style and it&#x27;s great to see it gain some popularity.<p>This recent talk from Djangocon &quot;React to htmx on a real-world SaaS product&quot; might be of interest: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=3GObi93tjZI" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=3GObi93tjZI</a><p>Ironically, the ultra-modern serverless platforms such as Cloudflare Workers have strict size constraints which is leading to a kind of back-to-basics approach that minimizes dependencies and bundle size. You can find a lot of small libraries for this at <a href="https:&#x2F;&#x2F;workers.tools&#x2F;" rel="nofollow">https:&#x2F;&#x2F;workers.tools&#x2F;</a>. The latest JS framework to buzz here, Deno&#x27;s Fresh, even touts &quot;no JS is shipped to the client by default&quot;. We can see there is a resurgence of interest in server-side rendering.<p>The classics such as Rails are still alive and kicking. Phoenix seems to be a promising candidate for &quot;the modern Rails&quot;.<p>As someone who experienced the Good Old Days of web development, I would recommend at least trying out the managed cloud services for things like databases and cron jobs and deployments. IMO, it&#x27;s a lot easier to use them than manage it yourself. And with the new serverless stuff, we&#x27;re actually pretty close to how CGI on shared hosting used to be where you could upload a script and not have to worry about the gory details so much.
perilunarover 2 years ago
The MDN &#x27;Learn web development&#x27; guide is a good place to start:<p><a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Learn" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Learn</a>
Havocover 2 years ago
Yeah ran into a similar issue. Tried a next.js course and couldn&#x27;t figure of what parts of the code is html vs css vs js and the mdx style didn&#x27;t help.<p>So I did the same - circled back to html&#x2F;css&#x2F;js first. I&#x27;d keep this part very light though. If you can code already (any language) then a couple hours skimming over html&#x2F;css&#x2F;js gets you far enough to grasp the absolute basics. After that I&#x27;d stick to the &quot;exciting web dev&quot; part and circle back to basics on an adhoc basis.<p>There is a very real risk of losing enthusiasm here so there is definitely something to be said for rushing towards something that works and does <i>something</i>.<p>I&#x27;ve found code-along youtube sites to be the best. Traversy Media, Web Dev Simplified and James Q Quick are my go to channels. Also Fireship channel is very useful - they have 100 sec descriptions of most web technologies helpful for &quot;wtf is it and do I need this?&quot;.<p>&gt;`cron` jobs; database persistence; difference&#x2F;explanations of when to use bare-metal v. vps v. vm; what there is to know about reverse-proxying and load balancers and how to correctly setup and deploy those and so on?<p>You don&#x27;t need any of that at this stage. In the medium term a VPS would be useful though...web dev on local machine hits limitations in the sense that local isn&#x27;t all that &quot;web&quot; and vps is good for learning linux basics too.
cpachover 2 years ago
This might be a good starting point:<p>The Flask Mega Tutorial <a href="https:&#x2F;&#x2F;blog.miguelgrinberg.com&#x2F;post&#x2F;the-flask-mega-tutorial-part-i-hello-world" rel="nofollow">https:&#x2F;&#x2F;blog.miguelgrinberg.com&#x2F;post&#x2F;the-flask-mega-tutorial...</a><p>I’m guessing there’s something similar for Ruby on Rails and Laravel.<p>For persistence, consider Litestream&#x2F;SQLite. Or just good old PostgreSQL. Or MariaDB.
评论 #33571405 未加载
评论 #33571022 未加载
orionblastarover 2 years ago
<a href="https:&#x2F;&#x2F;www.theodinproject.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.theodinproject.com&#x2F;</a>
评论 #33571474 未加载
评论 #33571459 未加载
评论 #33571339 未加载
dvrpover 2 years ago
This may look as a trolling post. It is not. I am genuinely curious in learning about plain-but-useful web development.
gofwrathover 2 years ago
For a raw ground up experience you could start with W3 schools.<p>If you wanted to learn via video and you want html&#x2F;css&#x2F;js, search &#x27;vanilla javascript website.&#x27;<p>Currently &quot;vanilla javascript&quot; usually means a native browser website free of npm&#x2F;node&#x2F;ecosystem.<p>To serve a plan old site like this: google, &quot;how to serve a static website&quot;, as that is what you are creating here.<p>Want a DB or persistence? Now you need an api. After creating your static site, now you need an api on a server somewhere. Any tutorial on creating an api (in whichever language you like) will probably work.<p>Now you have options,<p>1) run a static web server for your website (this can be done for free via github pages btw) and run another server for your api<p>2) run two one single server with two different applications-- your api and you static web server (now you need a reverse proxy)<p>3) run a single server&#x2F;api that both serves you static website and handles communications.<p>Easiest&#x2F;fastest: get a static site (html&#x2F;images&#x2F;css&#x2F;js) made and up on github pages<p>For some sort of api, whip up an expressJs app with a node server to handle both serving your static site communication needs.
devoutsalsaover 2 years ago
Not exactly what you’re asking for, but Rails Tutorial is pretty good:<p><a href="https:&#x2F;&#x2F;www.railstutorial.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.railstutorial.org&#x2F;</a><p>Closer to what you want is Free Code Camp, which is pretty good for front end stuff:<p><a href="https:&#x2F;&#x2F;www.freecodecamp.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.freecodecamp.org&#x2F;</a>
评论 #33571625 未加载
throwaway0asdover 2 years ago
My guide to web theory the boring way:<p>0. Don’t waste your time dicking around with tools. Save that immaturity for the children you will ultimately replace.<p>1. Make a new language in XML Schema. This will teach you about node relationships, DOM theory, lexical models, semantics and data description. The things you will learn from this will shape everything else.<p>2. Learn accessibility. This will expand your learnings from step 1 in a very practical way. Added benefits are better SEO and slimmer more precise HTML code. When I say learn accessibility I mean to take this seriously. It is a qualitative investment and not checking a box in a checklist.<p>3. Learn CSS. When you really learn CSS well you will gain the confidence to create any kind of visual presentation without ruining your accessible HTML.<p>4. Learn the DOM. Again, this reinforces everything learned in the prior steps. Walking the DOM in Firefox is as much as 250000x faster than querySelectorAll. The DOM is the backbone of everything in web frontend technology.<p>5. Now it’s time to learn JavaScript, but I recommend jumping straight to TypeScript. Type everything and keep your type definitions extremely primitive. In TypeScript clever code is very slow to compile.<p>To really really understand frontend JavaScript well all you really need is a thorough understanding of the lexical scope model, functions, and events. Functions are first class citizens, which means functions can be used anywhere primitive types can be used. If you can understand those three with great confidence you can do 98% of everything you will need in the language.<p>6. Finally, don’t listen to the ignorance. Most of the opinions I have seen in my 25 years of web development are about what people can’t do and how hard life is, great insecurity searching for validation. Toss all of this negativity and weakness aside. Instead, always focus on what you can do. Less is more. When you push yourself to exceed your potential after great effort you will do what the complainers can’t.
andrewstuartover 2 years ago
Not answering your question, but a side comment:<p>You are on the right track…. strive for simple.<p>That’s exactly what I aim for when doing web application development.<p>A React application uploaded to a static web server, talking to a plain old Linux server running a simple back end like nodejs or python, talking plain SQL to a Postgres server.
_448over 2 years ago
What is your programming language of choice?<p>Do you want server-side rendered app or will your app require client-side processing?<p>Do you anticipate that the app will, at some point in the future, need to be scaled to multiple servers?<p>Once you answer these questions, then what boring tech stack to choose will become easier.<p>One example I will give you of a boring stack, but highly effective, that I know of. Postgres as DB, Wt toolkit for both JavaScript and without JavaScript for hybrid server-side&#x2F;client-side rendering, and HAProxy for load balancing. That is it. Nothing else is required if you are developing a small to medium sized web project.
评论 #33571318 未加载
esperentover 2 years ago
&gt; everything you need to know when creating production-ready (yet simple!) web applications?<p>If you mean web <i>applications</i> rather than (mostly static) web <i>sites</i> then I believe that the boring pragmatic approach is to use React + Typescript, at least for the front end stuff. This is where the tooling, documentation, and community all currently come together in the most cohesive manner for modern web application development - or in other words, where you&#x27;ll be fighting the tech least, and have the most support when you need it.<p>I know that&#x27;s a loaded opinion and I spent years resisting it. But I&#x27;m glad I overcame my scepticism.<p>I would love to be working closer to the metal, in this case meaning HTML, CSS, and JS. I spent the first 5 years of my web dev career doing this. But this means you have to deal directly with several different browser engines running across hundreds of potential devices, you have to deal with bundling your assets, transpiling, worrying about what JS and CSS features you can use - it&#x27;s basically endless, more than one person can handle. Web dev is inherently many layers of abstraction deep and highly fragmented. By using a framework like React and following their best practices, you let someone else, at least partially, deal with that chaos. That&#x27;s the closest thing we have to a safe, boring, pragmatic path in modern web dev. Yes it&#x27;s a long way from perfect and you&#x27;re still barely surfing above the chaos, but I don&#x27;t think there&#x27;s a better option.
评论 #33571477 未加载
internetuser103over 2 years ago
Start with Nuxt &#x2F; Next and work your way to HTML. I say this after being a web developer since 2002.<p>You will figure out what you need and what you do not very quickly this way.<p>It won&#x27;t be easy, but you&#x27;ll end up with the skills you need in modern web dev.<p>And be thankful you did not have to spend a decade dealing with cross browser issues. You have it very easy today.<p><a href="https:&#x2F;&#x2F;nuxtjs.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;nuxtjs.org&#x2F;</a> (I prefer Vue).<p><a href="https:&#x2F;&#x2F;nextjs.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;nextjs.org&#x2F;</a>
评论 #33572620 未加载
willi59549879over 2 years ago
If you like to use golang there is a book &#x27;web development with golang&#x27;: <a href="https:&#x2F;&#x2F;www.usegolang.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.usegolang.com&#x2F;</a>. It leads you through building a website from beginning to end, also giving a lot of further topics to dive into. I didn&#x27;t know where to start in the beginning so the book helped me to focus.
oxffover 2 years ago
Go to a medium to small-sized company that&#x27;s 5+ years old with PHP codebase.
nickjjover 2 years ago
&gt; `cron` jobs; database persistence; difference&#x2F;explanations of when to use bare-metal v. vps v. vm; what there is to know about reverse-proxying and load balancers and how to correctly setup and deploy those and so on?<p>I&#x27;m currently working on a course for something like this at <a href="https:&#x2F;&#x2F;nickjanetakis.com&#x2F;courses&#x2F;deploy-to-production" rel="nofollow">https:&#x2F;&#x2F;nickjanetakis.com&#x2F;courses&#x2F;deploy-to-production</a>.<p>It won&#x27;t cover building the app from ground zero but it&#x27;ll cover a bunch of patterns in development to build apps in a way that makes deploying them flexible, then the majority of the course focuses on deployment related topics.<p>I screwed up initially by trying to focus the course on everything (single servers, multi-servers, Heroku, Kubernetes, etc.) but since then I&#x27;ve scoped it down to focusing specifically on the boring case of &quot;I just want to frikken deploy my app&quot; and it&#x27;ll go through a ton of things around taking a web app you&#x27;ve developed and shipping it onto 1 or more servers while doing everything in such a way where you&#x27;ll be able to Docker Compose up your project on 1 or more servers (not load balanced but you could split up things like your web, worker, db and cache onto separate servers if you wanted to). It won&#x27;t do things in a half-assed way tho, you&#x27;ll be set up to horizontally scale if you need to since we&#x27;ll stick to creating 12 factor style apps.<p>The course won&#x27;t cover Kubernetes but if you wanted to &quot;evolve&quot; your set up to that in the future you&#x27;d have a really strong fundamental knowledge base to do that so you could focus specifically on learning Kubernetes, not Kubernetes + the 100 other things you need to know beforehand since this course will cover a lot of those other things.
shedfullover 2 years ago
For learning html and css <a href="https:&#x2F;&#x2F;htmldog.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;htmldog.com&#x2F;</a> is pretty good
ajvsover 2 years ago
Have you tried comparing vanilla JavaScript + HTML compared to JSX? React makes your code more concise if you&#x27;re trying to do any amount of interactivity on your site. You can learn the former in any basic web development tutorial but personally I don&#x27;t think I&#x27;ll ever touch it again after learning React.
评论 #33571369 未加载
评论 #33571326 未加载
pushedxover 2 years ago
I picked up CSS by customizing my Neopets page in 2001. Sounds better than what you’re finding online these days.
michaelsalimover 2 years ago
Depends on what part you&#x27;re concerned with.<p>Backend: PHP with Laravel I haven&#x27;t used it in a while since I work on greenfield projects now. But when I did, Laravel did wonders. Documentation is complete, everything you need is documented and it&#x27;s basically copy and paste for all the common things.<p>Frontend: Hard to say. If you don&#x27;t need much functionality, just use basic HTML, JS and CSS. Render your HTML with PHP and use the minimum amount of JS you can.<p>Otherwise I&#x27;d say React. I work with it every day and I think it&#x27;s great. But wouldn&#x27;t consider it to be &quot;boring&quot; at all. There&#x27;s new things every day and you need to keep up &amp; navigate the traps.<p>Unfortunately frontend is still very unstable until now.
DeathArrowover 2 years ago
What about more than one site? Web is a complex thing.<p>You have fronted, backend, UI, database and infrastructure layers at least.<p>Rather than searching for a resource to cover all poorly, I would focus on a resource that covers each.<p>You can search Pluralsight, Udemy and Amazon for good tutorials books for: HTML, CSS, Javascript, a fronted framework (I like Vue because it seems more sane), a language for the backend (C#, Java, Go etc.) a framework for the backend, infrastructure (bare metal, VM, Kubernetes, cloud Docker etc).<p>These would be the bare minimum to get started as just the system design is a complex thing which you can&#x27;t master with just one book.<p>Since you deal with complex topics there isn&#x27;t any book or tutorial that can cover all at a decent level.
i_like_robotsover 2 years ago
Perhaps look for web development books published around 2010-2012, before the large JS frameworks gained a major foothold. These will be missing some of the very valuable and useful developments in CSS and JavaScript (e.g. grid layout and promises) but for the other topics much of their content will still be relevant.<p>There&#x27;s also the Indie Web wiki which has lots of getting started guides for hosting your own website: <a href="https:&#x2F;&#x2F;indieweb.org&#x2F;Getting_Started" rel="nofollow">https:&#x2F;&#x2F;indieweb.org&#x2F;Getting_Started</a>
评论 #33571579 未加载
e12eover 2 years ago
You could do worse than:<p><a href="https:&#x2F;&#x2F;pragprog.com&#x2F;titles&#x2F;rails7&#x2F;agile-web-development-with-rails-7&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pragprog.com&#x2F;titles&#x2F;rails7&#x2F;agile-web-development-wit...</a><p>(note, not quite finished yet - last chapters should be done in ultimo January).
评论 #33571590 未加载
评论 #33571451 未加载
aregsarover 2 years ago
Check out the digitalocean tutorials on all the topics you mention. They have a very good series on html, css and JavaScript along with numerous tutorials on setting up reverse proxy’s, load balancers and deployment
somthingwrongover 2 years ago
<a href="https:&#x2F;&#x2F;aquadzn.github.io&#x2F;learn-x-by-doing-y" rel="nofollow">https:&#x2F;&#x2F;aquadzn.github.io&#x2F;learn-x-by-doing-y</a> This website maybe helpful.
chemmailover 2 years ago
I would say start learning multisite wordpress and spin it up on your own sytem and you can basically have an entire network of websites and that all you would need more most clientele.
gits1225over 2 years ago
<a href="https:&#x2F;&#x2F;www.railstutorial.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.railstutorial.org&#x2F;</a>
schwartzworldover 2 years ago
Pick a minimal backend framework (express, Sinatra, flask) and a database (postgres or SQLite) and read their docs.
mro_nameover 2 years ago
begin with it. On your own webspace and own domain.<p>And backend can start as simple as <a href="https:&#x2F;&#x2F;codeberg.org&#x2F;jugendhacktlab.qdrei.info&#x2F;gaestebuch" rel="nofollow">https:&#x2F;&#x2F;codeberg.org&#x2F;jugendhacktlab.qdrei.info&#x2F;gaestebuch</a>. You may not even need one to start.
CoolColdover 2 years ago
&gt; difference&#x2F;explanations of when to use bare-metal v. vps v. vm; what there is to know about reverse-proxying and load balancers and how to correctly setup and deploy those and so on?<p>Aren&#x27;t that exactly the things, modern dev teams trying to avoid to know about in their march into bright future with Lambda&#x2F;Serverless?<p>Or from another angle - most of the crowd in the &quot;exciting&quot; camp, decreasing the chances for such book to be born. DHH aka DAVID HEINEMEIER HANSSON ( <a href="https:&#x2F;&#x2F;dhh.dk&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dhh.dk&#x2F;</a> ) may be? This podcast was not bad <a href="https:&#x2F;&#x2F;podcasts.google.com&#x2F;feed&#x2F;aHR0cHM6Ly9jaGFuZ2Vsb2cuY29tL3NoaXBpdC9mZWVk&#x2F;episode&#x2F;Y2hhbmdlbG9nLmNvbS8xNC8xNzA3?sa=X&amp;ved=0CAUQkfYCahcKEwjw7MvdnrH7AhUAAAAAHQAAAAAQAQ" rel="nofollow">https:&#x2F;&#x2F;podcasts.google.com&#x2F;feed&#x2F;aHR0cHM6Ly9jaGFuZ2Vsb2cuY29...</a>
worgover 2 years ago
The MDN is a great resource, its examples are good and simple
nathiasover 2 years ago
you can make your html&#x2F;css in neocities, then learn javascript and make a react app
solardevover 2 years ago
Just some thoughts... these are my opinions as someone who&#x27;s been doing web dev since before CSS and JS were invented. They&#x27;re just opinions, feel free to disagree :)<p>1) Where to learn... LinkedIn Learning (Lynda) was super helpful to me in my career. Affordable and excellent lessons + projects and well worth the money, no matter what you want to learn. MDN and Stack are great for questions once you start coding sample projects.<p>2) I think you&#x27;re really asking more about &quot;lower vs higher&quot; (levels of abstraction), rather than simple&#x2F;complex. There is nothing inherently &quot;simple&quot; about managing your own cron jobs, DBs, load balancers, VMs, etc. Each of those, at the right scale, can be a full-time career unto itself if you choose to specialize in it.<p>On the other hand, a &quot;full stack&quot; web dev can do a little bit of everything juuuuuuust enough to get by, which is often enough for simpler teams &amp; projects, but can sometimes make it harder for others to maintain&#x2F;scale up. A lot of basic web technologies were invented in the 90s and 2000s under the constraints of those days and it takes a lot of patience and know-how to get them running at scale and still provide a good developer&#x2F;devops&#x2F;orchestration experience.<p>Every project and org is different and there&#x27;s not necessarily a &quot;correct&quot; level of abstraction, just different business needs and personal preferences. Each stack is a set of tradeoffs between user experience, developer experience, familiarity, cost, openness, maintainability, stability, etc.<p>At the end of the day they all compile down to the basics: HTML + HTTP. The user doesn&#x27;t know what your stack is and the browser doesn&#x27;t care.<p>3) IMO, the stack you choose shouldn&#x27;t be based on some rigid ideology that you brought with you, but on finding (and, rarely, inventing) the most appropriate set of tools for the project and the people working on it. To that end, &quot;production ready (yet simple!)&quot; can mean something entirely different from one team&#x2F;project to the next.<p>For example, an ecommerce site with 10,000 flat handwritten HTML pages is dead simple... no database, no proxy, no load balancer, no CDN, no HTTPs for most of it. And it&#x27;s also a pain to maintain or upgrade. On the other hand, a Next.js hybrid app might have fewer lines of code, but if your devs are all used to Shopify templates or WooCommerce or some homebrewed Rails app, having to retrain everyone in a new stack may not be worth it. All of those are going to create a somewhat usable website for your end-users, but they each entail a very different set of developer skills &amp; preferences.<p>4) If you don&#x27;t know what level of abstraction you would prefer to work on (i.e. bare metal vs Vercel), start from the middle, which is where they all meet anyway: HTML + CSS. There is no reason to learn the old HTML syntaxes or older versions of CSS. Get really comfortable writing plain HTML in a single file or two, using modern CSS (grid and flexbox, etc.). Try to make a simple blog page using just those two tools, with no backend and no templating and no frameworks. Once you thoroughly understand how that one single page is structured, parsed, and presented by the browser, you can better understand the tradeoffs various levels of abstraction give you.<p>Let&#x27;s say you want to hook that simple blog page up to a backend now. You can roll your own DB, spinning up your own Maria&#x2F;MySQL&#x2F;Postgres&#x2F;SQlite DB. How will you do that? How will you make it reproducible on the server that you eventually host it on? How will you sync up DBs between your dev machine and the server? How will you scale this up to 10,000 or 10,000,000 viewers&#x2F;mo? Can multiple editors work on it at the same time? Will there be multiple geographical regions you would want to replicate across? (Not trying to answer for you, just pointing out some of the interesting questions to solve).<p>You can do all of that on bare metal. Or a local WAMPServer setup. You can put it in a Docker container, or maybe orchestrate it with a tool like Lando. Or put it inside Kubernetes. Or outsource some of it, either to a cloud VM like EC2 or a managed DB like DigitalOcean&#x27;s or ElephantSQL, or all the way to an abstracted headless CMS in the cloud like DatoCMS or GraphCMS. Each level of abstraction trades off some level of control&#x2F;maintenance&#x2F;cost&#x2F;transparency&#x2F;lock-in&#x2F;etc. Again there is no right answer, just what is right for your project and&#x2F;or personal preferences.<p>Back to your blog post, but focusing on the frontend now: You&#x27;ve outgrown that simple blog post and need to add more frontend look &amp; feel kinda stuff. Do you stick with vanilla HTML + CSS? You certainly can. Do you need to make it work with phones? You can write a bunch of media queries, combined with grid and flex. It&#x27;s plenty powerful, just a bit of work. Are you sick of having to do all that yourself? UI frameworks like Bootstrap exist specifically to make that easier. Or is that still too basic? There are more opinionated&#x2F;higher-level design frameworks like MUI (derived from Material UI) that provides not only basic primitives but higher-level components (like Autocomplete, or a date picker, or a card with avatars and such).<p>That&#x27;s just the styling.<p>What about the interactivity? What happens when you want to add commenting, categories, search, filtering, user logins, roles, etc.? That&#x27;s where the really fun&#x2F;tricky stuff comes in. You can 100% roll your own for all of that (somebody did, obviously, or the web wouldn&#x27;t have that stuff) or you can use someone else&#x27;s drop-in solution (like Discourse for comments) that&#x27;s basically just copy&#x2F;pasting a single script injection. Or take something like filtering... you can write that as backend (sanitized) queries that the frontend sends back, the BE parses and queries for, and then returns the result set. What does that look like? Does the backend prerender the entire HTML page and send that back? Does it cache any of that? If so, how does it invalidate? Or does it only send back the result set as raw data (JSON&#x2F;XML&#x2F;Msgpack&#x2F;etc.)? Or would you rather handle some&#x2F;all of the filtering on the frontend, hiding&#x2F;showing HTML elements with some light Javascript? Do you write that JS yourself and handle state changes, or do you use jQuery&#x2F;React&#x2F;Vue&#x2F;Svelte&#x2F;Angular?<p>Then, when you combine ALL of these concerns, you can start to fully evaluate more complete frameworks like Next&#x2F;Nuxt and understand their pros and cons better.<p>Some devs prefer to maintain control of everything. Some hate the backend and want to outsource as much of that as possible. Some hate the frontend and want to outsource as much of that as possible. Some want a little bit of everything, but less day-to-day tedium &amp; instability. There&#x27;s a hundred frameworks out there, probably enough to meet any desired level of abstraction&#x2F;modularization.<p>TLDR: There isn&#x27;t a single right answer to the question of &quot;bare-metal v. vps v. vm [vs managed host vs serverless vs edge KV vs Jamstack vs App Engine&#x2F;Amplify vs serverless]. Each type of abstraction evolved organically to meet some perceived need that the ecosystem wasn&#x27;t previously meeting. Most often, a solution gains popularity when it can meet 80% of common needs with much less work -- but it would be the wrong choice for the other 20% of needs, and so another abstraction appears later. Some choose to forego that game and completely maintain their own stack, but you usually see that either for super small projects (a lone dev or two) or giant multinationals who can own their own silicon designs all the way up to global data centers. In the middle, where most projects and businesses sit, everyone chooses SOME particular abstractions to hand-wave away the parts that aren&#x27;t mission-critical that they don&#x27;t want to spend time maintaining&#x2F;configuring. That&#x27;s the hard part to figure out, and it takes a while to get a feel for it. So don&#x27;t go in assuming that you either need bare metal or the highest levels of abstraction; you can&#x27;t know that beforehand. Learn the middle and go up or down as your evolving needs dictate, but be open to different solutions... at the end of the day, web is a common problem and there are a lot of good (but different) solutions out there, each existing for a reason.