前端三大主流框架:React、Vue、Angular

打印 上一主题 下一主题

主题 676|帖子 676|积分 2028

一、React、Vue、Angular简介

前端三大主流框架分别是Angular、React和Vue。以下是这三个框架的具体概述:

  • Angular


  • Angular原名AngularJS,诞生于2009年,由Google开发并维护。
  • 它是一个完备的框架,提供了数据绑定、组件化、路由、依赖注入等功能。
  • Angular采取了TypeScript作为开发语言,它是JavaScript的一个超集,提供了静态类型检查和更强盛的面向对象编程能力。
  • Angular的特点包括功能强盛、完备且稳定,适用于开发大型和复杂的Web应用。
  • 它提供了很多内置的功能和工具,如模板语法、表单验证、HTTP模块等,帮助开发者更快速地构建高质量的Web应用。
  • Angular支持移动端开发,可以使用Ionic等工具将Web应用打包成原生应用。

  • React


  • React是由Facebook开发并开源的一个JavaScript库,正式版推出于2013年。
  • 它专注于构建用户界面,并以其虚拟文档对象模子(Virtual DOM)和高效的diff算法而闻名。
  • React的组件化开发模式允许开发者将UI和业务逻辑分离,进步代码的复用性和可维护性。
  • React对新开发人员来说较为友好,并提供了JSX语法,这是一种混合HTML和JavaScript的语言,使编写React组件更加轻易和直观。
  • React的社区支持庞大,可以找到大量的文档、教程和工具来帮助开发者解决问题。

  • Vue


  • Vue是一个由华人开发者尤雨溪创造的前端框架,正式推出于2014年。
  • Vue鉴戒了Angular和React的特点,如Virtual DOM、双向数据绑定、diff算法、响应式属性、组件化开发等,并举行了干系优化,使其使用更加方便和轻易上手。
  • Vue以其轻巧易用和高效的特点而受到开发者的喜爱,尤其得当初学者。
  • Vue也支持组件化开发,允许开发者将UI和业务逻辑分离,进步代码的可复用性和可维护性。
二、React初始化案例

React具体介绍
React是一个用于构建用户界面的JavaScript库,它开端于Facebook的内部项目。React的出现是因为Facebook对市场上所有JavaScript MVC框架都不满意,决定自行开发一套,用于架设Instagram的网站,并于2013年5月开源。React主要用于构建UI,可以在React里传递多种类型的参数,如声明代码,帮助开发者渲染出UI,也可以是静态的HTML DOM元素,也可以传递动态变量,乃至是可交互的应用组件。
React的特点包括:

  • 声明式设计:React使创建交互式UI变得轻而易举。为应用的每一个状态设计轻巧的视图,当数据变动时,React能高效更新并渲染合适的组件。
  • 组件化:构建管理自身状态的封装组件,然后对其组合以构成复杂的UI。
  • 高效:React通过对DOM的模拟,最大限度地淘汰与DOM的交互。
  • 灵活:无论使用什么技术栈,React都可以方便地引入开发新功能,而无需重写现有代码。
React案例代码

  • Hello World示例代码
这是一个简朴的React组件示例,用于显示“Hello, World!”文本。
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. class HelloWorld extends React.Component {
  4.   render() {
  5.     return <h1>Hello, World!</h1>;
  6.   }
  7. }
  8. ReactDOM.render(<HelloWorld />, document.getElementById('root'));
复制代码
这段代码通过React的ReactDOM.render方法将<HelloWorld />组件渲染到<div id="root"></div>元素中。组件的render方法返回一个包罗<h1>标签的JSX表达式。

  • State和Props示例代码
这个示例展示了如何在React组件中使用状态和属性(state and props)。
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. class Counter extends React.Component {
  4.   constructor(props) {
  5.     super(props);
  6.     this.state = { count: 0 };
  7.   }
  8.   increment() {
  9.     this.setState({ count: this.state.count + 1 });
  10.   }
  11.   render() {
  12.     return (
  13.       <div>
  14.         <p>Count: {this.state.count}</p>
  15.         <button onClick={() => this.increment()}>Increment</button>
  16.       </div>
  17.     );
  18.   }
  19. }
  20. ReactDOM.render(<Counter />, document.getElementById('root'));
复制代码
在这个示例中,我们创建了一个名为Counter的React组件。该组件具有一个状态count,并通过increment方法增加计数。在组件的render方法中,我们显示当前计数并提供一个按钮来增加计数。当用户点击按钮时,会调用increment方法并更新状态,从而触发组件的重新渲染并显示更新后的计数。
三、Vue初始化案例

Vue.js 具体介绍
Vue.js 是一款构建用户界面的渐进式框架。与其他大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的焦点库只关注视图层,不但易于上手,还便于与第三方库或已有项目整合。另一方面,当与当代化的工具链以及各种支持类库结合使用时,Vue 也能为复杂的单页应用(SPA)提供驱动。
Vue.js 的主要特点包括:

  • 组件化:Vue 允许你以可复用的方式构建大型应用。在 Vue 中,一个组件本质上是一个拥有预定义选项的一个 Vue 实例。
  • 响应式数据绑定:Vue 的焦点库只关注视图层,它采取轻巧的模板语法,将 DOM 操纵与数据操纵举行绑定,使得数据变革时视图可以大概主动更新。
  • 指令:Vue 提供了一系列内建的指令,如 v-if、v-for、v-bind 等,这些指令为模板提供了强盛的功能。
  • 计算属性和侦听器:Vue 提供了计算属性和侦听器,用于处置处罚复杂逻辑和响应数据变革。
  • 可定制的过渡和动画:Vue 在插入、更新或移除 DOM 时,提供多种过渡效果。
  • 路由和状态管理:Vue 可以与 Vue Router 和 Vuex 这样的库一起使用,以构建复杂的单页应用。
  • 轻量级和灵活性:Vue 相对于其他大型框架(如 Angular 或 React)来说更轻量级,这使得它更加灵活和易于使用。
