React、Angular和Vue都是當前最常用的三個前端框架。React是由Facebook所開發(fā)的,它主要著眼于組件化式的開發(fā),使得開發(fā)者可以構(gòu)建可重用的UI組件。Angular則是由Google所開發(fā)的,官方的名字是Angular2+,是基于ES6+的TypeScript編寫的MVVM框架,其強大的雙向數(shù)據(jù)綁定能力、指令系統(tǒng)和組件架構(gòu)使其在大型企業(yè)級應(yīng)用中得到廣泛使用。Vue則是一款用于構(gòu)建高性能的漸進式JavaScript框架,由尤雨溪所開發(fā),不需要過多的學(xué)習(xí)成本,使用文檔簡單易懂,適合小型項目。
React: import React from 'react'; class App extends React.Component { render() { return (Hello, World!); } } export default App;
Angular: import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: 'Hello, World!' }) export class AppComponent { }
Vue:Hello, World!
在使用的過程中,React與Angular和Vue存在著許多不同點。React使用虛擬DOM作為中間層,通過比對上一次的虛擬DOM結(jié)果與這一次生成的虛擬DOM結(jié)果來計算出需要重新渲染的組件,從而提高了渲染效率。而Angular使用Zone.js來實現(xiàn)自己的變更檢測機制,而不使用虛擬DOM。Vue則將變更檢測和虛擬DOM都合并到了一起,保障了渲染效率的同時也確保了開發(fā)的便捷性。
另外,React和Vue都非常靈活,開發(fā)者可以自由組合使用組件、庫、插件等來達到不同的目的。而Angular則更多地以自帶的一些強大功能和工具來支持大型應(yīng)用的開發(fā)。