this post was submitted on 29 Oct 2025
48 points (98.0% liked)

Web Development

4728 readers
14 users here now

Welcome to the web development community! This is a place to post, discuss, get help about, etc. anything related to web development

What is web development?

Web development is the process of creating websites or web applications

Rules/Guidelines

Related Communities

Wormhole

Some webdev blogsNot sure what to post in here? Want some web development related things to read?

Heres a couple blogs that have web development related content

CreditsIcon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 2 years ago
MODERATORS
 

I'm an experienced backend developer. To me, the backend world seems super simple compared to the frontend world.

It seems like there are a million options and I don't have the experience to say what's good and what's not. I'm hit with major choice paralysis, basically.

I don't have any special requirements - I "just" want to build a pretty standard, responsive, modern-looking UI. Ideally without too much boilerplate, in a framework that "feels good", in a way that might at some point attract other contributors as well, if I get to the point of open sourcing.

Of course I could just reach for the most popular thing i.e. React, but that doesn't seem to be the "hip" thing to use nowadays (or maybe I'm wrong? What do I know, I'm a backend dev).

But even if I choose a framework, there's a million other libraries out there to choose as well. For instance, which UI library to choose? What about observability and state management and authentication and so on?

Sorry if this is a bit ranty. I am honestly just looking for an experienced frontend developer to point me in some direction (i.e. some set of frameworks/libraries; a "stack" if you will), so I can get out of this choice paralysis.

What would be your go-to stack for a new frontend project today?

top 50 comments
sorted by: hot top controversial new old
[–] Kissaki@programming.dev 28 points 6 days ago (2 children)

If you don't care too much and don't have experience yet, why not go for native browser and HTML/CSS/JavaScript?

Even if you eventually migrate to other web UI libs and frameworks, the foundations knowledge will be useful.

[–] Benign@fedia.io 15 points 6 days ago

Aye. K.I.S.S. has been forgotten in frontend. Its so simple to make basic sites. No need for huge ass frameworks or complicated build pipes most of the time.

[–] SorteKanin@feddit.dk 7 points 6 days ago (1 children)

why not go for native browser and HTML/CSS/JavaScript?

I guess because you end up rewriting a lot of stuff manually, rather than going for tried-and-true solutions that work out of the box? I mean isn't that the same as every framework, regardless if we're talking JS or frontend or backend or whatever. I mean I use a framework in the backend as well, I'm not about to roll my own routing system and manually listening to a socket and everything.

I totally get the sentiment of KISS, but if you know that your site will not be super simple and will need interactivity and the possibility of complex workflows, isn't the raw HTML/CSS/JS kinda limiting? That's the impression I'm getting from what I've read online.

[–] Kissaki@programming.dev 3 points 5 days ago

I don't know what you're looking for, and what your "not super simple" is, but baseline browser tech provides various controls, layout mechanisms, styling, interactivity, etc.

Do you have a concrete idea of what and where specifically you hope for gains by using frameworks? Do you plan to hold a lot of state on the client that needs state separated from the DOM and its mechanisms? Do you want a standard library of styled components instead of using the native ones or styling them yourself? Do you want more robust JavaScript? Those are all very different concerns and requirements.

I like the low complexity, low barrier, low requirements of baseline web tech. The native html form controls may arguably look "ugly", but those can be styled, individually or through a style-only CSS lib.

[–] MisterNeon@lemmy.world 19 points 6 days ago* (last edited 6 days ago) (6 children)

First get the basics with HTML and CSS. Learn JavaScript then Typescript. Figure out if you want to learn SaSS, styled components (for JavaScript based applications), or a library like Tailwind. Do YouTube searches and research on React, Vue, and Angular. See which one gels with you.

I suggest Udemy for that and if you're interested I can suggest specific teachers.

If you or your company are hiring UI/UX developers then DM me, hopefully then I'll train you myself.

[–] Tm12@lemmy.ca 15 points 6 days ago (1 children)

As a backend dev, this is the way. HTML + CSS + Vanilla JS goes a looong way.

[–] MisterNeon@lemmy.world 3 points 6 days ago

