4 ms·
I would answer at the meta-level - pick the framework in the language you know best. If you are already fluent in Python, use Django. PHP; Laravel? Etc. The be
by theptip 5y ago
I would answer at the meta-level - pick the framework in the language you know best.
If you are already fluent in Python, use Django. PHP; Laravel? Etc. The benefit of using the “best” CRUD tool (if there even is one) is far less than the cost of learning a new language these days.
When Rails first came out, it was so much better than anything else that it was worth it to learn Ruby just to use that toolchain. Nowadays, the gap has closed for the simple use-case.
You can run Django/Rails & Postgres on Heroku with approximately zero infra burden. I still have a trivial app I last touched ten years ago and it’s still up and serving traffic.
- deleted 5y ago[deleted]
- srik 5y agoThis is good advice. Django, for example, isn't the hottest tech on the block by far, but that's not necessarily a bad thing. Where some see bloat, others see maturity. There are a lot of QoL features like the ORM, forms etc. etc. that make django a very stress-free option. Also, HN sometimes has a derisive attitude towards turbo-like variants, but still, `htmx` is an objectively good pairing with django as well. It's not quite the same as a framework that has web sockets built in, like say Phoenix+LiveView but I'm not completely sold on that anyway. IMO lingering web sockets have an associated cost that hasn't been fairly considered yet. All that said, my personal favorite CRUD backend is absolutely servant, but will admit that haskell can be a deterrent to some. Note since I mentioned Phoenix: It might be suitable to you OP, it doesn't necessarily need things like external static hosting, caches, task queues etc and with LiveView can accomplish plenty without surrendering the front-end to a javascript framework. Look up the emerging PETAL stack, it might be of interest. P(Phoenix) E(Elixir) T(TailwindCSS) A(AlpineJS) L(LiveView).
- ducharmdev 5y agoI feel the same way about using websockets to get SPA-like interactivity; Blazor Server in the .NET world is similar. htmx peeked my interest though, as I can see the appeal of the LiveView/Blazor/Hotwire approach, but would still prefer inexpensive HTTP requests for most use-cases.
- giancarlostoro 5y agoDont forget Blazor works on the client too via WASM. As for expensive, the claim to fame for Liveview is that it is very minimalist over the wire. It is not sending html chunks like in standard AJAX from the mid 2000s.
- hereforphone 5y agoCan this be done while substituting Elixir for Erlang?
- srik 5y agoPhoenix is written in Elixir, so definitely not a 1:1 mapping, but because of the underlying BEAM VM, most of what makes Elixir robust should in theory also apply to Erlang. Apart from OTP which is amazing, I don't know anything at all about the Erlang web framework scene though, sorry.
- MathCodeLove 5y agoOTP predates Elixir and stems from the creation of Erlang. The only real difference between the two is that Elixir has a nicer syntax and some higher level abstractions. Cowboy is a decent Erlang web framework.
- waffle_maniac 5y agoI love Heroku but build packs are a nightmare. Getting the right libraries installed so I can process HEIC images is frustrating. I should be able to check a box to get this kind of support.
- noodlesUK 5y agoHeroku also supports docker containers if that’s more your style.
- waffle_maniac 5y agoMy style is it just works — as in they discover what I need based on the Gemfile.
- franciscop 5y agoExcept for Node.js, unfortunately there's still no good way of building a simple CRUD app like with Django/RoR. Available solutions are still very much do-it-yourself or very niche-buggy. This has some advantages! But it's really bad if you just want a CRUD app.
- rsoto 5y agoHave you heard of AdonisJS[1]? A couple of years ago we had JS as a hard requirement for a new project, and coming from a Rails background, Adoins was really good. 1: https://adonisjs.com/ https://adonisjs.com/
- franciscop 5y agoSure, it's one of the best looking for that case and actually looks better than I remembered, but still everything from the view templating system[1] to the database[2] it uses "by default" needs to be manually installed, which makes it def not like Django/RoR IMHO. Heck, even the simple session management needs to be installed separately[3]. [1] https://docs.adonisjs.com/guides/views/introduction#setup https://docs.adonisjs.com/guides/views/introduction#setup [2] https://docs.adonisjs.com/guides/database/introduction https://docs.adonisjs.com/guides/database/introduction [3] https://docs.adonisjs.com/guides/session https://docs.adonisjs.com/guides/session
- MathCodeLove 5y ago1 and 3 come pre-installed with the web template, which is the equivalent of a scaffolded Django or RoR app. 2 is just an npm install. You're trying to draw a distinction when there really isnt one.
- giancarlostoro 5y agoDoesn’t sound as batteries included as Django can be OOTB. You should be able to touch a database, setup templates and users without installing anything outside of Django. Which you absolutely can. Not sure the framework in question is this seamless.