this post was submitted on 14 Jul 2023
12 points (92.9% liked)

Open Source

30206 readers
238 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

Using php + sql and maybe a little javascript is generally an OK-ish method that has few strings attached and runs on anything. However there are a lot of modern frameworks that let you do a lot more stuff. There things like django, firebase, blazor, asp net or whatever but what FOSS equivalent to this "next gen" web development stuff should we be using?

top 8 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

As always, it depends! I'm a big fan of "the right tool for the job" and I work in many languages/platforms as the need arises.

But for my "default" where I'm building up the largest codebase, I've gone for the following:

  • TypeScript
    • Strongly-typed (ish) which makes for a nice developer experience
    • Makes refactoring much easier/less error-prone.
    • Runs on back-end (node) and front-end, so only one language, tooling, codebase, etc. for both.
  • SvelteKit
    • Svelte as a front-end reactive framework is so nice and intuative to use, definite the best there is around atm.
    • It's hybrid SSR/CSR is amazing, so nice to use.
    • As the back-end it's "OK", needs a lot more work IMO, but I do like it for a lot of things - and can not use it where necessary.
  • Socket.IO
    • For any real-time/stream based communication I use this over plain web sockets as it adds so much and is so easy to use.
  • PostgreSQL
    • Really solid database that I love more and more the more I use it (and I've used it a lot, for a very long time now!)
  • Docker
    • Easy to use container management system.
    • Everything is reproducible, which is great for development/testing/bug-fixing/and disasters.
    • Single method to manage all services on all servers, regardless of how they're implemented.
  • Traefik
    • Reverse proxy that can be set to auto-configure based on configuration data in my docker compose files.
    • Automatically configuring takes a pain point out of deploying (and allows me to fully automate deployment).
    • Really fast, nice dashboard, lots of useful middleware.
  • Ubuntu
    • LTS releases keep things reliable.
    • Commercial support available if required.
    • Enough name recognition that when asked by clients, this reassures them.
[–] [email protected] 5 points 1 year ago (1 children)
[–] [email protected] 3 points 1 year ago

Actually, I thought it was a Microsoft product for some reason. Turns out I'm wrong and it actually is open source.

[–] [email protected] 4 points 1 year ago

It really depends on the kind of website. Is it a blog? an e-commerce? a static website? a full blown web application?

Node.js has been a popular backend choice for years. On the frontend there are frameworks such as React, but that's overkill in many cases. Nowadays I've been meaning to look into Hugo and htmx

[–] [email protected] 3 points 1 year ago

Ruby on Rails?

[–] [email protected] 1 points 1 year ago

I personally like FastAPI (python.)

[–] [email protected] 1 points 1 year ago

@PeterPoopshit I want to try Supabase, especialy PostgREST. Also htmx is interesting.

[–] [email protected] 1 points 1 year ago

For rapid development of web applications, you should probably use a web framework in a high level language. Popular examples of such web frameworks: Django (language: Python) and Ruby on Rails (language: Ruby). These frameworks have huge communities behind them, lots of documentation, and lots of educational resources available (such as books).

load more comments
view more: next ›