Absolutely. In fact once you get an understanding of JavaScript and learn one library like React, Vue, etc. it's a lot easier to learn another.

[–] SorteKanin@feddit.dk 7 points 6 days ago (7 children)

Sorry, I should've made myself clearer. I am an experienced backend developer but I know basic HTML, CSS and JS/TS. My problem is not with learning the basics of these foundational technologies, or learning anything actually. My problem is what should I even learn and what is a good stack-choice, taking into account not just my own enjoyment and what is popular/cool, but futureproofing and maintainability as well. I don't have time to go through all frontend frameworks. There are simply too many and it is not an exercise I find enjoyable.

[–] MisterNeon@lemmy.world 9 points 6 days ago (1 children)

Well there is no silver bullet. My two cents is React, but that drives people nuts. Pick one of the big three (React, Angular, and Vue) and then start practicing.

[–] SorteKanin@feddit.dk 3 points 6 days ago (1 children)

My two cents is React, but that drives people nuts.

Could you elaborate on why you think it drives people nuts? And why you are recommending it despite that? Genuine questions, just looking for some reasoning as I have no intuition in this area myself.

[–] MisterNeon@lemmy.world 3 points 6 days ago (1 children)

The negative feedback I get from more engineer minded people (I'm more design minded) is that the library is bloated and its features are convoluted. When it first came out and it was completely class based components that was confusing to me. Now the library is focused on functional components which makes it more intuitive in my opinion. With that said React is my bread and butter.

[–] SorteKanin@feddit.dk 6 points 6 days ago (1 children)

more engineer minded people (I’m more design minded)

I'm definitely more engineer-minded, but that is another thing I'm having to deal with in my frontend journey here 😅. Figuring out how to code a UI is one thing, but figuring out what the UI should even look like to begin with is a whole other thing. A thing I'm very uncertain about still. Were you always design-minded or was it something you learned? I feel like I was always engineer-minded and backend came very naturally to me.

[–] MisterNeon@lemmy.world 5 points 6 days ago

I'm a visual thinker and I love art. I picked up coding 10 years ago for survival purposes (I'm currently unemployed). What you need to understand about frontend development is that everything being rendered on screen as DOM elements are fancy looking blocks on a grid. Key value pairs never go away, they just get a coat of paint. There are best practices such as making sure not to put #000000 text on a #ffffff background and some fancy CSS tricks to make things visually appealing. You need to translate brand guidelines and designs into variables so you can template out as much as you can for reusability. Using the ANDI browser extension will check your DOM for accessibility so people with screen readers and poor eye sight will be able to use your app.

Dear god someone give me a job.

[–] alloloto@lemmy.world 5 points 6 days ago

As a frontend dev working my way to the backend, I would probably say a stack of React/Vue, Typescript, and SASS. These are industry standards (or at least, as standard as you can get with such a fractured ecosystem). And/or: learning the ins and outs of an ecommerce platform for theme development, like Shopify or BigCommerce. In terms of frameworks, I prefer Vue because it's a little higher level than React and translated well from vanilla JS.

[–] Kissaki@programming.dev 5 points 6 days ago* (last edited 6 days ago)

The most future proof web tech is not using frameworks and libraries at all.

Render native HTML controls.

I also assume it's lower barrier than any of the libs and frameworks you could use, which is always a subset of web tech with the addition of their own concepts.

[–] Tm12@lemmy.ca 3 points 5 days ago

What’s your goal?

I think building something with what you know should be a good start. Then look into the different frameworks and determine which is the best for your use case to convert it. Definitely overkill.

All that to say, just jump in and pick one.

load more comments (3 replies)
load more comments (4 replies)
[–] entwine@programming.dev 12 points 6 days ago (2 children)

Using 'raw' JS/CSS/HTML is a coveted skill. A lot of people forgot and/or never learned how to do that. Those over engineered frameworks are essentially a form of premature optimization, and in many cases obsolete because modern browsers already implement their whole reason for existing.

[–] Skullgrid@lemmy.world 6 points 6 days ago (1 children)

Using ‘raw’ JS/CSS/HTML is a coveted skill.

