Analyze React and Angular and make recommendation for Tendrl UI management framework
Analysis between React and Angular 2.0
1.New stack to learn
- For React - learn react
- For Angular - learn angular and typeScript
- React performance is better in comparison with Angular 2.0
- More details - https://www.codementor.io/codementorteam/react-vs-angular-2-comparison-beginners-guide-lvz5710ha#e-speed
- Benchmark - https://auth0.com/blog/more-benchmarks-virtual-dom-vs-angular-12-vs-mithril-js-vs-the-rest/
- Stackoverflow and stats of github repos show that React is more popular at the moment.
- Figures for React - https://github.com/facebook/react/stargazers
- Figures for Angular - https://github.com/angular/angular/stargazers
- Debugging in Angular 2 is not straightforward and involves adding additional code or development extensions to the browser. Quite the opposite happens with React, where performing debugging is simpler and more straightforward.
5. Since React is a library,it is highly recommended to know the best practices. Otherwise, the result may be difficult-to-maintain applications, with performance problems and levels of low-quality. Whereas, Angular team made a strong emphasis on this aspect to provide greater transparency to the developer to make it as intuitive as possible.
6. Patternfly support
- More for React than Angular at the moment
7. Most of the red hat products are leaning towards React - CloudForms, RHV, Satellite, OpenShift (not OpenShift.io), and OpenStack, OCP
For more details, please refer -
**What it would take to migrate from Angular 1 -> React**
- Migrating the build to webpack is needed or can continue with gulp?(need to do some research)
- Render React components inside AngularJS
- use React components inside Angular using ngReact
- Share dependencies between both sides
- To include react dependencies in Angular, wrap the react component in directive and register it in AngularJS
- To include AngularJS dependencies in React, create an object and a helper function to inject the dependencies and call it inside AngularJS run process.
- Integrate Redux
- Adopt React bridge
- Move to react-router
- Migrate leaf components to React, working from the bottom up
- Migrating to JEST test framework or can continue with karma (need to do some research)
Details can be found at -
**What it would take to migrate from Angular 1 -> Angular**
- Use Module loader - webpack/SystemJS/Browserify
- Migrate to TypeScript
- All existing js files can be renamed from *.js to *.ts
- Use ngUpgrade module
- Make all modules export an NgModule
- Migrating services is usually straightforward, migrating components can require more work, depending on how the components are implemented.
Details can be found at -
@email@example.com @firstname.lastname@example.org @email@example.com Please feel free to add/suggest, which can help in deciding the front-end UI designing technologies for Tendrl UI.
As the analysis is already done, hence closing the issue.