Alternatives to React
Before starting with the summary of BOF talks, if you’re unaware about BOF:
Birds of a Feather: This idiom is a shortening of the proverb “Birds of a feather flock together.”, meaning that people (birds) of the same kind or interest (of a common feather) enjoy spending time (flocking) together.
So, on a bright summer afternoon we all came together in Hyderabad to be a part of an enlightening session. We had to participate, gather our thoughts, put them across, and hear others out.
The topic of discussion was to figure out alternatives for React and to choose the best out of them for your project.
We had Souvik Basu from Tesco, Rahul Kadyan from Myntra and Ankita Goyal from EarlySalary.com to run the show. These developers from different verticals put together their best thoughts and shared them with everyone.
The discussion kicked off with us asking about the different tech stacks (apart from React) that developers have used for designing the applications.
Popular choices from the audience were Angular, Vue.js, InfernoJS, Preact, Ember JS, Backbone and Web Components.
React is probably the most popular JavaScript library since jQuery for single page application (SPA) websites. But not every website needs to be a SPA. Most of the time, you actually don’t even need the whole React library and its ecosystem, considering that its whole package (even when zipped!) is 45k.
While drawing comparisons between React, Vue and Angular, we had certain questions on the table.
How will you compare angular cli to create react app cli?
After the brief discussion on cli, we came up with both the similarities and differences.
Similarities:
Both the Angular CLI and create-react-app achieve their primary goal: It’s really easy to set up a production-ready project for the corresponding framework.
This enables an easy upgrade mechanism for the build infrastructure. Ideally you just have to update one npm dependency to upgrade the build infrastructure.
The ability to “eject” the project from the harness of the CLI. Once a project is ejected all the underlying setup and configuration that was hidden by the CLI is now exposed and available for customization.
Advantages of Angular over React:
The Angular CLI is in some points more opinionated and as a result the project setup is more faster.
The Angular CLI has also a broader scope than create-react-app: it does not only scaffold your initial project but also intends to be a code generator for generating new assets later during development.
Create-react-app abstracts more of the build setup than the Angular CLI,the whole build tooling is hidden behind the dependency to react-scripts.
Angular CLI project exposes several tsconfig files to configure the typescript compilation process.
Advantages of React over Angular:
The abstraction of the Angular CLI is much less complete than with create-react-app.
The disadvantage of the Angular CLI approach is, that those configuration files are only generated initially and the user has then to maintain them himself. With create-react-app the tooling can evolve those configurations and the user just has to upgrade the dependency to react-scripts to get the latest configuration.
If I learn React I can code native using React Native. Is such a thing possible in Angular?
For this question, we had tremendous response as people in the room already had hands-on experience in native apps.
To answer this question precisely, using NativeScript and Angular 2, a single code base can be used to create web apps and native mobile apps with 100% native performance and power. Buttery smooth animations, direct access to 100% of the native platform APIs, it’s pretty amazing. Debugging and Handling is far easier in such apps.
Sideby, we had critics on React Native development from experienced developers. For React Native codebase, it becomes necessary to have a knowledge base of both native IOS and Android. Though it had simplified UI, important modules are still a miss in React Native.
How can you compare performance of React with all the other alternatives of React?
The web development has been changing very quickly. Almost every month a new JavaScript framework is being introduced, and existing frameworks are being updated very often. As these frameworks are of an open source kind, large communities around the world can constantly enrich them.
Benefits of AngularJS
Creation of customized Document Object Model (DOM) elements.
High level of Reliability.
Modules are available within the same umbrella.
Simple routing.
Benefits of Vue.js
Small in size.
Easy to understand and start the development.
Flexibility with the ready templates.
It combines the peculiar features of all the older frameworks.
Pain points of React
Steep learning curve
Integrating React into a traditional MVC framework such as Rails would require some configurations.
It’s not a full framework, it’s a library.
Overall, It was aligned to discover more about how other frameworks or libraries can be used instead of React on the development perspective.
Stay tuned to ReactFoo! Happy Coding!
This post was written by Ankita Goyal and Souvik Basu from the React community
Originally published at medium.com.