What should we be using to develop web apps? - eviltoast

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?

  • vampatori@feddit.uk
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    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.
    • PeterPoopshit@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

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

  • reboot6675@lemmy.fmhy.ml
    link
    fedilink
    arrow-up
    4
    ·
    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

  • citytree@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    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).