from Hacker News

Ask HN: Batteries-included Framework for MVP in 2024

by Southland on 1/14/24, 6:36 PM with 4 comments

Let's say you're an experienced developer, but any of the following frameworks & languages would be new to you.

You're wanting a batteries-included framework to build out an MVP and focus on shipping features rather then re-inventing the wheel over and over for non-business specific features (migrations, mail, jobs, caching, etc).

Which do you think is the best to invest time in, in 2024? A lot of previous discussions focused on "build with what you know", and I agree with that, but am curious what HN thinks is worth investing the time in with regards to heavy duty frameworks, in 2024.

- Rails - Ruby

- Laravel - PHP

- Django - Python

- ASP.NET - C#

- Pheonix - Elixir

Something else?

  • by arrowsmith on 1/14/24, 6:41 PM

    Elixir/Phoenix, no question. I'm more productive with Phoenix than I've ever been and it's an absolute joy to work with.
  • by ralmidani on 1/16/24, 2:27 PM

    Python/Django and Elixir/Phoenix are both excellent. Which of these 2 is preferable should be, IMO, dependent on where you are in the development process.

    Personally, if I was joining a team with a mature codebase, a decent auth system already built, and UI for for of the relevant models, I would prefer Elixir/Phoenix because I like and believe in pragmatic Functional Programming and the potential for concurrency and scalability built into the BEAM runtime. Phoenix LiveView really is amazing.

    In your case, though, you’re talking about building an MVP, and Django’s model, auth, and admin layers are top-notch and integrate effortlessly. Outside of core Django, there’s an ecosystem of third-party packages for virtually everything you might possibly need.

    Whichever route you go, for an MVP I highly recommend skipping the JSON API coupled with an SPA (React, Vue, etc.) approach. Use Phoenix with LiveView or Django with either htmx (preferred, see it over at https://htmx.org) or Hotwire (https://hotwired.dev).

  • by neonsunset on 1/16/24, 8:55 PM

    ASP.NET Core* :D

    Really short time to final product when matched with EF Core, and a variety of `System.*` nuget packages for caching, working with mail and job systems (ASP.NET Core has decent background job and service API but if you want more - there are good third-party libraries used by everyone).

    Realistically, compared to Python, Java and JS/TS and now even Go (undeservedly), C# is somewhat of an underdog and is often ignored despite offering the most comprehensive and easy to use solution winning vs java at deployment and package management, vs js/ts, python and BEAM-based languages at performance and vs all of them at working with databases because how easy EF Core is (with Dapper existing if you need more involved control).

  • by colesantiago on 1/14/24, 6:57 PM

    Django all batteries are included for you over time.