Framework vs Library
Framework are backing for structures, HTTP solicitations, and a great deal more. It’s a finished toolbox to building a web application.
Quoting Martin Fowler:
A library is essentially a set of functions that you can call, these days usually organized into classes. Each call does some work and returns control to the client.
A framework embodies some abstract design, with more behavior built in. In order to use it you need to insert your behavior into various places in the framework either by subclassing or by plugging in your own classes. The framework's code then calls your code at these points.
If you don't need so many capabilities provided by the juggernauts like Angular or React, you can bet on a less complex solution, e.g., Webix.
Vue is a library for creating web interfaces. Vue is Simple, minimal core with an incrementally adoptable stack that can handle Apps of any scale.
React is a library, not a framework. Lots of people name it a framework or compare it to frameworks. The reason React is often mistaken as a framework is because it appears like frameworks are React’s competitors.
React does not come with any REST tools for making HTTP requests. React does not come with any tools to handle client-side routing. It is just a library that helps you build amazing user interfaces.
The whole concept of application structure has changed in Angular 2+. Previously it was the MVC framework that allowed you to create applications in the pattern of rather tightly coupled entities like controllers, views, services, etc.
The purpose of the Angular 2+ application architecture is to create components that don’t depend on each other, which are as loosely coupled as possible.
5. React Native
The React Native is an outcome of the idea behind Facebook’s Hackathon Project, to bring some of the web development features like fast iteration, to mobile app development.
In React Native, you will build a real app apart from the HTML5 app or a hybrid app, which is unique enough and difficult to distinguish from apps which are developed using Java or Objective-C.
The feature Hot Reloading allows you to run new code when you are retaining the application state.
Ember.js is focused on making you, the developer, as productive as possible by doing all the typical, repetitive, yet essential, tasks involved in most web development projects.
Polymer lets you build encapsulated, reusable elements that work just like standard HTML elements, to use in the construction of web applications.
The polymer is a lightweight library built on top of the web standards-based Web Components APIs and makes it easier to create your very own custom HTML elements.
The Aurelia framework brings together all the required core aurelia libraries into a ready-to-go application-building platform.