I can do this, how can I cash in?

[–] entwine@programming.dev 4 points 6 days ago (8 children)

The general play is:

  1. Make non-shit software
  2. ???
  3. $$$
load more comments (8 replies)
[–] SorteKanin@feddit.dk 3 points 6 days ago (3 children)

It just doesn't seem like best practice to do raw JS/CSS/HTML from what I read online? I get that for maybe small sites where you just need mostly static pages, that might be fine, but if you want any complexity and flexibility, isn't raw JS/CSS/HTML sort of limiting? I.e. you'd end up doing lots of complicated stuff that you'd build yourself instead of using a framework.

[–] sobchak@programming.dev 3 points 5 days ago

Web components exist.

[–] entwine@programming.dev 3 points 6 days ago

What's "complicated stuff"? Your business logic will probably be complicated regardless of what you use. A framework will just add a few more layers of complexity and introduce a (usually fragile) build process.

Idk what you're trying to build, but from this:

I “just” want to build a pretty standard, responsive, modern-looking UI. Ideally without too much boilerplate,

It doesn't sound like you need a framework. Want responsive? Learn how to use flexbox. Want a "modern" look? Learn design, or find some CSS templates to start from.

If you're trying to make a SPA (which a lot of beginners/insane people seem to think is a good default, which it definitely is not), then a framework might make it easier, or it might not. It depends on what you're building. You may be able to use HTMX with a light sprinkling of JavaScript, or may need a full-blown batteries-included framework.

So. What are you building?

load more comments (1 replies)
[–] tyler@programming.dev 9 points 6 days ago (10 children)

I’m also a backend dev that hates how many frameworks there are. At my last company i built a small tool and chose svelte. I’m glad i did. It is so easy for a backend dev to learn in comparison to react or angular or vue. I wouldn’t touch those three with a 50 ft poll in this day and age. There’s several good articles on why in the !webdev@programming.dev community a few days ago.

https://programming.dev/post/39156162

https://programming.dev/post/39374784

I would choose HTMX, Astro, Quik, or Sveltekit. I really like svelte, and it’s been at the top of stack overflow’s “beloved” chart for several years now. It really is a joy to use compared to react or angular (at least for a backend dev like me). I know they’re not nearly as popular, but using react is like using J2EE, you don’t need it, like 99.99% of the time.

I'll jump on the bandwagon and say that while I haven't used Svelte or Quik, I have used React, NextJS, and a lot of older tech like AngularJS, ASP, PHP, JSP, JQuery, YUI, vanilla JS, ...

I agree. React is over-engineered, and tries to solve the same thing Angular does: optimize for the most efficient DOM updates possible. As a result, your code is compressed into hard-to-debug pretzel shapes. Its cousin, NextJS, confuses front and backend in such a way that you'd need to be experienced with the separation before being able to navigate it. Neither is starter tech by any stretch of the imagination.

I've dabbled a bit with HTMX. I really like this one since it more closely resembles the dynamic web we had before JS and heavy-clients took over. You wind up with a lot more chatter between the browser and server, but each of those conversations can be engineered (more or less) in isolation from the rest of the app. Meanwhile, you avoid round-trips that update the entire page - the very thing that these other stacks try so hard to avoid. You can build an HTMX application one component at a time, instead of all-or-nothing. This makes troubleshooting a lot easier, so it's likely an easier place to start.

load more comments (9 replies)
[–] belated_frog_pants@beehaw.org 6 points 6 days ago (1 children)

Front end is such a wasteland of overdoneness now. It used to be fun :/

[–] gwl@lemmy.blahaj.zone 2 points 5 days ago
[–] python@lemmy.world 2 points 4 days ago

Just wait until you come across an open source website you get excited about and then dig into their code and figure out how they did things. Don't look at weird abstract specs of frameworks, look at the things people make with them!

I recently got very excited about revanced.app

[–] matsdis@piefed.social 6 points 6 days ago (1 children)

Maybe you are looking for a component library, something like Bulma or Bootstrap, rather than a JS framework. Your primary problem may be design, UX layout and learning basic CSS/HTML.

