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

Open Source

31028 readers
785 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?

you are viewing a single comment's thread
view the rest of the comments
[–] [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.