I. Development process of large projects

Requirement analysis: Target user group competitor analysis business process and function and page architecture prototype diagram design database design CMS development interface design front desk website development interface debugging database modification functional process test

Second, MVC and MVVM architecture concepts and differences

MVC is a common background development pattern

Model data preservation

View USER interface

The controller receives the view’s request and hands it to the corresponding model to process the business logic

advantages

(1) Realize the separation of display module and function module, in the development of the interface display part, you only need to consider how to layout a good user interface; When developing a model, you only need to think about business logic and data maintenance

(2) A model provides different representations of multiple views, and it is possible to create new views for a model without rewriting the model. Whenever the model’s data changes, the model notifies the views concerned, and each view refreshes itself accordingly

(3) The portability of the model, because the model is independent of the view, so you can independently transplant a model to a new platform to work, only need to make new modifications to the view and controller on the new platform. (PS article 3 is from the Internet)

Disadvantages:

MVVM: view + view — model + model

MVC is different from MVVM

MVVM uses bidirectional binding and changes to the view are automatically reflected in the View-Model and vice versa.

MVC communication is one-way: 1.View sends instructions to Controller; 2.Controller asks Model to change state after completing business logic

The definition of modular and componentization of front-end development, as well as their relationship componentization: the process of dividing a whole business or system into independent functional modules according to their functional independence; These independent functional modules are called components. Modularity: Modules in modularity generally refer to Javascript modules, such as a module for formatting time

A component contains template, style, and script, and its script can be made up of various modules. For example, a component that displays the time will call the module above that formats the time.

Use a diagram to briefly express their relationship

Fourth, the difference between the traditional development mode and the front and back end separation mode

Traditional development: The back-end MVC-dominated development model, where the front-end people just provide static HTML pages and the back-end developers do the rest.

Front-end separation mode: In the front-end separation mode, you are responsible for the view+ Controller part of the project, that is, in addition to the static page, you are responsible for all the interactive code of the page, as well as nodeJS interaction with the view layer and back-end APIS;

Disadvantages of the front and back end separation mode: after the front and back end separation, both API interface docking and testing work involves the communication of the front and back end personnel. After the front and back end separation is adopted by many companies, the cooperation mode of the front and back end is weak, waiting for each other, and the development efficiency is low, but not as good as the traditional development mode. For example, when the back-end API is not written, the front end cannot be debugged, resulting in the front end being blocked by the back end.

V. Understanding of virtual DOM added in VUE2.0

In the development of many single-page applications, the number of DOM nodes is very large, and a large number of DOM operations will seriously affect the page performance, which is rarely affected by JS. However, MVVM uses two-way binding of data view, which makes the state view automatically refresh when we update it, and the state of view data will also refresh when we update it. However, a large number of event bindings make performance in complex situations difficult. Virtual DOM, on the other hand, represents DOM nodes, including tags, attributes, and child nodes, through JS objects.

Then we can simulate the DOM structure through JS objects, first through the virtual DOM represented by JS objects to calculate the minimum changes that the actual DOM needs to make, and then the actual DOM.