5 ms·
I started learning Ruby and Ruby on Rails in February, as a requirement of what would be my first job in industry (then COVID came and everyone got fired). I'm
by Pmop 6y ago
I started learning Ruby and Ruby on Rails in February, as a requirement of what would be my first job in industry (then COVID came and everyone got fired). I'm loving both so far, had previous experiences with Java/Spring and Python/Flask/Django, I like Ruby on Rails better. Convention over configuration. Mature and beautiful testing with RSpec. Beautiful Ruby syntax. Sane conventions. You can throw in Slim templating engine, which makes working with markup a delightful experience. Wonderful community, I could go on and on.
I hope that RoR stays strong amidst the current React/SPA framework/Node fad.
- nerdwaller 6y ago> I hope that RoR stays strong amidst the current React/SPA framework/Node fad. Fortunately, rails has solid support for API only rails apps. Jbuilder is pretty great. In my experience, there’s still nothing in the node ecosystem that rivals ActiveRecord’s maturity.
- skunkworker 6y agoI've left the jbuilder/rabl train a while ago for ActiveModelSerializers and more recently for Netflix's fast_jsonapi. I used to like the other more document-based approaches, but after awhile I got tired of having json rendering take longer than the SQL calls. Now I can get sub millisecond view rendering while still using ruby and rails. https://github.com/Netflix/fast_jsonapi https://github.com/Netflix/fast_jsonapi
- gmcabrita 6y agoFYI, folks have forked fast_jsonapi to https://github.com/fast-jsonapi/fast_jsonapi https://github.com/fast-jsonapi/fast_jsonapi as the Netflix repository has been mostly inactive recently.
- skunkworker 6y agoThanks for that updated link, I first saw it through the netflix repo but bundler on my project pulled from that more recent repo and I got the repos confused.
- nerdwaller 6y agoThis is really cool, thanks!
- lloeki 6y agoDon’t forget Grape and Sinatra. Plus Hanami 2.0 is around the corner and Hanami-API has fantastic performance on Falcon.
- vidugavia 6y agoHow is it "around the corner"? While having been enthusiastic about Hanami since Lotus times, I cannot help the feeling that it's more or less completely stalled at the moment. Sure, the non-functional alpha of Hanami 2.0 has been released some time ago, but nothing really happened since then (except from releasing hanami-api out of the blue). There is no timeline and Trello board seems to not be in line with state of PRs for Hanami 2.0.
- lloeki 6y agoI took the chance to chat to Luca Guidi at ParisRB 2020, where he did a talk about Hanami. Didn’t seem stalled to me, although I don’t expect 2.0 to be released « tomorrow ». This is not JS-land where frameworks pop up and die every day, which has a strange way of setting expectations...
- vidugavia 6y agoOk, that is good to know. However from my mere-user perspective it does not look so good. With Hanami 1.3 release it was announced that Hanami 1.x line won't get anything past bugfixes and security fixes, so it basically won't be developed. Instead, the work shifts to Hanami 2.0, which will include considerable number of completely breaking changes (such as different signature of actions call method). This goes on for almost 2 years now, with no clear timeline for 2.0 release. Is there a point in starting new project in Hanami 1.3 and having to completely rewrite it when 2.0 comes out? Probably not. Does it make sense to used very early-stage 2.0? Definitely not. So yeah, from my perspective the project is now in a problematic state.
- PikachuEXE 6y agoSince you mentioned JBuilder I recommend a faster JBuilder alternative: https://github.com/malomalo/turbostreamer https://github.com/malomalo/turbostreamer
- jlsync 6y agoSince you mention a faster JBuilder alternative, I enjoy using jb: https://github.com/amatsuda/jb https://github.com/amatsuda/jb
- winrid 6y agoI guess I'll just have to try it at some point. I love type safety though. How much more do you like it than Java/Spring?
- Pmop 6y agoA lot. For personal projects, I'm going with RoR (though I'll be giving a shot at Phoenix in the near future). Sometimes I also miss static type checking and many other things Java enforces, but I feel compensated when I don't have to compile/recompile when I change something small. JUnit is faster, but RSpec looks better (just have a look at it). About template engines, HTML/ERB is the default but you can use HAML, or even better, Slim. I don't think there's something similar to replace Thymeleaf with. About ORM, I have mixed feelings, Active Record feels too magic, but this magic enables you to easily integrate your models with the database and not worry much about it. Finally, securing Rails applications is pretty straightforward. Rails doesn't bring in by default something like Spring Security for authentication but the Devise gem is good enough in this regard. IMO, Bundler and Ruby Gems is better than Maven/Maven Central. Also, IMO, when comparing major dynamic and interpreted languages, Ruby has the best OO model, Python feels lacking in this regard. In general, IMO, RoR is about going fast while producing a good product in the end, and having enjoyable experience in the process. RoR is great for prototyping, but its good enough for a final product too. Java/Spring is rock-solid and time tested, feels better suited for really big projects with really big teams, as Java strictness and verbosity begins to help instead of eating productivity. For my average web development needs, RoR is better, at least for now.
- tomerbd 6y agoTake an average personal project you created how much time would it take you with Java/Spring Vs RoR taking into account you know both?
- The_rationalist 6y agofeel compensated when I don't have to compile/recompile when I change something small. This is the biggest argument I see. but RSpec looks better The modern stack would prescribe kotlin instead of java, as such you would benefit from Junit idiomatic Kotlin wrappers which use beautiful, declarative custom DSLs such as https://github.com/kotest/kotest/blob/master/doc/styles.md https://github.com/kotest/kotest/blob/master/doc/styles.md I wonder if RSpec looks better than that I must definitely take a look at active records Vs spring data + JPA/hibernate Ruby Gems is better than Maven/Maven Central. but is it better than gradle with groovy or kotlin scripts? I lack experience in alternatives but to me, spring has well thought abstractions and could be unmatched in that regard if we consider the compromise of simplicity / expressiveness and code reuse - decoupling Does the lack? of dependency injection in ROR is missing? I also think opinionately that Kotlin is the best/cleanest statically typed language out there. In addition to all of that, I strongly feel that the JVM libraries ecosystem is by order of magnitude the most complete / mature / well though / with the most human resources, ecosystem to exist. Even the js/ts platform which has more registered packages than maven central has I think packages of far lower engeenering quality. As an example, the apache foundation (valuated at 20 billions dollars[1]) is unmatched. [1] Iff I remember well
- naveen_ 6y agoCan you please share your experience/opinion on Django ?!
- The_rationalist 6y agoI'm interested in hearing more about a comparison with spring boot ergonomics. I'm professionally using spring boot + kotlin and would love to know in which aspects rivals frameworks can be better.