5 ms·
Rails is great, and better than ever. I've spent most of my early years in the field working with Django and Laravel, then moved to frontend doing [all the usua
by 0xblinq 3y ago
Rails is great, and better than ever.
I've spent most of my early years in the field working with Django and Laravel, then moved to frontend doing [all the usual stuff we do nowadays] and this year I was assigned back to a Rails + Hotwire project.
I'm truly amazed how much simpler things are. I feel sad most of us have forgotten how easier things could be, and I'm terrified about new people joining this industry that will never know about how easier things could be because they'll never experience that (as things are right now, who knows the future...).
If you're reading this and never tried Rails, or discarded it because you listened somebody say the usual "PHP is ugly/Rails is dead/JavaScript is messy" give it a try with an open mind and ignore what others say for a moment. I can't recommend it enough.
It might not be the best tool if you have 1k engineers working on the same repository, but as a small team it has no competitors, it's just miles ahead everything else (well, honestly, maybe Laravel is as good).
- fredrikholm 3y agoI'd like to throw in Phoenix LiveView here. Rails wins every battle for initial development speed, as the conventions are so thorough and well thought out that nothing even remotely comes close. Laravel is creeping in, but it's not there yet IMO. LiveView however, scales better (in every sense of the word). It also comes with batteries included (auth, database access, jobs, mailer, complete testing kit etc), little-to-no-DIY-JS, and one of the finest VMs there is (BEAM). If nothing else, I'm happy that these projects all fight the "let's take a step back"-fight. At $DAYJOB I write React with Relay and the amount of hoops one needs to jump through is exhausting, even though I've been writing frontend JS for many years now and consider myself half decent in it.
- 12907835202 3y agoOther than learning for fun. Is there enough of a benefit to learning Elixir if you would already consider yourself an expert at PHP/Laravel and JS/Vue ? At a glance it's hard to see the value or believe that it has the same longevity or $$$ value.
- pantulis 3y agoElixir is like an alien shiny flying soucer. It can do all types of technical marvels with a simplicity that is not possible without disfiguring more traditional frameworks. So I'd say having a cursory glance at it is a must. In terms of $$$ value, it is extremely efficient --including all the "alien" stuff, and that's why it's so cool. An Elixir team will generally create things cheaper to build and operate. Now, the question is how many Elixir shops you are going to find a job with, but the answer to that depends on the type of career trajectory you are choosing. For example, Rails is not an industry standard by any means if you think in terms of classic IT consulting jobs but has a stronger dev mindshare in startups, so there you go.
- arrowsmith 3y agoIt's a tough market for Elixir devs at the moment - there seem to be a lot more people who want to work with Elixir than there are companies hiring for it. But on the flipside, that means if you're a company who wants to take a chance on Elixir, there are lots of available devs to hire! Personally, I'm comfortable betting my career on Elixir at the moment. It's too goddamn good to remain a niche language - I expect it to get a lot bigger in the years ahead as more companies and devs fall in love with it. It'll happen slowly, and it's never going to reach the level of saturation that that, say, Javascript has, but I think it has a bright future. Phoenix and LiveView are a joy to work with, much more so than any previous technology I've used. I haven't yet looked at any of the exciting new ML stuff that's happening in the Elixir world (Nx etc.) but hopefully they'll drive adoption too. I'm never going back to my old ways.
- julienmarie 3y agoThe craziest thing with Elixir is that you can do things all by yourself in the same time that would normally take a big team and consequent infrastructure to do.
- arrowsmith 3y agoAs someone who's spent the bulk of his career in Rails and then Phoenix, to me it's the other way around: everything else is just so goddamn slow and unproductive. Don't people realise that it doesn't have to be like this?
- adverbly 3y agoJust gave it a look. Dynamically typed. IMO if scalability is on the table, having types is a huge benefit. It saddens me that ruby, python, elixir, JS... many of the best and most productive backend frameworks have types as an afterthought only. Rust is cool, but it's also hard to write(did last year's AoC using it, and it was fast to run, slow to write). Anyone have any recommendations for me? Should I look at go/gin perhaps? No Java please - I need type inference because I'm a spoiled baby. Edit: anyone tried crystal? Looks promising, but doesn't seem popular...
- pier25 3y ago> Laravel is creeping in, but it's not there yet IMO. Could you elaborate on this?
- ornornor 3y agoI love rails. Hardly anyone is using it in my country, and the companies that do are looking for absolute wizards. Because I can’t find jobs using it, I do t get enough experience and lose out to said wizards (after the jobs stay open for 12+ months). Instead, I’m spewing yet more JS into the world because that’s where the demand is :/
- cpursley 3y agoWhat’s limiting you to taking jobs in just your country? I’ve got a gal working for me in Nepal out of all places. Previously had a guy in Jamaica.
- ornornor 3y agoI live in a very HCOL country, companies abroad can’t match local market pay.
- psychoslave 3y agoWhat is HCOL?
- ornornor 3y agoHigh cost of living
- tenderlove 3y agoThis is great to hear. <3
- tom_walters 3y agoInteresting to hear your comparison to Django and that you wouldn’t say they’re on par, at least for you, today. Any particular reasons for preferring Rails over Django?
- pmontra 3y agoI'm using both on two different customers. I have a preference for Rails. The project structure of a Rails project is fixed and it's easy to jump into somebody's else project. The structure of a Django project is potentially pure anarchy, good luck with that. That's mitigated by the lack of autoloading so you can learn the structure of the project by looking at the import statements at the top of the files. Unfortunately that means that you have to waste time by writing those imports. I hated that in Java even if the inevitable Java IDE added them for me. The ORMs are more or less equivalent. I have a dislike for having to actually type the default scope (not the Django term) in Django as in Model.objects.filter(...) when Rails lets me type Model.where(...) The real time waster is the templating language which in Rails is basically Ruby and in Django is not Python. It's something else much less powerful so you have to either prepare all the data in the controller (which is called a view in Django) exactly as they'll be displayed in the page, or write a templatetag and use it to transform the data inside the page. That loses an unbelievable amount of time. If I count the cumulative hours, days, weeks spent at writing templatetags instead of a couple of Python statements I don't know whether to thank Django developers for the easy money or to roll my eyes because that time is useless. To recap, Django wastes developer time. It's death by a thousand cuts. I'll never use it for one of my personal free time projects. Edit: don't be too smart in Rails, that is don't build too much magic and waste the time of the next developer into a quest for finding where something really happens. Write straightforward code and if some method name is created automatically, put a comment hinting at the source.
- luxcem 3y agoI've worked with both for years and one thing that always bother me is implicit over explicit in RoR. It can seems easy to write code and it's faster because of that, but reading code is harder, there is too much magic. Given that we spent more time reading code than writing code I prefer the python way.
- gardenhedge 3y agoWhat do you consider harder than rails? Something like Remix Run makes things very straightforward.
- 0xblinq 3y agoThose frameworks (Remix, Next, etc) give you like 5% of what you get with Rails or Laravel. There’s no point of comparison.
- gardenhedge 3y agoThere is a comparison though. So there's 95% of things for you to give an example from but your comment is missing any useful examples
- cookiengineer 3y agoA lot of rails devs I know have switched to ember.js [1], because it's also a framework based on conventions rather than having a million third-party plugins that break all the time. Architecture-wise I really like the ember-data approach because it allows a lot of automations when it comes to left join/right joins of datasets, with an integrated mockup server etc. But it's not as cool as the other ones I guess, because it just works too well enough!? [1] https://emberjs.com/ https://emberjs.com/
- tonyedgecombe 3y agoI thought Ember was a front end framework or am I missing something?
- cookiengineer 3y agoThe idea behind ember-data [2] is that the models and their relationships are defined on the frontend side, which implies that the models are the single source of truth for both the frontend and the backend, including the APIs themselves. Ember adheres to json api specification, but there is lots of adapters for other database query languageds and/or storage types [1] As I said in my previous post, it's a framework based on conventions, so it'd a batteries-included approach to both frontend and backend. [1] https://emberobserver.com/categories/ember-data-adapters https://emberobserver.com/categories/ember-data-adapters [2] https://guides.emberjs.com/release/models/ https://guides.emberjs.com/release/models/
- brightball 3y agoDid you ever try Jump Start Rails or Bullet Train? I’m thinking of building a side project with Rails and I’m wondering if they are worth it?
- frans 3y agoI am on JumpStartPro and quite happy about it. It has all the common gems already included and ready to configure. It also has a lot of excellent code that shows me how to do things.