Live data from Hacker News

Rails for everything

literallythevoid.com

51–60 of 250 posts

Re: Rails for everything

#51
post #47

Rails is awesome, and so is Django. I’ve built mission-critical apps in both and still do with Python. That said, I’d love to switch to Go for building large monoliths since it has a tighter type system and better concurrency constructs. The problem is, Go community has never really filled that gap. I love Go, but the whole "Go doesn’t need a Rails or Django" mindset is part of why it hasn’t taken off in this space.…

I don't think Go was trying to capture that space really.

Re: Rails for everything

#52
> Rails is not dead; It's better than ever. Try using it to make something new this year.

Apparently that's one of the few things you can do well with a rails app. As evidenced by all of the rails apps stuck behind 3+ major versions because refactoring or upgrading without breaking everything is damn near impossible.

Re: Rails for everything

#53
post #47

Rails is awesome, and so is Django. I’ve built mission-critical apps in both and still do with Python. That said, I’d love to switch to Go for building large monoliths since it has a tighter type system and better concurrency constructs. The problem is, Go community has never really filled that gap. I love Go, but the whole "Go doesn’t need a Rails or Django" mindset is part of why it hasn’t taken off in this space.…

I’m a big fan of Django and Go as well but the only thing in the Go ecosystem that I’ve found that comes close is beego: https://github.com/beego/beego

But it still needs to mature quite a bit before I’d be comfortable saying it’s anywhere near Django or Rails

Re: Rails for everything

#54
post #38

> Rails is not dead; It's better than ever. Try using it to make something new this year. I hope as an industry we can move away from this "___ is dead" talk. The OP shouldn't even need to say this. If something is being worked on (in any capacity) and has at least one user, it isn't "dead." "Is it dead" is groupthink questioning that leads to great ideas being swept under the rug because they're not perceived as pop…

It’s also a bit of a joke to ask if Rails is dead in the community.

Re: Rails for everything

#55
post #41
post #32

Earlier quoted context omitted.

The biggest difference is python vs ruby. Python’s ecosystem is massive, so if you want to pull in any third party libs you have plenty of choices for whatever you may need. Django also has auth and the admin interface built in, both of which are very nice.

Ruby and rails’ ecosystems are also massive. Devise and ActiveAdmin are options for those two, though I haven’t used either in years. With much of the AI development happening in python and typescript, you might be right about those areas.

RoR's ecosystem is indeed massive - for web apps. But if you want to make an app that integrates with an existing domain, Python is just so far ahead. Numpy, SciPy, Pandas, basically the entire field of astronomy and biology, data science and FinTech... the list goes on.

But if you are sticking to basic web/database stuff it's hard to go wrong with RoR.

Re: Rails for everything

#56
post #38

> Rails is not dead; It's better than ever. Try using it to make something new this year. I hope as an industry we can move away from this "___ is dead" talk. The OP shouldn't even need to say this. If something is being worked on (in any capacity) and has at least one user, it isn't "dead." "Is it dead" is groupthink questioning that leads to great ideas being swept under the rug because they're not perceived as pop…

[deleted]

Re: Rails for everything

#57
post #47

Rails is awesome, and so is Django. I’ve built mission-critical apps in both and still do with Python. That said, I’d love to switch to Go for building large monoliths since it has a tighter type system and better concurrency constructs. The problem is, Go community has never really filled that gap. I love Go, but the whole "Go doesn’t need a Rails or Django" mindset is part of why it hasn’t taken off in this space.…

With tools like ogen[1], one can take a single OpenAPI document and generate server code with a static router, request/response validation, Prometheus metrics, OpenTelemetry tracing, and more out of the box.

It can also generate clients and webhooks. Authentication is just declaring a SecurityScheme in the OpenAPI document then implementing a single function. The rest of the backend is just implementing a single interface. Unlike oapi-codegen, there is no need to tinker with routing libraries or middleware for authentication and logging.

Pair this with sqlc[2] and SQLite's `pragma user_version`, and you get type-safe database code and database migrations for free. I will concede that adding SQLite is a manual process, but its just two imports added to main.go.

Frontend is entirely your choice. Go's standard library provides good enough text templating that I don't miss ERB or Django-style templates. Using the standard library's `embed` package, one can easily embed static assets into a single binary, so deployment can be as simple as `go build` and moving the binary.

I have a hard time using languages besides Go for developing backends, because the code generation tools make Go as convenient as frameworks like Quarkus while staying lightweight and fast.

[1] https://ogen.dev/

[2] https://sqlc.dev/

Re: Rails for everything

#58
post #22

I’m curious on others thoughts on whether or not to use Devise? With the recent Rails updates, even in Rails 7, Devise didn’t seem that useful and seemed to over complicate the user authentication, registration, lost password experience and also seemed like I had to do a lot of work overriding their views to fit with my application. It seemed easier to not use Devise? It had its usefulness in earlier versions of Rail…

> over complicate the user authentication, registration, lost password experience

As a SWE and infosec guy, please don’t just roll this stuff yourself. Maybe Devise is more complicated than it needs to be, but a lot of this stuff is far more subtle than people realize and trivially easy to get catastrophically wrong.

I’m absolutely certain a lot of the parts you think are unnecessarily complex are the result of having gotten it wrong before. How do I know? Because I’ve personally submitted vulnerabilities to Devise (specifically the lost password flow) that ended up getting a redesign to fix the vuln.

So even if you don’t use Devise, please use some other project which has already suffered through iterating over vulns so you don’t have to.

Re: Rails for everything

#59
post #38

> Rails is not dead; It's better than ever. Try using it to make something new this year. I hope as an industry we can move away from this "___ is dead" talk. The OP shouldn't even need to say this. If something is being worked on (in any capacity) and has at least one user, it isn't "dead." "Is it dead" is groupthink questioning that leads to great ideas being swept under the rug because they're not perceived as pop…

Somehow if something didn't have a commit in the past 2 weeks and/or it wasn't top HN for a few weeks, it is dead. Might be if you are resume grifting, however if you just need something that works and is stable, there are many things that have this. We use many packages that have not have updates outside security for years: they don't need updates as they just work. I prefer it that way; updates just to show updates/commits is very lame and somehow a very javascript and open source investor community thing; 'must show progress, let's just change shit that doesn't need changing and break things every minor release for no reason at all!'. But then it is 'not dead' somehow; for me reading a changelog with breaking api changes that don't actually bring new functionality is a good reason never to touch it.

Re: Rails for everything

#60
post #55
post #41

Earlier quoted context omitted.

Ruby and rails’ ecosystems are also massive. Devise and ActiveAdmin are options for those two, though I haven’t used either in years. With much of the AI development happening in python and typescript, you might be right about those areas.

RoR's ecosystem is indeed massive - for web apps. But if you want to make an app that integrates with an existing domain, Python is just so far ahead. Numpy, SciPy, Pandas, basically the entire field of astronomy and biology, data science and FinTech... the list goes on. But if you are sticking to basic web/database stuff it's hard to go wrong with RoR.

a best of both worlds solution might be to have a Rails web app and Python services. Of course if you like Django/Python better anyway, then just use those.
Post reply on HN