News for hackers. Stuff that matters.
Re:I Miss Rails by BillFranklin on Thursday March 28, 2019 @07:31PM (#19517699)
> if the modern equivalent of Rails already exists, please let me know!

You're in luck. Rails 5.2.3 was released 20 hours ago.

More seriously, I feel rails is still excellent and I'm happy to work with it every day. I'd be interested to hear more about what makes rails not modern? I find it a very productive framework.

EDIT: If you're talking about missing a JS equivalent of rails, do you know about Loopback? https://loopback.io/

Re:I Miss Rails by 0xADEADBEE on Thursday March 28, 2019 @07:50PM (#19517808)
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 something done quickly.
Re:I Miss Rails by dbrgn on Thursday March 28, 2019 @08:02PM (#19517897)
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.

Re:I Miss Rails by 0xADEADBEE on Thursday March 28, 2019 @09:28PM (#19518372)
Fully agree with you - been in the JS world a lot lately and it's not as polished as the more 'traditional' web frameworks.

Channels was supposed to make core but never did - what happened there? That's what I was driving at really - if I were stewarding a modern web framework, I would be integrating websocket support. It never sat right with me that something as common as APIs is farmed out to a library in Django (this comes out of the box in Rails with no configuration) either.

I don't dislike Django, but I certainly find that there's a lot more messing around to get done things that I would consider pretty standard. I used the new Rails beta last week and I noticed that Webpack integration is now there - how long until we see something like that with Django?

Re:I Miss Rails by Spiritus on Friday March 29, 2019 @02:23AM (#19519563)
>Channels was supposed to make core but never did - what happened there?

https://www.djangoproject.com/weblog/2016/sep/09/channels-ad...

Re:I Miss Rails by nnain on Friday March 29, 2019 @02:58AM (#19519676)
Andrew Godwin (creator of django-channels) has recently handed over the repo to other maintainers and moved on to some role on adding `async` support to Django Core. (Channels was officially adopted by the Django project, but isn't part of the Django-core — you still have to add the package separately.)

This async support is hopefully coming within 2019. I'm super-excited about using it in future django projects.

Re:I Miss Rails by uranusjr on Friday March 29, 2019 @03:03AM (#19519709)
https://groups.google.com/forum/#!topic/django-developers/mL...

In short, the efforts are constantly undermanned, leading to developer burnout. Andrew had since came back to pushing things (ASGI 3.0 came out last week), but it seems like he intends to focus more on the big picture (standardise async web stuff in Python) than spending time on Django specifically.

Step up if you believe you have good visions on making Django a “modern web framework”.

Re:I Miss Rails by sjamaan on Friday March 29, 2019 @04:49AM (#19520060)
Django channels sounds like a great idea and I really like the conceptual step it made with ASGI, but in practice I found it to be riddled with problems.

For instance, the posix IPC implementation of ASGI is very buggy and "not officially supported". The other implementation uses Redis (so, yet another component to take care of) and is quite brittle as well. We've noticed severe slowdowns of downloading images when using the Daphne web server in development mode, many issues running out of memory, clogged queues and so on. This is also very difficult to debug, due to the many moving parts, and of course it only happens on production, so good luck trying to reproduce it locally.

For this project (which is still in production), we ended up falling back to a standard Gunicorn web server setup using traditional WSGI to handle regular HTTP traffic, and relying on channels only for websockets. For new projects, we've moved to a tiny standalone gevent-based websockets server (https://pypi.org/project/high-templar/) which we deploy next to a standard gunicorn stack. It is much simpler and much more stable. Unfortunately, it's something we've developed in-house, so if there are issues we have to fix them ourselves. There've been some problems with gevent which apparently have been fixed in the latest git repo, but there hasn't been a release since last year. So many issues....

Re:I Miss Rails by mbell on Thursday March 28, 2019 @08:11PM (#19517953)
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 by ksec on Sunday March 31, 2019 @06:48PM (#19538940)
And I have been wondering why it doesn't push the CSS to Webpack as well. There is no way in the foreseeable future that Rails could do without JS and hence Webpack is mandatory. We might as well push it as default or easily enabled / disabled via options.
Re:I Miss Rails by mbell on Sunday March 31, 2019 @08:59PM (#19539555)
It's clunky to build CSS 'packs' and it's unclear how to wire in asset helpers e.g. checksum'd file names for images. It's not insurmountable, but there is no obvious best path forward.
Re:I Miss Rails by 0xADEADBEE on Thursday March 28, 2019 @09:30PM (#19518378)
I saw this! It makes sense with the proliferation of front end view layers so I'm pleased that there's less work for me to do to integrate things like Vue and React. I was very late to the party with Rails but I do think it gets a lot of things right.
Re:I Miss Rails by digitaltrees on Friday March 29, 2019 @01:41PM (#19523856)
There may be packages in the community but the entire point of the article was highlighting the advantages of having framework level choices that 1. Are maintained by the framework team, 2. Establish patterns where the community can build other packages based on those assumptions. For example, now that yarn and webpack are standard in rails, we can build gems that can import and configure JS packages in a consistent and modern way, knowing exactly how most rails projects will manage JS. I have been frustrated that rails doesn’t have default admin, authentication, and authorization for this exact reason.
Re:I Miss Rails by tomschlick on Friday March 29, 2019 @02:27AM (#19519579)
On the php side of things, Laravel is doing very well and is very "rails-esque".
Re:I Miss Rails by joelbluminator on Friday March 29, 2019 @09:19AM (#19521378)
Heard of Laravel, it's a Rails fork right?
Re:I Miss Rails by tomschlick on Friday March 29, 2019 @09:31AM (#19521485)
Laravel is definitely Rails inspired, but also takes inspiration from a lot of other frameworks (CodeIgniter, Symfony, .NET, etc).
Re:I Miss Rails by joelbluminator on Friday March 29, 2019 @09:54AM (#19521686)
I was just teasing, Laravel looks solid. It's also comforting to know that if you move from Laravel world to Rails, a lot is familiar out of the box. It's good for us developers and good for the industry. Which I can't say about js stack/elixir/Golang/Spring etc etc.
Re:I Miss Rails by noir_lord on Friday March 29, 2019 @10:14AM (#19521852)
Laravel doesn't follow semantic versioning and more important they are sloppy about backwards compatible changes been documented anywhere.

Symfony 4 however is wonderful, they modularised everything, kept backwards compatibility, properly deprecate things and it's fast, like really fast.

Re:I Miss Rails by tomschlick on Monday April 01, 2019 @10:49AM (#19543797)
Laravel as of > 5.5 (5.8 is current) does not release breaking changes in point releases.

Yes they don't follow semver but a modified version of paradigm.major.minor

Re:I Miss Rails by pixelrevision on Friday March 29, 2019 @08:59AM (#19521196)
Interesting. I always found Django so much more productive than rails due to the auto admin panel being out of the box. If I’m starting something new than its nice to have a place for non devs to enter data immediately.

Both do quite a bit better for cleanliness and setup time than any of the other platforms I’ve used for web development.

Re:I Miss Rails by driverdan on Friday March 29, 2019 @10:03AM (#19521768)
You can easily generate scaffolds with rails that take the place of Django's admin.
Re:I Miss Rails by collyw on Friday March 29, 2019 @09:36AM (#19521523)
Its also a really good way to see that your data is working correctly.
Re:I Miss Rails by jrochkind1 on Thursday March 28, 2019 @11:05PM (#19518808)
I'm interested in hearing about applications successfully using ActionCable for what and how. It's unclear to me how much use it's getting, or how well it meets actual use cases.
Re:I Miss Rails by rohan404 on Thursday March 28, 2019 @11:15PM (#19518856)
ActionCable is super easy to use out of the box to get WebSockets running, but it's incredibly non-performant. Anything more than 100 concurrent users took the time taken to a send a message to the socket from milliseconds to seconds. Replacing it with the AnyCable gem in conjunction with AnyCable-Go got us to over 1000 concurrent users without a hitch.
Re:I Miss Rails by aantix on Friday March 29, 2019 @09:51AM (#19521658)
Is Redis the bottleneck?
Re:I Miss Rails by ksec on Sunday March 31, 2019 @06:49PM (#19538953)
Nope it was Ruby / Rails itself.
Re:I Miss Rails by aantix on Thursday April 04, 2019 @10:51AM (#19572979)
Was it an issue with Passenger and the number of concurrent connections it could hold?
Re:I Miss Rails by sickcodebruh on Friday March 29, 2019 @08:32AM (#19521031)
I just deployed ActionCable into production yesterday. I’ll be using it to share some information between our users’ mobile app and our web client.

I’m concerned about performance. As much as I know that premature optimization is the Devil, it’s hard to stomach deploying something that is so notorious for becoming a bottleneck. Once I get past my MVP of this feature and have some maintenance hours budgeted, I plan on exploring AnyCable.

Re:I Miss Rails by nnq on Friday March 29, 2019 @10:36AM (#19522027)
> nor is there trivial integration for JS assets/asset pipeline functionality

...WHY would anyone ever want that?! I thought that splitting an app into one frontend-app and one backend-app, each in its separate repository too and runable alone is the very minimum everyone does nowadays.

(Yeah, later you may go on and chop the backend into microservices, but for starters you at least keep these two sepratate - why would you want to impose knowledge of Python or Django as requirement for your frontend developers?! Even if you start with a couple full-stackers, you'll want to later be able to hire more narrow focused specialists.)

Re:I Miss Rails by collinmanderson on Friday March 29, 2019 @12:26PM (#19523065)
> as requirement for your frontend developers

It depends on how big your project is. If you only have one developer it's fine to have to it tightly integrated.

Re:I Miss Rails by debuggerpk on Thursday March 28, 2019 @07:56PM (#19517847)
for websockets, django has django-channels https://channels.readthedocs.io/en/latest/ . But I do agree, django has been a little late to this party.
Re:I Miss Rails by 0xADEADBEE on Thursday March 28, 2019 @09:22PM (#19518344)
What happened to bringing this into core? Last I was using Django that was the next big integration and it just sort of faded away.
Re:I Miss Rails by uranusjr on Thursday March 28, 2019 @11:26PM (#19518907)
Andrew Godwin (the main hand behind the push) burnt out and halted all development until he can find someone someone is willing to help.
Re:I Miss Rails by collinmanderson on Friday March 29, 2019 @12:31PM (#19523123)
There's a team of 3 now maintaining django-channels, including Carlton who is paid by donations to Django Software Foundation:

https://groups.google.com/d/msg/django-developers/mLlWYEC8_G...

Re:I Miss Rails by Spiritus on Friday March 29, 2019 @02:23AM (#19519565)
Re:I Miss Rails by lightedman on Friday March 29, 2019 @11:34AM (#19522545)
>Django seem to have given up on integrating websockets

Given the insecurity without huge token authorization, I'm not entirely surprised.

They can try again when they figure out encrypted and variable token creation.

Re:I Miss Rails by ileri62 on Friday March 29, 2019 @02:43AM (#19519627)
Serious question: Django doesn't even have lazy loading. Why do people use it? Am I missing something? No way I'd wait a few seconds to get something big from the db
Re:I Miss Rails by hombre_fatal on Friday March 29, 2019 @03:00AM (#19519692)
What are you referring to?

Lazy loading in Rails tends to refer to how Active Record waits until access time to send the query: https://rubyinrails.com/2014/01/08/what-is-lazy-loading-in-r...

It's still synchronous.

Re:I Miss Rails by sjamaan on Friday March 29, 2019 @04:57AM (#19520086)
Django has this type of lazy loading as well: https://docs.djangoproject.com/en/2.1/ref/models/querysets/#...
Re:I Miss Rails by collyw on Friday March 29, 2019 @09:37AM (#19521535)
Yes it does, the problem seems to be that no one bothers to learn how the ORM works.
Re:I Miss Rails by tomc1985 on Thursday March 28, 2019 @09:02PM (#19518231)
Rails is FANTASTIC!

I work on a hybrid React-on-Rails application and working on the React portions is so. fucking. painful. Seriously the shit people come up with with this "tool" makes corporate-hack Java programmers look good. I am always taking the backend Rails-y tickets if I have the chance

Re:I Miss Rails by strken on Thursday March 28, 2019 @09:59PM (#19518515)
Blaming complexity on React is a bit like blaming complexity on ERB. The problem isn't React, the problem is the massive hole where React doesn't have an opinion. React improves the area around the hole so much that the technologies we use to fill the void look obviously deficient in comparison.
Re:I Miss Rails by inapis on Thursday March 28, 2019 @10:23PM (#19518607)
This is actually the bane of JS community's existence. JS developed so fast and so wildly that there was never a breather to form and write down best practices or opinions. This is jarring to someone coming from the Rails world where a lot of magic is happening, there are strict opinions (heck, it's in the subtitle of the copy) and strict conventions to adhere too. JS is wild west compared to that.

This is not to say that JS is shit but both JS and Rails have their place. If you want flexibility, you need JS. If you want iteration speed and dev productivity you need Rails.

Re:I Miss Rails by hombre_fatal on Thursday March 28, 2019 @10:29PM (#19518632)
I don't understand. One is server application development, one is client development. They are two vastly different things.

From this hot take on JS, I'd think people are suggesting that the development experience of all the other available clients are a lot better, but then I became an Android and iOS developer and that's not true either.

Swift isn't bad, but the language isn't the only thing that dictates how hard client development is. I'd rather use React than UIKit abstractions, that's for sure. And CoreData is probably the worst and most outdated abstraction I've used across all platforms. And even if I think iOS development is the ideal way to write software... it only runs on iPhones and iPads.

I mean, of course the Rails side of your application is probably nicer than the client side where you get to stay in your simple request -> response realm that runs on the same machine. If given the option, I bet almost every HNer would rather be the person paid the same to build the API endpoints vs the crapshoot that is client and UI development.

But I see this perpetually confused as Javascript vs <my favorite language I use on the server>. For example, Ruby fares pretty poorly against Node if you forget the client, like Sinatra vs Express/Koa.

Re:I Miss Rails by inapis on Thursday March 28, 2019 @10:52PM (#19518752)
I think we're diverging. The mental model of a Rails developers is well formed and if you're a beginner then you can rely on a very strong community for opinions, best practices and conventions to follow. This greatly decreases cognitive load and immensely improves productivity.

When you make a jump to a JS stack (whether client side or server side) you have a lot of options but no best practices or conventions to follow. You have to make a lot of choices which have already been made for you in RoR. Even though SPA frontend dev has settled between React and Vue, you still have to make a lot of decisions. React also bills itself as a view library. You have to make decisions about state management (if needed), routing etc etc. A vast chunk of these decisions are made for you in RoR so that you just work on the app. I think this is what the author was lamenting about.

Re:I Miss Rails by pixelrevision on Friday March 29, 2019 @09:23AM (#19521403)
People REALLY underestimate how much those opinions help when it comes to software development. If you start a project or new feature and your team is going to have lots of opinions on how something should get done. It’s typically easier for people to ingest the idea that something is “best practices” than have to follow whatever someone in the room is saying.

If the platform is too unopinionated you will generally wind up with: 1) A project with many competing ideas (most js projects I see end up like this) Or 2) A team with some people feeling like they are not heard

Re:I Miss Rails by hombre_fatal on Friday March 29, 2019 @12:35AM (#19519185)
Ah, I see your point. I definitely was that beginner that was originally compelled by the ease of Rails. I would watch RailsCasts for fun and be amazed at how much you could do with so little. I thought it was the ultimate developer experience back then.

These days I prefer building something up from microframeworks and I like to take the opposite side of the trade-offs you mention in your comment. There are a lot of aspects of Rails I ended up really disliking over time.

But at the same time, I still find myself thinking back to some of the pleasantries that Rails gives you and wishing I had them in my bespoke applications. Even just things like being able to enumerate your routes from the CLI or seeing your SQL queries and query response time in the terminal during development. If it's something you have to implement yourself, you just tend to not do it at all. And there's a lot a framework can do for you with some opinionatedness.

I think the classic example of this realization is when you deep dive on microframeworks, accumulate them in production, and encounter things like performance issues but realize you don't even have the tools to debug them because you didn't build them.

Re:I Miss Rails by tomc1985 on Friday March 29, 2019 @12:22AM (#19519142)
Rails was somewhat unique at its birth with its opinionated-ness. Outside of that world, in "respectable" programming environments with smart people who were good at algorithms and O(n) notation and all that (which was not me) it was rare that I encountered the kind of insanity that I seem to run into daily with PHP and later JS.
Re:I Miss Rails by collyw on Friday March 29, 2019 @09:52AM (#19521668)
Agreed, though I use Django. Two Scoops in a great book for going from someone who knows how to use Django, to knowing how to use Djnago well.
Re:I Miss Rails by clairity on Friday March 29, 2019 @02:12AM (#19519534)
> “...JS developed so fast and so wildly that there was never a breather to form and write down best practices or opinions.”

js and ruby were released in 1995, with rails coming 10 years later. so js development wasn’t fast in the least. after the little ajax blip resulting from outlook web access’s release in 98, js stagnated until node came along and made it interesting again.

prototype/jquery a little before it and later front-end frameworks like backbone, ember and then angular helped cement js as a thing. it only seems fast and wild because the ecosystem really only woke up again in the 2010s.

(i tooled around with js on netscape right after it came out but then lost interest)

Re:I Miss Rails by rimliu on Friday March 29, 2019 @06:47AM (#19520494)
JS may be released in 1995 but it was not used much for anything except changing status bar messages, or image rollovers (remember those?) for at least ten years. Sure there also was Microsofts DHTML on IE, which failed to get much traction. Only starting with GMail and AJAX in 2004-2005 JS started to be treated seriously, it still took some years and SPA hype to become "a must". So about ten years max. Also Rails was constantly evolving since inception, alas, a lot of JS is revolving, i.e. solving the same problems over and over again, just with different approaches. The last point would be that people initially taking up Rails were not new to programming and usually switched from PHP or Java. Now Javascript is often the first (alas, often the only) language people learn. So I'd say the culture is quite different.
Re:I Miss Rails by clairity on Friday March 29, 2019 @11:59AM (#19522774)
yes, agreed, ruby is a much friendlier language to start with, but javascript is more accessible since everyone has a browser or three.

while gmail brought a nicer ui/ux, i still credit ms owa for showing the world what js could be when it grew up.

Re:I Miss Rails by tomaskafka on Friday March 29, 2019 @09:23AM (#19521400)
Well of course js development is slow - you can upgrade Rails v1 to differently opinionated Rails v2 on a server overnight. Try upgrading 8 billion people to a browser that supports eg. ES6.
Re:I Miss Rails by clairity on Friday March 29, 2019 @11:53AM (#19522721)
sure, but that wasn’t a problem 10 and 20 years ago when js development was even slower. the language just hasn’t evolved as much as others.
Re:I Miss Rails by tomc1985 on Friday March 29, 2019 @12:16AM (#19519122)
> This is not to say that JS is shit but both JS and Rails have their place. If you want flexibility, you need JS. If you want iteration speed and dev productivity you need Rails.

Not true at all. Rails can be extremely flexible; it's all modular and you can reduce it down to almost nothing if you want. Javascript's only place is to run in the browser; it lost its way once people decided to make a server platform out of it. JS is far too forgiving of mistakes to be running backend code, full stop. ES6 and up are vast improvements but the damage has already been done.

And in any case I have yet to work in an environment where I am not writing at least some ES5...

Re:I Miss Rails by tomc1985 on Friday March 29, 2019 @12:14AM (#19519109)
I'm not so sure about that... maybe I'm just old but React provides very little of anything compelling other than shadow DOM and databinding. It seems like every opinion it has outside of those two very narrow areas is INSANE
Re:I Miss Rails by peteforde on Friday March 29, 2019 @12:44AM (#19519214)
The funniest part about the enthusiasm for React masochism is that the best parts of the library are better accomplished with a combination of Turbolinks 5 and Stimulus. Not a coincidence that they're all Rails extractions.

For me, the more interesting question in all of this is where did this fervour for JS-and-the-way-down actually come from?

My hypothesis is that it's the natural result of a huge mess of new talent - fresh out of various overpriced Bootcamps and told that their 9-week educations give them a credible opinion in true post-modernist fashion - all being released on the world at the precise moment that a predictable police lineup of over-promised technologies were all at the top of their respective hype cycles.

Humans have a predictable tendency to assume that the thing they are thinking about at the moment is far more important than it actually is. If you have a very short institutional memory and everyone you know in your bubble has been programming for a relatively short period of time, pretty soon you can start to believe that if everyone is doing it, you couldn't all be wrong.

Re:I Miss Rails by hombre_fatal on Friday March 29, 2019 @03:21AM (#19519768)
What purpose does it serve to take such an uncharitable view on other people?

This community is full of experienced professionals who use Javascript even in the face of alternative options, and we belabor this topic every day.

So what excuse do you have for assuming and hypothesizing that everyone must be an unenlightened boot camp amateur when you could've turned to anyone and simply asked?

For example, to me, modern JS is not substantially worse than other dynamically typed languages. Give me Python and Ruby code and the Javascript version probably looks the exact same. Meanwhile, those languages don't have a 1:1 version of `results = await Promise.map(urls, (url) => crawl(url), { concurrency: 8 })`. And that's not to start a language war but rather to demonstrate a concise example of a technical strength, aka a purely technical ground that a craftsperson could reach for that tool.

But now fold in its advantages like ubiquity, async-everything, runs natively in the browser, and has a static-typing system that's actually catching on, and it should be pretty obvious why someone could pick it when given an option beyond "they don't know any better."

Also, there's the obvious trade-off of treating your server as the API for all of your clients and treating the web as just another client that runs on the user's device instead of essentially coupling it with the server.

But surely these things are obvious or easy to find out, so it's hard to assume good faith in your post.

Re:I Miss Rails by joelbluminator on Friday March 29, 2019 @09:36AM (#19521525)
why is async everything a strength? I find it an unnatural way to think about coding, just like threading. Sure if performance absolutely requires it I'll start using threading, but why do it by default? A strength, in my eyes, is simplicity. What's simpler than a code that runs sequentially?
Re:I Miss Rails by hombre_fatal on Friday March 29, 2019 @12:54PM (#19523372)
Node is single-threaded + async-everything which gives you simple concurrency with the async/await abstraction. It's these there things that come together to make building async apps simple. For example, I went out of my way to avoid Node before it had promises and async/await, and that seems to be the Javascript most HN users remember.

Concurrency in this situation almost becomes free at the expense of changing

    user = db.findUser(42)
to

    user = await db.findUser(42)
So when writing programs where you want more than one I/O thing to be happening at a time whether it's network requests or a bunch of concurrent workers, which is pretty much why you'd use Node, you get it trivially.

Even something like running parallel DB queries trivially inside an Express route:

    const [a, b] = Promise.all([db.findUser(42), db.somethingElse()])
Or starting one async early, waiting on another, and then ensuring that the first async thing is done later on:

    const a = runA() // returns a promise
    const b = await runB()
    return [a, await b]
And once again I think this is the a great example of a useful abstraction when writing anything with an I/O boundary:

    const results = await all(urls, url => crawler(url), { concurrency: 8 })
That code in Go would take me 40 lines and involve wait groups.

Compare that to Netty or trying to write async code in Rust where it's really easy to block the event loop because all libraries and stdlib are sync by default. So you're passing around a CPU pool to run sync code inside your async context. It's hard to look at that sort of code and understand its runtime behavior. Oops, you accidentally blocked. Oops, the pool gets saturated immediately and starts blocking. It's hard to straddle both worlds, and the code is constantly trying to "return to its sync default" so you have to be eternally vigilant. Sync isn't necessarily the default you want, either.

Of course, this comes with other expenses like needing to run one process per core and you can't do CPU-bound work in-process. But you may be used to that limitation using Ruby or Python for example.

I'm not trying to start a language war or tell you that you should drop what you're doing to use Node because it's The Best.

What I'm responding to is this idea that you couldn't possibly have a technical reason to use Node given a choice unless you're fresh out of a boot camp and know no better.

Re:I Miss Rails by peteforde on Friday March 29, 2019 @04:34PM (#19525394)
Node + Express is just fine for the same sorts of things that Sinatra is fine for. If you are more comfortable in JS than Ruby, please know that you have my full encouragement and support.

However, you are (perhaps unintentionally) twisting my words. I brought up bootcamps because I can demonstrate a strong causal association on a timeline.

The beef, such as it is, is with the 750k npm packages, the brutal moving target that is the packaging/transpiling/dependency hell/OCD bikeshedding that comes with a commitment to the JS ecosystem. And given that you used to be a Rails user, you know full well what giving up sane defaults in favour of the pursuit of pure compositional bliss looks like, but you're choosing to forget the trauma.

Meanwhile, there's an entire generation of new devs that have been told that Rails (or your favourite server side alternative) have been eclipsed by better thinking. I don't think I'm just an angry old man screaming at cars from my porch when I call bullshit.

Re:I Miss Rails by joelbluminator on Friday March 29, 2019 @03:42PM (#19524914)
Javascript is good for async code, still not sure why this is a great thing by default. It's nice when you want to write async code, do you always want to write async code? For most web apps I've seen you simply don't need to write them in such a way. Blocking IO will switch to a different thread in most ruby web servers anyway.
Re:I Miss Rails by goatlover on Friday March 29, 2019 @03:31AM (#19519803)
All that's nice at the language level in favor of JS, but it doesn't speak to the framework level of what all Rails offers compared to everything additional you need to add to React to be comparable. Same deal for some of the frameworks in PHP like Laravel or Drupal.
Re:I Miss Rails by hombre_fatal on Friday March 29, 2019 @03:42AM (#19519843)
Comparing React vs Rails is like comparing an iOS app to Rails. I don't really see the point since they are fundamentally different, and whether your application should run on the client or not is a bedrock decision long before you get to "React vs Rails". Rails isn't even an option in one of the branches of that decision.

I assume you meant to instead draw a distinction between a large framework like Rails and a tiny one like Sinatra. And I'd say that ranges from a matter of taste to the composition of your team more than anything else. Obviously there are upsides and downsides to any point you can mark on the continuum.

Re:I Miss Rails by goatlover on Friday March 29, 2019 @04:06AM (#19519920)
I meant that if the Ruby community had an inherent preference for Sinatra-like frameworks such that Rails had the same status as Meteor or Sails does these days, then you would get articles by developers saying how they miss Django when having to reimplement a bunch of stuff in Sinatra that you automatically get with Django.

But you're right that I made an invalid comparison to React. It's more the starting with Node and having to add a bunch of functionality that you would get out of the box in Rails, because a front-end framework like React is the preference, and lots of developers would rather write isomorphic apps/sites.

Re:I Miss Rails by peteforde on Friday March 29, 2019 @04:12PM (#19525199)
It's difficult to convey context or background in these conversations, and they quickly become circular based on each participant's favourite default assumptions. For example, you're clearly excited about asynchronous, Promise-driven code patterns. I am preoccupied with developer happiness and ergonomics that come primarily as a result of opinionated defaults and a relatively stable ecosystem + build process. The simple truth is that if I needed results = async map -> crawl() in rb, I would call a service written in Go or Rust... but also, the number of times where I need to green-field a web crawler is dwarfed 250-1 by building the sexiest, snappiest CRUD UIs possible.

Meanwhile, there was once upon a time a perceived crisis of junior talent which led to the creation of the first code bootcamps, all of which were taught Rails, jQuery and Sass. I'm not trying to be shitty, classist or ageist in suggesting that the bootcamp phenomena suddenly started emitting a large number of blank-slate new devs that would understandably treat every exciting idea as the most incredible thing since <insert your fav noun>. After all, if you have few previous experiences, what can you compare against?

Previous generations of devs learned predominantly through either auto-didactic persistence or academic lectures; this new crop was suddenly predominantly learning from (and influencing) each other.

I recently read an excellent book called The Death of Truth, which technically has nothing to do with programming... except that in this conversation, it's totally about programming. If every coder's ideas are treated as equally valid truths even though there exists a massive gulf between their relative experiences, then we're confusing feelings with good engineering.

Re:I Miss Rails by tomc1985 on Friday March 29, 2019 @01:04AM (#19519280)
I think it's that, and the general accessibility of Javascript. Before this JS craze you saw the same shit with PHP and Visual Basic, though for the most part people weren't trying to build and rebuild the same platforms nearly as much as now
Re:I Miss Rails by peteforde on Friday March 29, 2019 @01:45AM (#19519441)
I know that it's 2008 calling, but seriously: when did Heroku, Github and the bundler/gem ecosystem stop qualifying as accessible? Deploying an MVP Rails app with sophisticated functionality is so effective that it still qualifies as erotic.

For me, the most compelling example of progress coming from the JS camp was my shallow investigation of the Expo platform for React Native. It has some genuinely sexy developer ergonomics features which I'd love to see make their way back into Rails.

Re:I Miss Rails by tim333 on Friday March 29, 2019 @08:44AM (#19521102)
I've been trying to learn some Rails and it's not that simple. People tend to say just read Hartl which is 804 pages according to Amazon. It may seem simple once you are familiar with a few dozen gems, action this, active that but there are a lot of bits to learn about.
Re:I Miss Rails by peteforde on Friday March 29, 2019 @03:49PM (#19524982)
I'd like to formally extend an open offer to help you or anyone else reading this to contact me for help if you're stuck learning Rails. Just reply with an email or some other mechanism and I'll follow up. If you have questions about best practices or you're just stuck on something, hit me up.

Hartl is great, has his/its place etc. Sometimes you just need a smart person with experience to add personal context. Happy to be of service.

Re:I Miss Rails by aboutruby on Friday March 29, 2019 @03:53PM (#19525019)
Hi, if you are interested in helping people with their ruby/rails issues, there is also reddit / ruby discord / rails slack / and stack overflow. I'm trying to be active on Reddit and the Discord but not very active on slack/stack overflow. There are already quite a few people helping but more people would help :).
Re:I Miss Rails by tim333 on Saturday March 30, 2019 @08:34AM (#19529090)
Ta.
Re:I Miss Rails by joelbluminator on Friday March 29, 2019 @09:38AM (#19521545)
True, any 15 year old framework will have bloat. But Rails is absolutely skinny compared to Spring, ASP and fellows. Its probably easier than a MEAN stack also.
Re:I Miss Rails by digitaltrees on Friday March 29, 2019 @01:54PM (#19523973)
That book is long, not because rails is bloated, but because there are very in depth sections building things from scratch like authentication that in practice are solved by gems. They are important for beginners to learn but are rarely reimplement from scratch in rails projects.
Re:I Miss Rails by strken on Friday March 29, 2019 @12:55AM (#19519249)
I think the React props+context API for nested components, plus state management for updates, is better than partials in Rails.

It's not perfect by any means, but I think it shows the shape of things to come.

Re:I Miss Rails by andrethegiant on Friday March 29, 2019 @10:31AM (#19521992)
I think you mean virtual DOM -- shadow DOM is a subtree of the DOM supplied by browsers (like the handle of a range slider).
Re:I Miss Rails by mooreds on Thursday March 28, 2019 @10:05PM (#19518540)
Have you used Vue? From reading it appears Vue has an opinion many places where react does not, but I have built nothing serious in either.
Re:I Miss Rails by thoman23 on Friday March 29, 2019 @05:16AM (#19520151)
As does Angular. That’s kind of its thing...full, opinionated framework.
Re:I Miss Rails by continuational on Friday March 29, 2019 @01:58AM (#19519484)
Not quite true - React confuses inputs with outputs by taking in callbacks as props instead of just emitting events. This makes shouldComponentUpdate very error prone, and memoizing callbacks to work around it is a mess. This is a large contributor to complexity and bugs in React apps.
Re:I Miss Rails by wwweston on Friday March 29, 2019 @02:00AM (#19519490)
That's a great observation -- one that's true of, say, jQuery too, which handled the problems of cross browser compatibility, over-verbose interfaces, and DOM manipulation so well that... we got to really take a hard look at the problem of doing everything we wanted by direct DOM manipulation.
Re:I Miss Rails by fny on Thursday March 28, 2019 @10:21PM (#19518600)
Honestly, I just wish Rails had some degree of static typing (a la TypeScript.) As a Rails code base grows and patterns are required beyond the basics, it becomes a nightmare to tell what comes from where. You'd probably gain some mileage from that in your React codebase.
Re:I Miss Rails by ethagnawl on Friday March 29, 2019 @12:22AM (#19519140)
I've been meaning to revisit Kotlin's web framework offerings. I've used it in small doses for Android and AWS Lambda functions and, IMO, it seems to potentially be the best of both worlds; strict where it needs to be and flexible where it doesn't. I'm currently supporting a few Python Lambda functions at work and they feel very slapdash in comparison.
Re:I Miss Rails by jrs95 on Friday March 29, 2019 @12:32AM (#19519171)
The biggest problem with Kotlin is also it's biggest strength: excellent interop with Java. This means that you can use all of the Java libraries...but that also makes writing new libraries in idiomatic Kotlin unnecessary, so you're going to get less of them, and have to use a lot of crummy old Java APIs.
Re:I Miss Rails by vbsteven on Friday March 29, 2019 @03:04AM (#19519714)
Try Kotlin with the Spring Boot framework. I view Spring Boot as the Rails of the Java world and the Spring team has done a lot of work lately on Kotlin compatibility and idiomatic APIs.

This week I’ve been porting one of my Spring Boot apps to Kotlin and that was a great experience.

The only thing I’m waiting for is good reactive drivers for Postgres and then you can go with their new reactor based apis instead of the older one-thread per request Spring MVC.

Re:I Miss Rails by m23khan on Friday March 29, 2019 @09:47AM (#19521617)
+1 - Kotlin/Java with Spring is a totally different beast as compared to java apps of yester years.
Re:I Miss Rails by ethagnawl on Friday March 29, 2019 @10:33AM (#19522006)
This is a good point. I haven't used Spring in forever, so I don't know if/how it takes advantage of any modern Java features, but I could see Java 8/9/10 and (a framework like) Spring being pleasant and productive.
Re:I Miss Rails by vbsteven on Friday March 29, 2019 @11:39AM (#19522582)
The Spring and Spring Boot teams have done a lot of work on this. IIRC Spring Boot 2.1 is compatible up until Java 11, and Java 12 support should be in 2.2.

Some API's are adapted to take advantage of modern Java features like for example JPA repositories that can return Optional<T> for single row queries and Stream<T> for multi row queries. Some API's have been improved with functional equivalents.

If you combine this with Kotlin you get all the power of the Spring framework together with excellent nullability checks and modern language features that Kotlin brings to the table.

Re:I Miss Rails by ganonm on Friday March 29, 2019 @06:41AM (#19520464)
Kotlin + Dropwizard is a great choice (or Spring Boot). I've used it in production and it's got the best aspects of Rails (opinionated) with the best aspects of a modern, statically typed language running on the JVM (need I say more?).
Re:I Miss Rails by hombre_fatal on Thursday March 28, 2019 @10:27PM (#19518622)
Static-typing seems so at odds with Ruby/Rails that I can't even imagine what that would look like.
Re:I Miss Rails by gurkendoktor on Thursday March 28, 2019 @10:56PM (#19518769)
I'm waiting for a chance to try out Crystal/Amber, which is type-checked (not sure how safe?) and can be pre-compiled like Go apps. It looks really close to Rails:

https://github.com/ChangJoo-Park/amber-realworld-example-app...

(I couldn't find any code snippets on the official Amber framework page, I hope this is representative.)

Re:I Miss Rails by realusername on Friday March 29, 2019 @01:30AM (#19519387)
Crystal/Amber combination is such a joy to work with, it's too bad it's not more popular, I'm contributing a bit to the project sometimes and use it for personal stuff. I regret it's not that trendy because it's the best web experience I ever had.
Re:I Miss Rails by Willamin on Thursday March 28, 2019 @11:10PM (#19518834)
Crystal is definitely type safe, I’d recommend taking a look at the Lucky web framework also written in Crystal.
Re:I Miss Rails by ethagnawl on Friday March 29, 2019 @12:18AM (#19519126)
Kemal is great, too. Though, IIRC, it's more akin to Sinatra.
Re:I Miss Rails by pwim on Thursday March 28, 2019 @10:35PM (#19518664)
Stripe has built a type checker for Ruby that they're using internally. I don't think it has been released yet, but you can get a preview of it at https://sorbet.run/.
Re:I Miss Rails by pmontra on Friday March 29, 2019 @02:03AM (#19519502)
So it's something along the lines of Erlang / Elixir dialyzer. I don't like it much (dialyzer) because of the verbosity and unDRYness. Every function definition becomes two lines and the name of the function is repeated in both. Type names are longer than they should and are separated from argument names.

We had a discussion about Ruby's type annotations 4 years ago at https://news.ycombinator.com/item?id=9481186

I found it by googling the status of the work on Ruby 3 type annotations. The top comment is mine and I still agree with the past myself.

Re:I Miss Rails by ehsanu1 on Thursday March 28, 2019 @10:32PM (#19518645)
It would ideally look pretty similar to typescript. There's actually a few projects adding typing to ruby, but they seem to be mostly trying to catch issues at runtime, which to me is pointless. Or the syntax is onerous, using decorators and/or separate type definitons.

I'd be really interested in a typescript like superset of ruby, and I've even thought about building a prototype of it, though it's quite outside my area of expertise.

Re:I Miss Rails by hombre_fatal on Thursday March 28, 2019 @10:42PM (#19518701)
I don't mean the syntax, I mean the abuse (ostensibly a language feature) of method_missing that's incumbent in the ecosystem. What would be the type signature of Active Record?
Re:I Miss Rails by favorited on Thursday March 28, 2019 @11:36PM (#19518967)
Aren't your ActiveRecord models basically the only place in a Rails app where you do specify the types of your properties?
Re:I Miss Rails by hombre_fatal on Friday March 29, 2019 @12:17AM (#19519124)
I'm referring to things like dynamic find_by_* messages since more people might be familiar with that.

But I don't know why you'd say that. ActiveRecord models are one of the main places you'll see a bunch of `use SomeGem::Thing` that introduce a bunch of magic methods on model instances.

And my point is that we aren't talking about method composition here that you can statically analyze with a bolted-on type system. Ruby's metaprogramming runs so deep that it's a substantially bigger challenge than other dynamically-typed languages.

One clue is that humans even have a hard time with it. The first shock that people have with Ruby is when you see a method or identifier and grep shows up with zero results.

Aside, I can kinda tell that Ruby is entering Perl territory when there are no beginners around to chime in with their gripes.

Re:I Miss Rails by asark on Friday March 29, 2019 @11:20AM (#19522430)
The magic stuff's awful. Any time you have to dig into a mothballed Rails codebase from a version either older or newer than what you're used to, or with a bunch of Railsy magic gems that aren't in your usual toolkit, it's hell. I'd rather let the computer tell me what stuff is and where it's defined than memorize a bunch of magic prefixes.
Re:I Miss Rails by favorited on Friday March 29, 2019 @12:37AM (#19519192)
I only say that because it seems like low-hanging fruit. If I have a class with a random @ivar that's added inside a random method, there's nothing up-front to check against. An ActiveRecord subclass at least has a database schema to validate against.
Re:I Miss Rails by digitaltrees on Friday March 29, 2019 @03:27PM (#19524758)
I am a beginner. I don’t know enough to gripe, I bet that’s a common feeling among beginners.
Re:I Miss Rails by tomc1985 on Friday March 29, 2019 @12:26AM (#19519153)
Have you tried elixir?
Re:I Miss Rails by benbristow on Saturday March 30, 2019 @06:52AM (#19528804)
That's more a Ruby issue than a Rails issue.

https://sorbet.run/

Stripe have been working on a type-checker. No idea when they're going to release it to the public though.

Re:I Miss Rails by jaxn on Friday March 29, 2019 @01:15AM (#19519322)
We are doing Rails/Vue. Both sides are pleasant to work with. I prefer working with Vue, but don't see any reason to remove Rails from the backend.

(but yeah, ActionCable was a no-go. We use Pusher instead)

Re:I Miss Rails by acmecorps on Thursday March 28, 2019 @09:07PM (#19518272)
I truly agree with you. I absolutely love Rails and what it has to offer, ever since working with it since Rails 2+. Truly one of the best bet I've ever made!
Re:I Miss Rails by jho406 on Friday March 29, 2019 @12:51AM (#19519233)
Try this out: https://github.com/jho406/Breezy, its a library i wrote that makes working with the React/Redux portion feel like a classic Rails app. Its inspired by turbolinks and doesn't require APIs to work.
Re:I Miss Rails by 0XAFFE on Friday March 29, 2019 @03:17AM (#19519754)
> If you're talking about missing a JS equivalent of rails, do you know about Loopback?

I would not go down that route, because at least Loopback 3 looks promising at first, but after a while it does not scale dx-wise. The biggest trap my team fell into, was that you could „include“ related models in a request, that you did not have permissions to. Media management was also very poor and did not integrate well into the whole eco system.

We are now using TypeORM[1] and routing-controllers[2] which has been very nice so far. I have been building my own framework at work on top of these and it safed us a good chunk of time. If you want to have a look, go to my profile, I have put a link there.

[1] https://typeorm.io [2] https://github.com/typestack/routing-controllers

Re:I Miss Rails by minitech on Thursday March 28, 2019 @08:02PM (#19517893)
LoopBack 3 was terrible - complicated, added no value, encouraged creating vulnerabilities, had lots of obvious vulnerabilities in official components. LoopBack 4 looks pretty different, but I wouldn’t trust it to be good unless the entire team and philosophy behind it has been replaced.
Re:I Miss Rails by andrewferk on Thursday March 28, 2019 @08:51PM (#19518162)
I've been using LoopBack 3 in production for 18 months.

> added no value

It gives you an API explorer, routing, ORM, validation, error normalization, authentication, authorization via ACL, and more out-of-the-box. I'd consider this value.

> had lots of obvious vulnerabilities

I'd like to know more about this. The only thing I can think of is bypassing ACLs via fetching records and including relationships. I don't know of any framework or combination of libraries that doesn't have this vulnerability.

> LoopBack 3 was terrible - complicated

This is probably true. LoopBack 3 essentially uses a single model to represent your API and data model. This is the single responsibility principle taken to the extreme opposite. It's a complete nightmare at times. If you have an exact one-to-one mapping of your API to database, this may not be a problem.

> unless the entire team and philosophy behind it has been replaced

Loopback 4 seems to be the same team, but I believe they have learned a lesson on coupling. https://loopback.io/doc/en/lb4/Crafting-LoopBack-4.html

> Models are overloaded with multiple responsibilities, such as data representation, persistence, and mapping to REST.

They have a way to go to reach feature parity with LB3: https://github.com/strongloop/loopback-next/issues/1920.

BTW, I also miss Rails.

Re:I Miss Rails by everdev on Thursday March 28, 2019 @10:10PM (#19518560)
Or try Kemal with Crystal. Kemal is very Sinatra like. And Crystal is very Ruby like but it's compiled so it's much faster.

http://kemalcr.com

Re:I Miss Rails by morenoh149 on Friday March 29, 2019 @12:01AM (#19519064)
Have you heard of FeathersJS? It is more akin to rails, supports many databases (neo4j, postgres, mssql, etc), runs on plain node.js, offers soa lifecycle hooks like rails, websocket/realtime support ootb and graphql via third party libs. https://feathersjs.com/
Re:I Miss Rails by wwweston on Friday March 29, 2019 @02:04AM (#19519509)
Let's say the last time I really worked on anything Rails related was 2011-ish, and while I got stuff done OK, I never really particularly fell in love with it (and in fact was often annoyed that most projects I worked on seemed to start with a week of hacking through environment and gem snarls).

Where would people recommend I read about (a) getting up and running with rails 5 and (b) appreciating what's new and improved in the last 8 years?

Re:I Miss Rails by jaredcwhite on Friday March 29, 2019 @03:02AM (#19519701)
I use RVM and create .ruby-version files for every single project I touch. Occasionally I'll let more than one project share a Ruby version/Gemset combo, but often I'll make sure each is unique.

No need to "bundle exec" anymore, because simply cd'ing in and out of project folders resets your gems to a clean list only required by that app. It's great. The years come and go and I still hear people complaining about Ruby version and gem hell and I wonder why the heck they aren't using RVM!

Re:I Miss Rails by joelbluminator on Friday March 29, 2019 @09:52AM (#19521663)
A lot of things improved but a lot of things stayed the same. Rails is like oysters - not for everone...
Re:I Miss Rails by rmason on Friday March 29, 2019 @12:14AM (#19519113)
Try looking into Nuxt which is built on Vue. Docs could be better but once you figure out a few things I found that you can be highly productive. But it's strictly a front end tool. Some guys use Laravel on the Backend but I'm partial to Taffy.

https://nuxtjs.org/

https://laravel.com/

http://taffy.io/

Re:I Miss Rails by hezag on Thursday March 28, 2019 @08:22PM (#19518004)
Sails.js [1] is a good JS equivalent of rails.

https://sailsjs.com/

Re:I Miss Rails by anm89 on Thursday March 28, 2019 @09:15PM (#19518303)
I worked extensively with sails.js about three years ago and it was an unmitigated disaster. The ORM has about 1/8th of Rails' functionality and queries that would be trivial with Active Record were a nightmare. On top of that the community was a mess and around the end of that time, a lot of the core maintainers dropped out because there was so much in fighting.

Unless there have been some major changes I highly advise staying away from sails.js.

Re:I Miss Rails by connor4312 on Thursday March 28, 2019 @09:21PM (#19518332)
It's been about four years since we touched it. When we used Waterline (the Sails ORM), we discovered two distinct SQL injection vulnerabilities in it, without intentionally looking. I would link the related issues, but they seem to have disabled Github issues in the waterline repository[1]. That--and lots more--scared us away. We switched happily to Hapi[2] with about a week of work and never looked back.

1. https://github.com/balderdashy/waterline

2. https://hapijs.com/

Re:I Miss Rails by hezag on Friday March 29, 2019 @10:47AM (#19522133)
The major stable version came with a lot of improvements. I'm not saying sails.js is the best option for a big project, but is pretty decent for prototypes and fast development.

Related: https://dev.to/imthedeveloper/comment/2615

Re:I Miss Rails by pault on Friday March 29, 2019 @12:00AM (#19519063)
That was the promise. The reality is sails never really took off, fighting within the core team derailed development and fractured the community, and its opinions are so poorly documented that you basically have to learn it from reading the source. The founder will occasionally chime in and say that it's still alive, and his company has great success using it, but unless you are one of the core maintainers I doubt you will have a similar experience. There are very few people that have used sails in production that would recommend it. The author is undoubtedly a brilliant developer and light years beyond my own skill, but that does not matter when the community is tiny and bugs never get fixed.
Re:I Miss Rails by duncan-donuts on Thursday March 28, 2019 @10:26PM (#19518617)
I haven’t used sails in production, but I have tried in on a side project and it definitely was a disaster. We just started using Nest at work, which is a TypeScript framework that feels sort of like spring. It’s been nothing short of great, and typeorm is BY FAR the best orm in the node ecosystem.
Re:I Miss Rails by b212 on Thursday March 28, 2019 @08:29PM (#19518042)
Did you try it or maybe even use it? I tried Sails a year ago but the learning curve felt really steep and it wasn't super popular at that time :(
Re:I Miss Rails by hezag on Friday March 29, 2019 @10:37AM (#19522040)
I used it in production for 2 years w/ MongoDB and it worked fine for fast development. At the time the main knowledge resource was the Manning book "Sails.js in Action".
Re:I Miss Rails by parthdesai on Thursday March 28, 2019 @08:19PM (#19517987)
Speaking of JS, do you guys have a suggestion for good SQL querybuilder and maybe a migration tool for Node? I prefer to do everything else by hand or use smaller libraries.

Not that i don't know how to write SQL queries by hand, it's just raw SQL queries with conditions is just ugly.

Re:I Miss Rails by honopu on Thursday March 28, 2019 @09:05PM (#19518254)
Knex is really nice. I use objection which extends it for orm stuff. The insert graph features are pretty neat. I definitely don’t use all it has to offer.
Re:I Miss Rails by Lasokki on Thursday March 28, 2019 @08:22PM (#19518003)
I've been satisfied with Knex.js. It handles query building, transactions, connection pooling and migrations

https://knexjs.org/

Re:I Miss Rails by davedx on Friday March 29, 2019 @09:43AM (#19521589)
I'm using sequelize with an SQL Server database, it's decent so far. I do migrations by hand with a custom __migrations table.
Re:I Miss Rails by tobyhinloopen on Friday March 29, 2019 @04:22AM (#19519974)
I really like TypeORM (for Typescript projects) & Knex (for non-TS projects)
Re:I Miss Rails by coldtea on Friday March 29, 2019 @07:06AM (#19520577)
>More seriously, I feel rails is still excellent and I'm happy to work with it every day. I'd be interested to hear more about what makes rails not modern?

The whole thing he explains in the post: he wants an all-rounder like Rails but which covers the SPA/JS side.

Re:I Miss Rails by ericb on Friday March 29, 2019 @07:12AM (#19520600)
I think many of us have realized that the SPA, which introduces an entire second application into your stack, isn't that cost effective. I'm more interested in turbolinks and if absolutely necessary, maybe something like http://instantclick.io to get an 80/20 payoff.

For folks here doing startups, imagine the speed boost of maintaining one less entire application than your competitors.

Re:I Miss Rails by herbst on Saturday March 30, 2019 @02:04PM (#19530804)
Turbolinks and some dirty jquery here and there is all I really ever needed.

Everything more than that just feels to much like having multiple code bases.

Re:I Miss Rails by wzy on Thursday March 28, 2019 @09:25PM (#19518357)
Have you heard of AdonisJS? It is more akin Rails/Laravel than anything else before it. https://adonisjs.com/
Re:I Miss Rails by danmaz74 on Friday March 29, 2019 @09:44AM (#19521592)
I love Rails. I also like React. What I really miss is an easy way to connect the two - a Gem or a generator that connects models on Rails, through REST API endpoints, to a front-end state management library (Redux or MobX).

But I suppose that DHH got burned with Prototype and then CoffeeScript and wouldn't endorse something like this.

Re:I Miss Rails by barce on Thursday March 28, 2019 @09:19PM (#19518328)
I think what the OP meant by 'modern,' was an equivalent of Rails that uses the technologies demanded by the tech industry today. On the one hand, the industry went to Python because a ton of data science libraries were written in that. On the other hand, React ended up real dominant on the front-end because of all the sh*t code people put between HTML JavaScript tags. Another route, is any promising asynchronous and scalability like Node or Elixir. So these divergent vectors make something like a Rails that can serve the needs of big data, snappy UI and scaling while at the same time using the team we've got super difficult. The needs of the industry have created an oblivion of the solution that was always already there, Rails.
Re:I Miss Rails by Barrin92 on Thursday March 28, 2019 @09:26PM (#19518364)
>demanded by the tech industry today.

That attitude needs to get out of everyone's head. You are the tech industry. If you want to build something in Rails, a mature and capable framework that has tons of support and won't go away, just do it. Who's going to stop you? Applies to any other technology that's stable as well.

Re:I Miss Rails by lainga on Thursday March 28, 2019 @09:36PM (#19518409)
The Whims of a Fickle Manager.
Re:I Miss Rails by vturner on Friday March 29, 2019 @01:24AM (#19519362)
The trouble is "we," the developers aren't the tech industry making the decisions. The managers, who once were full time developers, are making the decisions. I can say hey let's use this stable, mature tool, but which catches enthusiasm more? That or the guy drooling over React and all the complex mystery JS libs saying it's the best thing ever?
Re:I Miss Rails by nikanj on Friday March 29, 2019 @06:41AM (#19520466)
And/or the poor PHB falls prey to the sales pitch of "if you rewrite it in fad.js, you'll save tons of money".
Re:I Miss Rails by craz8 on Thursday March 28, 2019 @09:48PM (#19518466)
Yup - unless The Tech Industry is going to come in and rewrite all our code into Flavor Of The Month (and do that every 3 months forever) I don’t really care what they “demand” - I’m too busy providing value for my customers to be shaving that yak
Re:I Miss Rails by danjac on Friday March 29, 2019 @03:10AM (#19519736)
> these divergent vectors make something like a Rails that can serve the needs of big data

So, Python has the ton of data science libraries, and it also happens to have Django...

Re:I Miss Rails by ronnier on Thursday March 28, 2019 @09:23PM (#19518348)
And now I’m seeing more when more migrate to Go.