I am a web developer who started learning Angular, but unfortunately the library was upgraded to Angular 2, which seems like a whole new library all together, for which I have to learn Typescript and know some few things in addition.
Should I move to ReactJS or look forward to learn Angular 2?
First, there is no right and wrong answer here, both are good. It depends on what you personally prefer. That said, I did exactly the same thing and moved to React. My reason was typescript. I wanted to learn basic Javascript well (and es6 was big step ahead) and not some abstraction of it, so Angular was out. In general, when I talk to some C# or Java developers, they prefer typescript (thus also Angular) mostly because of types. So, I dont see anything wrong with either choice, it depends on your preferences.
I had the same dilemma one year ago when Angular 2 was in RC for such a long period and i went with ReactJS. Before this switch Angular 1.x was my go-to tool for almost 4 years. To be honest i played a little with Angular 2 and i could bind the pieces quite fast because of my previous experience but i found myself struggling with TypeScript most of the time instead of Angular 2 itself.
Today with ReactJS i can use TypeScript or just Babel or Flow for typechecking or stick to its native PropTypes system for sth simpler or even skip all these in order to build sth really fast. I like this freedom and all this power in my hands.
ReactJS is much much easier since it is just the view layer. Its learning curve is really short and you can build a prototype in a matter of hours even if you are a fresher. If you need to implement more advanced stuff like sending asynchronous requests you can use the 3rd party tool you prefer like axios, fetch, superagent or whatever. As i said above, i like this kind of flexibility a lot.
I have used also Polymer for 6 months and i can tell that ReactJS is much closer to the Web Components concept despite the fact that it doesn't use Web Components technologies such as Shadow DOM etc With ReactJS we can build easily abstracted components with specific markup, logic and styling and reuse them at will.
The more you use ReactJS the more you become a better JavaScript developer. This is the ultimate feature of ReactJS since you don't have to do react-ish things. I have used EmberJS for 1 year and i remember myself searching for hours in the docs to find what objects i should extend here and there even after 6 months. With ReactJS this is definitely not the case. You just have to use plain JS features and you will stay closer to JS evolution which is extremely rapid these days. For example you can use features which are still in early stages like properties initializer syntax in ES6 classes through Babel and this can benefit you a lot as a JS developer.
I have also written an article about ReactJS here medium.com/@fakiolinho/12-reasons-why-reactjs-has… where you can read even more and i think it might help you a lot.
My advice is use the tool that is going to make you stronger and is going to serve you well. With ReactJS you 'll stay much closer to the bone and this is really important with all this frontend craziness around us. When you feel ready you can simply decide to make the next step and integrate Flow or TypeScript etc in your projects. ReactJS plays well with all of these extensions so sky is the limit.
Thanks for reading.
A very detailed article will help you decide to choose between react and angular.
switch to react man, angular is crazy have you heard of angular 4? i mean people haven't even gotten familiar with angular 2 and there's 4 already....my advice run for your life!!! switch to react
or maybe vue.js, its kinda similar to angular 1
Hello,
Well your choice really depends, depends on what? First Angular is a framework which means it has a set of tools and a established way to get things done. React in the other hand is just a library, you will have to make a lot of choices in the React-ecosystem to get things done, also you will have to make a lot of architecture choices.
Angular with TypeScript gives you types, which is a big win because you will get help from the compiler, also you will have a good boost on productivity with the IntelliSense of editors like Visual Studio Code. In the other hand for React you have Flow, which will give you same kind of advantages but they can be introduce gradually to your project.
I have worked with both, and you gamble on what you need, in both you can share certain patterns like the flux architecture, both are component oriented and they had a great community. May be React is most popular right now and i think it is better payed than Angular.
If you are interested on use it for Mobile as well, then i will say that React Native is a lot better and have a lot more community than NativeScript (the best option using Angular).
One last thing, the learning curve of React is supposed to be lower, you will be using JavaScript most, on the other hand with Angular you will have to learn a lot of directives, how to work with observables and a lot of conventions.
I hope you find the answer, may be a good approach is trying to make something simple with both technologies.
Cheers!
Am a business man and a developer.
Mobilunity
Mobilunity offers the best in Ukrainian Development, results-driven Western Management, and successful Global Delivery of dedicated teams.
Lots of developers keep using the first version of Angular in their projects. They admit that migrating from Angular JS to Angular 2 is very hard. However, the 4th version of Angular was released in March, 2017 and it has a lot of improvements. But the question is “Do you like using Angular?” If you are not comfortable with it, then you should switch to React. You will learn React in no time as it has a simple structure. Besides, you will be able to use any other JS framework you like in combination with React, as it is a library and makes a lot of space for your decisions. If you are willing to migrate from Angular to React, you may find this page very useful.