For those in the JVM world, is grails good to look into?
Absolutely! There's a big 4.0 release happening soon as well that includes micronaut integration. Furthermore, there are profiles you can start with today that let you create a react, angular, or vue SPA app powered by the grails back-end. Add the fact that it's a spring boot app as well and you get an incredible library of resources available to you. We've been running our app in production with relatively few devel…
> Absolutely! There's a big 4.0 release happening soon
Virtually no-one's updated from Grails version 2 to version 3, or released any plugins for version 3, so it's hard to believe anyone's interested in a 4.0 release.
Sorry, I guess on a second reading you were specifically talking about situations in which you want to do things async. In that case, I can see that everything being async from the start is preferred. I was talking about the general case of everything being async in JS. That's frequently touted as a benefit of JS, but it's utterly maddening to workaday web developers. You want your requests to be served async (which…
I'd assert that inside routes you actually don't want to be sync, yet async/await lets you write async code with the simplicity of writing sync code. Consider the simple example of just running two unrelated database/network queries at the same time which is basically a ubiquitous desire when writing a web service: const [user, stats] = await Promise.all([ db.getUser(42), cache.fetchStats() ]) And now consider a case…
99% of the endpoints I write are two steps: load some data from the database, then use that to render HTML, JSON, CSV, etc. I really do not want to encounter any of the myriad of bugs that asynchronous execution makes possible. And the best way for that to happen is if nothing is async.
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.
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.
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
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.
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…
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 :).
We need a framework that makes it easier to build server-rendered, multi-page web apps with Node. Preferably something "batteries included," with support for recent innovations in web tech.
I personally don't missed Rails mostly because boilerplate doesn't really bother me. I'm more afraid of using the wrong abstraction. Rails (v4 was my last experience) was hard for me and I think my reasoning is as follow: - I like to dig deep into the framework I work with but Rails have so much meta programming (a.k.a magic) that I struggle real hard figuring out stuff. You often have to go into runtime, hit method…
I agree with the magic complaint. As a newer dev, I don't like how difficult it is to reason about core rails features and added gems... inheritance from hidden classes, etc.
> 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.
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.
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.
Oddly I never considered starting a new project with it, but now I'm questioning why that is. I guess I just don't see many new projects started in Rails, and nowhere I've worked the past few years uses it. I stopped using it after Rails 3, but I'll give it a try again in the next side-project I work on and see how it goes.
Rails is used heavily even for new projects under the GOV.UK umbrella. The emphasis on accessibility and usability of government sites/applications weigh in favour of more-traditional stacks.
Also Bern.ch/be uses quite a few rails apps. (but also django and PHP)
First of all, you should use the right tool for the job. Having said that, Rails kept giving me the icky feeling. What you gain in speed of development, you lose in performance and server costs and all sorts of crazy gem meta-magic. My current middle-ground stack is Golang API (I use go-chi) + (LitElement front-end (web components) + Redux). I'm kinda happy, though my gripe is with Go sometimes, not the stack. To the…
I tend to describe my issues with Rails in a nutshell: it felt like everything was optimized for day 0 instead of day 30 or 300. Devise was the ultimate example of this. `rails generate devise:install`. Instant authentication system with almost zero changes to your code base. Yet now something as central and important as authentication is implemented outside of your application in some highly abstracted software. To…
Devise however is a good example how some parts of the rails ecosystem grow on complexity with your needs. I can start out with a bare devise system. But first you generate the views and handle them yourself and more often then not I end up overwriting some parts of devise controllers as well.
Sure it's kinda complex but their interface makes every form of extension rather easy.