Maybe try a full stack option like NextJS/NuxtJS, as a sideways step into frontend
Web Development
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
- Follow the programming.dev site rules
- Keep content related to web development
- If what you're posting relates to one of the related communities, crosspost it into there to help them grow
- If youre posting an article older than two years put the year it was made in brackets after the title
Related Communities
- !html@programming.dev
- !css@programming.dev
- !uiux@programming.dev
- !a11y@programming.dev
- !react@programming.dev
- !vuejs@programming.dev
- !webassembly@programming.dev
- !javascript@programming.dev
- !typescript@programming.dev
- !nodejs@programming.dev
- !astro@programming.dev
- !angular@programming.dev
- !tauri@programming.dev
- !sveltejs@programming.dev
- !pwa@programming.dev
Wormhole
Some webdev blogs
Not sure what to post in here? Want some web development related things to read?
Heres a couple blogs that have web development related content
- https://frontendfoc.us/ - [RSS]
- https://wesbos.com/blog
- https://davidwalsh.name/ - [RSS]
- https://www.nngroup.com/articles/
- https://sia.codes/posts/ - [RSS]
- https://www.smashingmagazine.com/ - [RSS]
- https://www.bennadel.com/ - [RSS]
- https://web.dev/ - [RSS]
As someone self taught in both (okay some schooling but I don't use much beyond some of the principles/design I learned), even learning frameworks you need to understand HTML, CSS and JavaScript. Okay maybe less JavaScript with something but I don't know them.
I picked Angular for something, maybe not the best, uses typescript which I like. But in the end it's just to hold variables. After awhile I could easily write something to dynamically create a form in the way I wanted. There are other things I use but if I really wanted I could probably do it all my own in JavaScript anyways.
That's why you learn them, without HTML you don't know not to put things on a screen, without css you can't organize or style it, without JavaScript you have no interaction. Learn them and you'll figure it out.
If you already an expert in python, you can keep doing that and build a frontend in python using Dash. They have bootstrap components and mantine (React) components for options of style you might prefer. Don't need to write JS or HTML. It's enterprise grade and widely used by large enterprise projects.
Another is Reflex but their open source version is tricky to run in production. They promote more of their cloud version or enterprise license.
I know Python but I don't like using it 😅. I've definitely considered going the non-JS/TS route and using something like Dioxus, since I know Rust very well, but I'm not sure that really a super viable way as it's still quite early for that sort of approach in the Rust ecosystem.
I would first ask what you expect your frontend to do. Will your UI get live updates? What do you expect will be an average session time, minutes or hours?
I “just” want to build a pretty standard, responsive, modern-looking UI.
You can accomplish that with plain HTML, CSS and JavaScript. https://developer.mozilla.org/en-US/docs/Learn_web_development can be a good place to start.
Ideally without too much boilerplate
What is considered boilerplate, and too much of it, is a bit subjective.
in a framework that “feels good”
That is very much subjective. Also, you might not need a framework.
in a way that might at some point attract other contributors as well
Now you're considering your own tastes, as well as the tastes of an unknown future stranger :D I'd say don't worry about it.
I would first ask what you expect your frontend to do. Will your UI get live updates? What do you expect will be an average session time, minutes or hours?
I forgot to elaborate why. My point being you might get what you need from fairly static HTML generated by a backend, with a sprinkling of JavaScript for interactivity (Progressive enhancement, gov.uk has more on that as an approach )
fairly static HTML generated by a backend
I don't think this is a scalable, futureproof option. Neither is pure HTML/CSS/JS. I know you can get far with those things, but as another comment mentioned, what if I at some point want to turn it into a mobile app? What if I want to do some complicated thing that I didn't anticipate ahead of time? An established framework seems more futureproof in that aspect.
This is orthogonal. If you want to do anything custom, it will often be easier to not use your JS framework at all for that part of the App. If you are going to use Tauri you will be using the Tauri API not the API of your framework. If you want stuff like touch input or show system notifications, you'll use the browser's APIs for that. If anything the framework will be in the way for lower-level stuff, and you always have the option to not use it for some part of your App.