by Southland on 1/14/24, 6:36 PM with 4 comments
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
by ralmidani on 1/16/24, 2:27 PM
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
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