loading...

Discussion on: What I learned in 40 hours switching from Angular to React!

Collapse
thorstenhirsch profile image
Thorsten Hirsch

Thank you for writing this article, Hatem. I've always wondered what an experienced Angular developer thinks of React, because ...well, I also switched between these technologies - not once, but twice actually. My first contact was with React. I tried to introduce it in a RoR project using Coffeescript instead of JS. I've read that React was a library only, so I was pretty sure it was possible to integrate it in the V of my RoR project. But using Coffeescript in JSX files (being CSX?) did not work out well. The result was so-so. I was glad to abandon this patchy tech stack recently.

Some years after this React encounter I suddenly had to learn a bit of Angular 2.x in one of my projects. Though I was overwhelmed by JS I somehow felt Angular being a nice and complete framework. The same feeling I had many years ago, when I learned RoR. So with Angular I somehow felt "home". Sure, the learning curve was steep, especially all the ES2015/2016/... stuff, but in Angular I could just follow the documentation in order to know where to go.

Then I switched again to a real React project (with a new backend). Suddenly I felt lost. Even though I knew why e.g. react-router and axios were not part of React, I could not appreciate this freedom. Instead I wished I had a complete framework that gives me the complete technology stack for the frontend.

Yes, a library gives you more freedom than a framework. But it's a 2-sided medal with incompleteness on the other side. It took me quite some time to appreciate React after my encounter with Angular.

Collapse
antonrusak profile image
Anton Rusak

What made you finally appreciate the lib?

Collapse
thorstenhirsch profile image
Thorsten Hirsch

JSX. I think it's a brilliant concept to build HTML in JS with syntactic sugar that looks like HTML. It's so powerful and yet so simple compared to building HTML in HTML with a special templating language on top or additional HTML tags that you must learn specifically for your framework.