4 ms·
Say what you want about RoR, but it’s certainly getting some of the most exciting updates as a framework. My favourite one is this https://hotwired.dev https://
by herunan 3y ago
Say what you want about RoR, but it’s certainly getting some of the most exciting updates as a framework. My favourite one is this https://hotwired.dev https://hotwired.dev. DHH clearly wants to move away as much as possible from JS, and I love that.
- mortallywounded 3y agoExcept Rails 6, which was a huge let down and JS-ridden.
- anonyfox 3y agoOr, you could use Elixir/Phoenix/LiveView, and have a javascript-free interactive fullstack framework that can do everything rails can do, except it is faster, scales _much_ better and maintenance is easier. For now Rails has more gems than Phoenix for a quickstart within the first days, but this quickly turns around when stuff gets complicated and you need to "optimize" ruby code instead of shipping more features, or when you want realtime that doesn't suck. It's like where DHH wants to end up with Rails, but available here and now, with a better technical foundation.
- realusername 3y agoI'd say there's pro and cons to each side. Rails is definitely easier to recruit for which is not negligible and while I really like Ecto changesets concept, ActiveRecord has a better mapping to complex queries. On the plus side for LiveView though, to me it's the most productive web app technology in the world and there's just no match to it. It makes the hard things easy.
- bgentry 3y agoUnfortunately the Elixir ecosystem is a harsh dose of reality: only a handful of good 3rd party libraries that are well maintained outside of Phoenix, Ecto, and Oban. I say this as somebody who’s spent several years full time in Elixir on and off since 2017, including in my current role. A strong Elixir ecosystem has unfortunately never materialized.
- devoutsalsa 3y agoIn your experience, when is this really an issue? I don’t disagree with you, but I’ve never been that inconvenienced by lack of third party libraries. Most of the time I’m just using Elixir to call a REST API anyway.
- anonyfox 3y agoWhile in general you are right, I'd strongly say "it depends". The raw BEAM ecosystem (things that come ootb) is huge in itself, many things that would require additional machinery/libs/infra/... in other tech stacks are simply covered right away with stuff like OTP. The machine-learning ecosystem is kinda thriving, not fully at python levels yet but catching up rapidly and already outshining most other tech stacks - especially factoring in again the BEAM underpinnings that allow stuff like https://elixir-broadway.org/ https://elixir-broadway.org/ for data pipelines (which requires a lot of additional python machinery to even replicate), and I'd argue that iE LiveBook already is a much better story than Jupyter notebooks. The web framework story is already excellent, as you mentioned with Phoenix/Ecto/Liveview/Oban/... which are kinda best-of-breed in the industry right now. Not only for the first few days into a project (lots of tech stacks are compelling here for one reason or another), but the scaling up capabilities are flat out amazing, you can get _so much_ mileage out of the stack before even looking into anything like k8s or whatever and can focus on iteration features instead of spending time in optimizations/infra/... even when traffic peaks occur. What may be missing are some adjacent libs or QoL in many smaller places. But its getting better for a while... we now have a great storybook reimplementation that doesn't suck ass with nodejs ecosystem craziness/provisioning/slowness like the real storybook. We have usable solutions for i18n or auth that may not be fancy but do the job. And since being Elixir, many missing things are just a few macros away if you need it. Especially the last 2 years have been quite a ride, and I was a phoenix user since probably 1.2 years back, but recently things are stepping up. Right now I am eagerly waiting for BeaconCMS to mature enough, thats an absolute pain point to get solved since nearly every web platform at some point needs some CMS style free-style pages and right now I have to always implement an integration to some external system... can't wait to have this as a lib mounted in my app like everything else. Oh, and types of course, one of the few points that keep people from trying elixir and I (coming from Rust, Go, Typescript) learned to love. But it looks like we're getting there.