本文概述了Web前端技术的快速发展,并详细介绍了Angular JS、ReactJS、Vue.js三大流行JS框架的特点及功能。同时,还介绍了基于Vue.js的Mint UI、WeUI、cube-ui,以及ElementUI、iView UI、at-ui等UI组件库,包括它们的来源、特点、安装方式和基本使用方法。这些框架和组件库各有优势,适用于不同的前端开发需求。
随着互联网的飞速发展,Web 前端技术发展速度让人感觉几乎不是继承式的迭代,而是一次次的变革和创造。各种JS/UI 框架的层出不穷,更为方便了前端工作者,作为前端学习者,有必要总结下几种主要的框架结构。
Angular JS 是一个有Google维护的开源前端web应用程序框架。它由Misko Hevery 等人创建,后为Google所收购。Angular JS是一个模型-视图-控制器(MVC)模式的框架,最适于开发客户端的单页面应用,它专注于扩展HTML的功能,提供动态数据绑定,而且它能跟其它框架(如jQuery)合作。
AngularJS的功能和特性:
双向的数据绑定
模板
MVC
服务和依赖注入
指令
二. ReactJS
ReactJS是一个由Facebook开发的非MVC模式的框架。它允许你创建一个可复用的UI组件,Facebook和Instagram的用户界面就是用ReactJS开发的。它可以非常轻松地创建用户交互界面。
ReactJS的特点:
虚拟DOM------采用了更高效的渲染方式
JSX(JavaScript XML )-----编写网站组件的流程
Component(组件)-----自定义的标签
三.Vue.js
一个用于用户界面开发的渐进式javascript框架。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。它是一个能快速开发和跨平台的方案, 所有的Vue模板都是基于HTML,它也提供双向绑定和服务端渲染。在Vue中,你可以使用模板语法或使用JSX直接编写渲染函数。
Vue.js 的功能和特性:
轻量级的框架
双向数据绑定
指令
组件化
Angular JS,ReactJS,Vue.js是现在前端最为流行的三种JS框架,各有自己的优缺点,Angular JS的架构清晰,分工明确,扩展性良好,但学习成本较高。React是目标是UI组件,通常可以和其它框架组合使用,目前并不适合单独做一个完整的框架。Vue.js 在API设计上简单,语法简单,学习成本低。
四. Mint UI(饿了么团队,github星级(13289))
Mint UI基于vue .js移动端的UI框架,它包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要。
CDN引入:
<!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/mint-ui/lib/style.css"> <!-- 引入组件库 --> <script src="https://unpkg.com/mint-ui/lib/index.js"></script>
npm:
npm install mint-ui -S// -S表示 --save main.js里 import Mint from 'mint-ui'; import 'mint-ui/lib/style.css' Vue.use(Mint);
页面使用:
import { Toast } from 'mint-ui' Toast('评论成功!')
五.WeUI(微信官方设计团队,github星级(21171))
WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button
、cell
、dialog
、toast
、article
、icon
等各式元素。
CDN引入:
<link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css"/>
npm引入:
npm install --save weui
下载后可以在微信公众号,小程序上使用。
六.cube-ui(滴滴团队,github星级(5145))
cube-ui 是滴滴团队开发的基于 Vue.js 实现的精致移动端组件库。支持按需引入和后编译,轻量灵活;扩展性强,可以方便地基于现有组件实现二次开发。
npm引入:
npm install cube-ui -S
main.js中:
一般在入口文件main.js中: import Vue from 'vue' import Cube from 'cube-ui' Vue.use(Cube)
vue组件中使用:
import { createAPI, BetterScroll } from 'cube-ui' <cube-button @click="showDiaog">显示<cube-button>
七.ElementUI(饿了吗团队,github星级(1790))
Element是饿了么前端开源维护的Vue UI组件库,组件齐全,基本涵盖后台所需的所有组件,文档讲解详细,例子也很丰富。 主要用于开发PC端的页面,是一个质量比较高的Vue UI组件库。
npm引入:
npm install element-ui -S
在main.js文件中 引入 element 组件
import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI)
vue组件中使用:
import { Button } from 'element-ui'; <el-button type="primary">主要按钮</el-button>
八.iView UI (TalkingData 前端团队,github星级(3475))
iview ui是一个强大的ui库基于vue,有很多实用的基础组件比elementui的组件更丰富,主要服务于 PC 界面的中后台产品。使用单文件的 Vue 组件化开发模式 基于 npm + webpack + babel 开发,支持 ES2015 高质量、功能丰富 友好的 API ,自由灵活地使用空间。
npm引入:
npm install iview --save
在main.js文件中 引入
import iView from 'iview' import 'iview/dist/styles/iview.css' // 使用 CSS Vue.use(iView)
vue组件使用:
<i-button bind:click="handleOpen1">按钮</i-button>
九.at-ui(阿里团队,github星级(1764))
at-ui 是一款基于 Vue 2.x 的前端 UI 组件库,主要用于快速开发 PC 网站产品。 它提供了一套 npm + webpack + babel 前端开发工作流程,CSS 样式独立,即使采用不同的框架实现都能保持统一的 UI 风格。但全英文的文档对使用者来说成了挑战。
浏览器标签引入:
<!-- 引入样式 --> <link rel="stylesheet" href="//unpkg.com/at-ui-style/css/at.min.css"> <!-- 引入组件库 --> <script src="//unpkg.com/at-ui/dist/at.min.js"></script>
npm引入:
npm install at-ui
组件中使用:
<at-button @click="showMessage">点击</at-button>
本文独发金蝶云社区。