Vue.js 案例代码
以下是一个简朴的 Vue.js 示例,它展示了如何使用 Vue 创建一个计数器:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Vue.js Counter Example</title>
  7.     <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
  8. </head>
  9. <body>
  10. <div id="app">
  11.     <p>{{ message }}</p>
  12.     <button @click="increment">Increment</button>
  13.     <p>Count: {{ count }}</p>
  14. </div>
  15. <script>
  16. new Vue({
  17.     el: '#app',
  18.     data: {
  19.         message: 'Hello Vue!',
  20.         count: 0
  21.     },
  22.     methods: {
  23.         increment: function() {
  24.             this.count++;
  25.         }
  26.     }
  27. });
  28. </script>
  29. </body>
  30. </html>
复制代码
在这个示例中,我们创建了一个新的 Vue 实例,并将其挂载到 id 为 app 的元素上。在 Vue 实例的 data 对象中,我们定义了 message 和 count 两个响应式数据属性。我们还定义了一个名为 increment 的方法,该方法会在每次点击按钮时被调用,并使 count 的值递增。在模板中,我们使用双大括号插值来显示 message 和 count 的值,并使用 @click 指令来监听按钮的点击变乱。
四、Angular初始化案例

Angular 具体介绍
Angular 是一个由 Google 开发和维护的开源前端框架,用于构建单页应用(SPA)和跨平台应用。Angular 提供了一个布局化的开发框架,它整合了多种技术,包括 TypeScript、HTML、CSS 和其他库,以简化应用程序的开发过程。Angular 强调组件化、模块化、依赖注入和响应式编程等焦点概念。
Angular 的主要特点包括:

  • 组件化:Angular 应用是由一系列组件组成的,每个组件控制屏幕上的一小块区域。组件是 Angular 应用的构建块,它们封装了干系的 HTML、CSS 和 TypeScript 代码。
  • TypeScript 支持:Angular 使用 TypeScript 作为主要开发语言,它提供了静态类型检查、面向对象编程特性和 ES6+ 功能。
  • 双向数据绑定:Angular 提供了强盛的数据绑定功能,可以主动更新视图以反映模子中的更改,并在模子更改时主动更新视图。
  • 依赖注入:Angular 使用依赖注入(DI)来管理组件之间的依赖关系,使得代码更易于测试和维护。
  • 路由:Angular 提供了强盛的路由功能,允许你定义不同的视图和它们之间的导航路径。
  • 表单验证:Angular 提供了丰富的表单验证功能,支持模板驱动表单和响应式表单。
  • 指令和管道:Angular 提供了许多内建的指令和管道,用于在模板中实行复杂的操纵和数据转换。
  • 模块化:Angular 应用被构造成模块,每个模块包罗了一组干系的组件、服务和指令。
Angular 案例代码
以下是一个简朴的 Angular 示例,它展示了如何创建一个计数器组件:
起首,你必要确保你的项目已经通过 Angular CLI 创建并设置好了。假如你还没有创建项目,可以使用以下下令创建一个新的 Angular 项目:
  1. ng new my-angular-app
  2. cd my-angular-app
复制代码
然后,你可以创建一个新的计数器组件:
  1. ng generate component counter
复制代码
接下来,编辑 counter 组件的 TypeScript 文件(counter.component.ts)和 HTML 模板文件(counter.component.html)。
counter.component.ts:
  1. import { Component } from '@angular/core';
  2. @Component({
  3.   selector: 'app-counter',
  4.   templateUrl: './counter.component.html',
  5.   styleUrls: ['./counter.component.css']
  6. })
  7. export class CounterComponent {
  8.   count = 0;
  9.   increment() {
  10.     this.count++;
  11.   }
  12.   decrement() {
  13.     this.count--;
  14.   }
  15. }
复制代码
counter.component.html:
  1. <p>Count: {{ count }}</p>
  2. <button (click)="increment()">Increment</button>
  3. <button (click)="decrement()">Decrement</button>
复制代码
在 app.module.ts 中,确保你已经将 CounterComponent 添加到 declarations 数组中:
  1. import { NgModule } from '@angular/core';
  2. import { BrowserModule } from '@angular/platform-browser';
  3. import { AppComponent } from './app.component';
  4. import { CounterComponent } from './counter/counter.component';
  5. @NgModule({
  6.   declarations: [
  7.     AppComponent,
  8.     CounterComponent
  9.   ],
  10.   imports: [
  11.     BrowserModule
  12.   ],
  13.   providers: [],
  14.   bootstrap: [AppComponent]
  15. })
  16. export class AppModule { }
复制代码
末了,在 app.component.html 中使用 app-counter 选择器来包罗你的计数器组件:
  1. <app-counter></app-counter>
复制代码
现在,当你运行你的 Angular 应用时(比方,使用 ng serve 下令),你应该能在浏览器中看到一个计数器,此中包罗两个按钮,一个用于增加计数,另一个用于淘汰计数。
五、干系链接


  • Vue3官方地点
  • Vue3中文文档
  • 「Vue3系列」Vue3简介及安装
  • 「Vue3系列」Vue3起步/创建项目
  • 「Vue3系列」Vue3指令
  • 「Vue3系列」Vue3 模板语法
  • 「Vue3系列」Vue3 条件语句/循环语句
  • 「Vue3系列」Vue3 组件
  • 「Vue3系列」Vue3 计算属性(computed)、监听属性(watch)
  • 「Vue3系列」Vue3 样式绑定
  • 「Vue3系列」Vue3 变乱处置处罚
  • 「vue3系列」Vue3 表单

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表