Live data from Hacker News

I Miss Rails

chanind.github.io

51–60 of 522 posts

Re: I Miss Rails

#51
Ember was rails on the frontend. Still chugging along I guess, but honest to god I haven't seen a soul use it in the past three years. Anywhere I worked, anywhere I asked.

I'm using Phoenix and Elixir these days instead of Rails. But I've also been circling back to C# after 9 years of not using it for anything. C# has become to so incredibly open that you can write C# code and build static binaries for Linux, Mac and Windows, with single commands. Definitely check it out if you want something like that under your toolbelt.

The fact is, the javascript ecosystem is a house of cards. Most definitely the worst ecosystem I've ever used to write software. I sometimes wish a competitor to NPM launched with better organization and rules. NPM is insane, in all the worst ways. Google the left-pad incident. We need JS so we're stuck with NPM I guess.

Maybe with Phoenix LiveView we can get away with _less_ JS - maybe...

Re: I Miss Rails

#52
post #39
post #12

AWS Amplify is becoming the "Rails" of serverless. It already has impressive code generators for GraphQL.

I was just playing with Amplify the other day. I was super impressed with the graphql codegen. I think the Rails comparison makes sense with the exception of the vendor lock-in. I haven’t looked at the Serverless framework very closely, but I know it’s not tied to AWS. I wonder if that’s a better comparison to Rails?

I think the Serverless framework is more backend centric.

Amplify has a pluggable interface for different cloud providers, but I guess until Amplify reaches critical market share, nobody will implement the Azure and Google Cloud parts...

Re: I Miss Rails

#54
post #34

Earlier quoted context omitted.

You’re going from TypeScript to Ruby? Having tasted the joys of static type checks combined with a unified front/back data model, IMHO, that’s unthinkable.

> joys of static type checks combined with a unified front/back data model Would you mind elaborating on the specific benefits?

With TypeScript you can define a single set of interfaces shared by both your client side and server code. If you change an interface to return a different value or rename a member, you immediately know where it’s used and can update it in tandem. Static type checking let’s you know everywhere that something is used without a battery of tests running through your app.

This takes 99% of the fear out of refactoring and expanding APIs which leads to incredible agility in adding features to an existing code base.

Re: I Miss Rails

#55
post #50

I'll take a mildly unpopular opinion and say that I really despise code-gen-style web frameworks, like Rails or ASP.NET MVC or Django, and would rather reinvent the wheel than use them. I definitely see the appeal of these frameworks, but I feel that a side effect of having them is that there's a metric ton of code generated and you really have no idea how it works. I remember spending almost 30 minutes digging throu…

Rails auto generates very little these days unless you ask for it.

Re: I Miss Rails

#56
post #41
post #20

Earlier quoted context omitted.

What does this enterprise slur even mean ? Is it like saying a band sold out when they had a hit record? Do we only use undiscovered indie frameworks now?

It means it's everything but the kitchen sink: heavyweight, difficult to learn and use, and full of features you don't need. It has nothing to do with popularity being bad. In general that's good a thing, because support is better (and rails does have terrific support), but it does exert a feature-accretion force.

I didn’t mean it as a slur! When I wrote .NET, the applications I was working in were massively large and complex, and so mostly what I was working on was optimizing small bits and pieces, and they allowed me to focus ON optimizing those small bits and pieces, because they were what mattered in that context. Rails let’s me focus on the big picture, because that’s what matters in my current context. Express had me working on stuff that I didn’t REALLY care about/want to know about in the context I was in.

Re: I Miss Rails

#57
post #46

Earlier quoted context omitted.

I know this is the opposite of what you asked but I find Rails to be keeping pace with modernity much better than its conemporaries! Django seem to have given up on integrating websockets (ActionCable has been in Rails for literally years now), nor is there trivial integration for JS assets/asset pipeline functionality. I don't write much of either anymore, but I'd still reach for Rails the instant I need to get some…

Django has multiple good asset handling libraries. I like https://django-pipeline.readthedocs.io/ . And with django-channels ( https://channels.readthedocs.io/ ) Django goes way beyond just WebSockets. You can now do fully asynchronous data processing pipelines. I'm still happy working with Django (which is not something I can say about the JS ecosystem). Especially when doing APIs with Django REST Framework.

In Rail 6 webpack (with a framework integration via the webpacker gem) is the default system for handling JS, CSS still goes through the asset pipeline though. I wouldn't be surprised if Rails 7 drops sprockets entirely.

Re: I Miss Rails

#59
post #12

AWS Amplify is becoming the "Rails" of serverless. It already has impressive code generators for GraphQL.

How do you deal with vendor lock-in? Isn't this just as bad as using Oracle DB?

It's always a quesion of risk.

Maybe you go multi-cloud and your AWS only competitors crush you, because you spend money and time on the wrong thing and their one-provider-setup just integrated so well and saved so much time and money.

Maybe AWS goes bad quick and you can jump ship with your multi-cloud setup and save your butt while your competitors go down with it.

I just don't know :)

Re: I Miss Rails

#60

There is a universe where there exists only 1 programming language and only a single web framework. That would be cool to experience.

There are many languages that work on both client and server. Most obviously JavaScript/Typescript, but also Scala and Clojure. If webassembly really takes off you can add Rust to this list.

I'm not sure how a combined framework for server and client side would work.

Post reply on HN