6 ms·
Would anyone start a new project with Rails today? If someone suggested using Rails for a new project to me today, I would show them the door. There are so ma
by crystaln 3y ago
Would anyone start a new project with Rails today?
If someone suggested using Rails for a new project to me today, I would show them the door.
There are so many more mature frameworks in more robust and performant languages.
IMO the only reason to use Rails today is if you’re too uncurious to learn something better.
- roboben 3y agoPlease name a few with the same comfort of having most things built-in. One example: database migrations. In the JS world it is knex all over and it is much less comfortable than ActiveRecord.
- arrowsmith 3y agoPhoenix
- michaelteter 3y agoWith Ash, even more attractive.
- arrowsmith 3y agoI really need to check Ash out, it seems be a rising star!
- Rapzid 3y agoPersonally I would rather use Fastify+MikroORM. Or Asp.Net. Or Flask with SqlAlchemy + the migration and validation libs(marshmallow?) Or whatever is good in Golang.
- fredrikholm 3y ago> Or whatever is good in Golang. There is no such thing in Go and most likely will never be given the perspectives held by the greater Go community (less is more). Comparatively, the Ruby community is the complete inverse: any perceived friction can and should be abstracted to be (subjectively) nicer. It's why some people love the language, and it's also why some people dislike the language.
- 0xblinq 3y agoAnd none of those combinations reach 5% of the features Rails provides. These answers are incomplete and hide the underlying problem: You have to tie together 10s of third party libraries or services, or alternatively reinvent the wheel and implement everything from scratch. That's the point.
- winrid 3y agoI wonder if anyone here has used ebean and the generated db migrations? I was looking for a java ORM that's like Django's ORM with the built in generated migrations tool which is great for a lot of projects - it seems like ebean is pretty much the best choice? and now with virtual threads I don't have to worry that it's not reactive.
- mvdtnz 3y agoASP.NET Core. And database migrations are not uncommon in web frameworks at all.
- neonsunset 3y agoEasily ASP.NET Core + EF Core combo thanks to strong typing which is a developer productivity boost in back-end, and performance on the opposite end of spectrum suitable for high scalability. (but then again, if you are doing complex migrations through framework in-language, you might be setting yourself up for failure)
- gherkinnn 3y agoWhy not? I have seen or worked on too many projects that would have been better off using Rails/Laravel/Django instead of whatever cobbled together mess was chosen instead. Not saying that those are the best choice under all circumstances but they certainly aren’t wrong.
- mvdtnz 3y agoThe alternative to Rails is not "cobbled together mess".
- gherkinnn 3y agoIt is not, no. But for whatever reason too many people gravitate to an unreasonably bloated and badly constructed mess of tools and things and services. All for the sake of planet scale.
- 0xblinq 3y agoIt's either a cobbled together mess or reinventing the wheel (framework). There are not many more options.
- crystaln 3y agoLooking at the new Hotwire stuff. It’s neat from a technical perspective but looks dreadful to me. Why double down on a sloppy backend language when hardly any of the needed logic for a web application is backend? Especially when the alternatives include a full stack of TypeScript, a robust, performant, strongly typed, fantastically tooled language? I was an RoR developer for a decade. These code bases do not age well. The test requirements of loosely typed languages are so much greater. The lack of ability to automate refactors alone is enough to avoid ruby.
- wiseowise 3y agoWhat would be fully stack TS alternative to rails?
- 0xblinq 3y agoHa, that's the problem! Everyone will give you a different list of 143 packages (minimum). Also, the list they gave you will be different next month.
- spariev 3y agoLast time I checked it is perfectly possible to use anything including TS via jsbundling-rails and esbuild, so honestly I don’t understand what is the problem here. I’m also on a fence re Hotwire, but apparently it works for them in Basecamp and Hey, so that’s what they are investing into. Anecdotally, recently in Ruby shops I see an increase in new projects using Hotwire as a push back against bloated and hard to maintain React front ends and people are delighted how everything is easier now. RoR codebases are not the only ones which did not age well, I’ve seen quite a few React/NextJs legacy projects I would prefer not to touch at all. So I don’t think technology is the main culprit here.
- 0xblinq 3y agoIn my experience codebases that do not age well tell more about the developers and the managers than the tech stack. I've seen marvels and disasters in every stack.
- throwthrow5643 3y agoPython is slower than ruby.
- gls2ro 3y ago> There are so many more mature frameworks Please name "many more mature" frameworks. I am curious about how many web frameworks are still actively maintained today. Please note for me, mature also includes age. So you have to state frameworks that are at least older than 2005 (I would also accept created in 2005).
- Alifatisk 3y agoRails is great for new projects, the opinionated structure and the Convention over Configuration is what makes it scale well!