But if you want one of the lighter frameworks, I'd try Vue. But it is increasingly possible to do stuff without a framework, especially if your needs are not too complex. I'd start by looking into Vite, and use one of its simpler templates. You may want to select typescript instead of JS if you get the option.

Also... when you say "Frontend" we don't know if you're going to do a visualization-rich 3D application with touch gestures, or a business CRUD applications with lots of forms and tables and paginated lists filtered server-side, or a content-heavy web page with lots of articles to read...?

[–] SorteKanin@feddit.dk 3 points 6 days ago (1 children)

component library

Yea definitely. But even here there are many choices. I've tried Bulma before and it's "okay" but I feel it still takes a whole lot of tweaking with lots of small classes to get something that looks decent.

when you say “Frontend” we don’t know [what exactly you need]

As I said above, I have no special requirements. Think about any "usual" website you visit, even something like Lemmy or Piefed, or other social media, or Wikipedia or YouTube or whatever. I don't need anything particularly fancy. Probably closest to the "content-heavy web page" thing you mentioned?

[–] matsdis@piefed.social 4 points 6 days ago

If you want to try another, maybe Material. (The design guidelines or the components. But IMO the component docu has gotten worse.) But if you are going to overwrite the styles anyway, it may be easier to write your own CSS instead of debugging someone else's.

So learn the HTML/CSS basics that you are missing, mostly on MDN. (CSS: selectors, pseudo-classes, flexbox, grid, css variables, units like rem/px/vh, media queries, collapsing of the margin, css reset and box-sizing, overflow, display, positioning, ...; HTML/Web APIs: CSP, self-closing tags, fetch() API, querySelect(), URL.parse(), sessionStorage, form submit, form validation, blob, event bubbling, your browser's inspect tools, ...).

Even if you use a framework you will generally have to learn all this stuff anyway.

[–] hypna@lemmy.world 6 points 6 days ago (1 children)

I am also not a frontend dev, but you got me curious, so I did a little digging. Sounds like if you think you may ever turn it into a mobile app, choose React. Otherwise flip a coin between Vue or Svelte.

[–] SorteKanin@feddit.dk 3 points 6 days ago

if you think you may ever turn it into a mobile app

That is something I've thought about as well, but then again couldn't you use something like Tauri with any framework you want?

[–] scientuslatens 3 points 6 days ago (1 children)

The backend you are working on can also help narrow down what front end you may want to try. I am a “full-stack” .NET (i.e. I do backend but I’m stubborn enough to touch and make choices on our front end vs other members on my team). Naturally, our apps are ASP.NET MVC/Razor pages, and I’ve dragged a few things over to Blazor for some of our new apps. One could still add vanilla JS / Browser APIs on top of this and cover most needs. Bootstrap consider what you need to keep you app mobile-friendly (usually described as “responsive”), and can be used with just data- attributes.

My opinion is the front end should be quick and should also be light on business logic. Then you are just making http requests for data retrieval or requesting the server to do something. Then you can break out your backend methods/services to handle your data persistence > business logic > shaping the results for what your front end needs

Sorry that got long TL;DR see what front end usually seems paired with your backend and start there. For example, try .NET/ASP.NET Core

[–] SorteKanin@feddit.dk 3 points 6 days ago (4 children)

My backend is in Rust - I've definitely considered something like Dioxus, but I fear that the Rust ecosystem is not ripe for frontend still. But I may be wrong. I've tried Yew before and it was "okay" but definitely not nice.

So my initial instinct is to stick with the JS/TS frameworks.

[–] scientuslatens 2 points 5 days ago (1 children)

That seem reasonable. Don’t add more to learn before you know you need it. Is there an http server that is built in to Rust?

[–] SorteKanin@feddit.dk 2 points 5 days ago

I'm very experienced with Rust and yea there's quite a few web server frameworks available actually. Axum is the prime choice.

load more comments (3 replies)
[–] gwl@lemmy.blahaj.zone 2 points 5 days ago

Maybe try a full stack option like NextJS/NuxtJS, as a sideways step into frontend

load more comments
view more: next ›