Why use ReactJS, Angular or Vue with Ruby on Rails?
It’s super mysterious to me why people choose to use ReactJS, Angular or Vue with Ruby on Rails and pay the price for low productivity. It’s like people are blind and pretend to know nothing about code. Or they go by Popularity Driven Development? That is, they choose stuff based on popularity without technical analysis.
Ruby programming language was created to be programmers best friend, and it is, until you reach say nears a million lines of code, at that stage OOP fails, you must switch to functional programming, but for medium-sized apps Ruby is best and Ruby o Rails tries to be Rubyish as much as possible.
Rails emphasizes readability and productivity. JavaScript is a natural eye soar, hard to read, hard to debug. Right from Rails 2 I think there is a way to reduce JS code in Rails. First it was RJS, then you sent request using jQuery and got JS payload back which replaced part of page, then now you have this wonderful HotWire which does the same thus minimizing JavaScript hell.
Throughout history Rails has provided better way to build webpages than any known JS framework. It’s a super mystery for me why anyone would choose a JS framework, increase code complexity, go for large team and ultimately be unproductive.
The reason why big tech created JS frameworks was because they have grown big and wants to manage front and back end teams separately. The front end guy might need to interact with designer, test UI in various devices, connect with the backend using API. The backend person designs API, checks the access capability of the user to a particular piece of data, and if some API is hit, triggers some business logic. Those two are different.
70% of the websites could just be static web pages. You don’t need a front end or backend frameworks for it, another 10% might need a simple scripting like PHP, another 18% might be okay with Rails, Laravel and so on, may be just 2% of the apps will be need to have separate front and back end teams, bureaucracy, planning, inefficiency and so on.
I have a feeling that Indian companies want to bill the client more by adding more people to app development citing complexity, architecture, planning, project management and blah blah, rather than having a lean team, finishing stuff up, and increasing per-capita developer revenue.
Come into the present Info Tech firms!!! Common, you are embarrassing me.