JavaScript MVC (JMVC) is a MIT licensed, client-side, JavaScript framework that builds maintainable, error-free, lightweight applications as quick as possible. It packs best-of-breed libraries and tools that are guaranteed to work together. It supports every browser that jQuery supports. JMVC's goodies are broken down into four sub-projects:  CanJS - A client side MVC Framework  jQuery++ - A collection of useful DOM helpers and special events for jQuery  StealJS - JavaScript and CSS dependency management and build tools  FuncUnit - Functional and Unit Testing framework  DocumentJS - Documentation Engine  CanJS is a JavaScript framework that makes building rich web applications easy and the MVC of JavaScript MVC. The library is extremely lightweight (at only 11k minified and compressed) and full featured.  jQuery++ is a collection of useful jQuery libraries that provide the missing functionality necessary to implement and organize large-scale jQuery applications. It provides low-level utilities for things that jQuery doesn’t support.  StealJS is a "code manager" that keeps code beautiful and organized while developing and FAST for users in production. It's a collection of command-line and browser-based utilities enabling you to:

1) Load JS, CSS, LESS, and CoffeeScript files and build them into a single production file. 2) Generate an application file/folder structure, complete with test, build and documentation scripts. 3) Clean and JSLint your code. 4) Make your app crawlable. 5) Log messages in development that get removed in production builds.  StealJS is a stand-alone tool that can be used without the rest of JavaScriptMVC.

 FuncUnit is a web application testing framework that provides automated unit and functional testing. Tests are written and debugged in the browser with FuncUnit's short, terse, jQuery-like API. The same tests can be instantly automated, run by Envjs or Selenium.  FuncUnit also supports extremely accurate simulation on practically every browser and system.  DocumentJS provides powerful JavaScript documenting capabilities. This whole website is built with it! DocumentJS can document practically anything. It's extensible. And with Markdown support, it's easy to document your code.  View technologies and frameworks are web- based software libraries that provide the user interface, or "view-layer", of web applications. Such application frameworks are used for defining web pages and handling the HTTPrequests (clicks) generated by those web pages. As a sub-category of web frameworks, view-layer frameworks often overlap to varying degrees with web frameworks that provide other functionality for web applications.

 React JS is a JavaScript library used for building reusable UI components. According to React official documentation, following is the definition- “React is a library for building compos-able user interfaces. It encourages the creation of reusable UI components, which present data that changes over time. Lots of people use react as the V in MVC. React abstracts away the DOM from you, offering a simpler programming model & better performance. React can also render on the server using Node, & it can power native apps using React Native. React implements one- way reactive data flow, which reduces the boilerplate & it is easier to reason about than traditional data binding”.  JSX - JSX is JavaScript syntax extension. It isn't necessary to use JSX in React development, but it is recommended.  Components - React is all about components. You need to think of everything as a component. This will help you maintain the code when working on larger scale projects.  Unidirectional data flow and Flux - React implements one-way data flow which makes it easy to reason about your app. Flux is a pattern that helps keeping your data unidirectional.  License − React is licensed under the facebook Inc. Documentation is licensed under CC BY 4.0.  It uses virtual DOM which is a JavaScript object. This will improve apps performance, since JavaScript virtual DOM is faster than the regular DOM.  It can be used on client and server side as well as with other frameworks.  Component and data patterns improve readability, which helps to maintain larger apps.

 Covers only the view layer of the app, hence you still need to choose other technologies to get a complete tooling set for development.  Uses inline templating and JSX, which might seem awkward to some developers.

 JavsScript MVC is the collection of the best practices and tools for building JavaScript applications. Built on top of jQuery.

 Why JavaScriptMVC? – Because It is the product of years of experience in the trenches developing medium to large JavaScript applications. It will help you build a quality application.  Who uses JavaScript MVC? - Software engineers who care about doing JavaScript development the right way. They care about things like test driven development, performance, code quality, structure and maintainability. JavaScriptMVC makes it simple to do all these things and more.

 View technologies and frameworks are web- based software libraries that provide the user interface, or "view-layer", of web applications. Such application frameworks are used for defining web pages and handling the HTTPrequests (clicks) generated by those web pages.  React is a front-end library developed by Facebook. It is used for handling the view layer for web and mobile apps. ReactJS allows us to create reusable UI components. It is currently one of the most popular JavaScript libraries and has a strong foundation and large community behind it. Today, popularized by modern frontend JavaScript frameworks like React, an app is usually built as a single page application: you only load the application code (HTML, CSS, JavaScript) once, and when you interact with the application, what generally happens is that JavaScript intercepts the browser events and instead of making a new request to the server that then returns a new document, the client requests some JSON or performs an action on the server but the page that the user sees is never completely wiped away, and behaves more like a desktop application.

You can install react by using and babel or you can install ReactJS more simple by installing create-react-app  Step 1- install create-react-app Browse through the desktop and install the create- react-app using command prompt as shown below: code@code:~/Desktop> npx create-react-app my- app This will create a folder named my-app on the desktop and installs the required files in it.

 Step 2- Delete all the source files Browse through the src folder in the generated my-app folder and remove all the files in it as shown below −

C:\Users\Tutorialspoint\Desktop>cd my-app/src :\Users\Tutorialspoint\Desktop\my- app\src>del * C:\Users\Tutorialspoint\Desktop\my-app\src\*, Are you sure (Y/N)? Y

 Step 3- Add Files Add files with names index. and index.js in the src folder as − code@code:~/Desktop/my-app\src>type nul >index.css code@code:~/Desktop/my-app\src>type nul > index.js

In the index.js file add the following code-

import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'  Step 4- Run the Project Finally run the project using the start command. npm start

When getting started with React, you should use the simplest setup possible: an HTML file which imports the React and the ReactDOM libraries using script tags, like this : Hello React

There are only two notable things happening in this file: 1) You include the React library and its DOM add-on (via