node.js, a JavaScript runtime, was released in May 2009 and developed by Ryan Dahl, essentially encapsulating the chrome V8 engine. node. JS optimizes some of the special use cases, providing an alternative API that allows V8 to run better in a non-browser environment. The V8 engine executes JavaScript very fast and performs very well. [1] node.js is a platform built on the chrome JavaScript runtime to easily build responsive, easy-to-scale Web applications. node. js is lightweight and efficient with event-driven, non-blocking i/o models, making it ideal for running data-intensive real-time applications on distributed devices. angularjs was born in 2009 and was created by Misko Hevery, who was later acquired by Google. is a good front-end JS framework, has been used in several Google products. Angularjs has many features, the most core of which are: MVC, modularization, automated bidirectional data binding, semantic tagging, dependency injection, and so on. It was designed to overcome the lack of HTML in building applications. HTML is a good declarative language for static text presentation design, but it seems weak to build a Web application. So I did some work (you can also think of it as a gimmick) to get the browser to do what I want. In general, we use the following techniques to solve the disadvantages of static web page technology in building dynamic applications: The class Library -class Library is a collection of functions that can help you write Web applications. It's your code that dominates, and it's up to you to decide when to use the class library. Class libraries are: The framework -framework, such as jquery, is a special, already implemented Web application that you only need to populate with specific business logic. The framework here is the dominant one, and it is used to invoke your code based on the specific application logic. The framework is: Knockout, Sproutcore and so on. Angularjs uses a different approach, and it tries to make up for the drawbacks of HTML itself in building applications. Angularjs allows the browser to recognize the new syntax by using the structure we call the directive (directives). For example: Use double curly braces {{}}} syntax for data binding, use DOM control structure to iterate or hide dom fragments, support validation of forms and forms, associate logical code to related DOM elements, and make HTML components reusable. react originated from Facebook's internal project because the company is on the market for all JavaScript MVC framework, are not satisfied, decided to write a set of their own, used to erect Instagram website. After doing it, found that this set of things very useful, in May 2013, open source. Because react's design ideas are extremely unique, revolutionary and innovative, the code logic is simple. Therefore, more and more people are beginning to pay attention to and use, think it may be the mainstream tool of WEB development in the future. The project itself is getting bigger and larger, from the earliest UI engine to a full range of front-end Web App solutions. Derivative of the React Native project, the goal is more magnificent, want to write a Web app to write the Native app. If it can be achieved, the entire Internet industry will be subverted, because the same group of people only need to write once the UI, it can run at the same time on the server, browser and mobile phone. React is primarily used to build the UI. You can pass multiple types of parameters in react, such as declaring code, to help you render the UI, to be static HTML DOM elements, to pass dynamic variables, and even to interact with application components. Features: 1. Declarative design: The react uses a declarative paradigm that can easily describe an application. 2. Efficient: React minimizes interaction with the DOM by simulating the DOM. 3. Flexible: The react can work well with a known library or frame. Backbone provides the structure of models (models), Collections (collections), views, for complex JavaScript applications. The model is used to bind key-value data and custom events; The collection is accompanied by a rich API with enumerable functions; The view can declare event handlers and connect to the application through the RESTful JSON interface. One of the first things you need to do when developing a Web application that contains a lot of JavaScript is to stop attaching data to the DOM object. Creating JavaScript applications with complex jquery selectors and callback functions, including keeping synchronization between HTML ui,javascript logic and data, is uncomplicated. But for client applications, a good architecture usually has a lot of benefits. Backbone renders the data as a model, you can create models, validate and destroy models, and even save them to the server. When a change in the UI causes the Model property to change, the model triggers
"Change"All views that display model data receive notification of the event, and the view is re-rendered. You don't need to find the DOM to search for a specified
IDelement to manually update the HTML. -Once the model has changed, the view will change automatically. Backbone.js provides a web development framework for Key-value binding and custom event handling through models, providing a rich set of APIs for enumeration functions through collections. Event handling through views and interaction with existing application through the restful JSON interface. It is a JS framework based on jquery and underscore. Main composition: 1.model: Create data, perform data validation, destroy or save to server 2.collection: Can add elements, delete elements, get length, sort, compare a series of tool methods, plainly is a save Models Collection Class 3.view: Binding HTML templates, binding interface element events, initial rendering, model value changes after re-rendering and interface element destruction and other advantages: 1. Separates the data from the interface well. 2. The binding of events is well stripped out for ease of management and iteration. 3. Make JavaScript programs more modular and clear. Scenario: The most appropriate scenario is a single-page application, and there is a large number of data models on the page that require complex communication between the models. Application: Watercress says
Requirejs is a very compact JavaScript module loading framework and is one of the best implementations of the AMD (asynchronous Module Definition, asynchronous modules loading mechanism) specification. The latest version of the Requirejs compression is only 14k, which is very light weight. It can also coordinate with other frameworks, and using Requirejs will certainly improve the quality of our front-end code.
Development of JavaScript and personal notes