I few time ago I decided to learn modern front-end frameworks and some questions came out.
The first was, which one ?
- React.js ?
- Angular 2+ ?
- Vue.js ?
By the time my first approach was the less painful transition. Turns out that the natural option was Vue.js considering resemblance with Jquery.
Vue.js is amazing, easy to learn, fast, and the key concepts was pretty familiar to me. But I was not able to put hands on those Vue.js projects out there.
Well, turns out, that the number of jobs offers that had Vue.js as a must have skill was not very significant at least based on local context perception from few years ago.
The second option was Angular, and besides not to have the companies adoption issue a couple things called my attention in a negative way.
A lot of conventions, structures and mandatory TYPESCRIPT that I personally consider a bad choice. Don't get me wrong, I just think that Typescript should be optional because es6+ already have a bunch of features and nice things, for me there's no need to a super set of JS adding data types and more to regular JS.
So react.js came to me and was:
Easy to learn
Nothing mandatory, what actually would be a problem if there was not 'create-react-app' :)
The only struggle at the beginning was JSX. But I noticed that JSX was a better way to mix up HTML and JS and was pretty cool that Microsoft VSCode made easy to deal with this files types, actually VScode was amazing, in my case, combine PHP and REACT in a single text editor speed up the development process.
The Last good part was community ports from my favorite css/js frameworks like https://react.semantic-ui.com/.
My first project using PHP/Codeigniter, Semantic-ui and React.js:
Next step: React Hooks.