Web 前端框架分类解读

Web前端框架可以分为两类:

JS的类库框架
JQuery.JS

Angular.JS(模型, scope作用域,controller,依赖注入,MVVM):前端MVC

Vue.JS(MVVM)*****

Reat.JS (创建自定义标签,根据id注入标签)******

Node.JS(服务器端)

UI框架(Html/Css/JS组合)
Bootstrap(简洁、直观、强悍的前端框架,让web开发更迅速、简单)
下面是具体介绍:
Reat.JS

如果你熟悉 MVC 概念的话,那么 React 的组件就相当于 MVC 里面的 View。如果你不熟悉也没关系,你可以简单地理解为,React.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。

一个组件的显示形态和行为有可能是由某些数据决定的。而数据是可能发生改变的,这时候组件的显示形态就会发生相应的改变。而 React.js 也提供了一种非常高效的方式帮助我们做到了数据和组件显示形态之间的同步。

React.js 不是一个框架,它只是一个库。它只提供 UI (view)层面的解决方案。在实际的项目当中,它并不能解决我们所有的问题,需要结合其它的库,例如 Redux、React-router 等来协助提供完整的解决方法。
Vue.JS

Vue.js是用于构建交互式的 Web界面的库。它提供了 MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的 API。从技术上讲, Vue.js集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型。实际的DOM操作和输出格式被抽象出来成指令和过滤器。相比其它的 MVVM框架,Vue.js更容易上手。

Angular.JS

AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
用途:通过描述我们应该就能很好的明白AngularJS的真实用途了,MVVM,模块化,自动化双向数据绑定等等。除了简单的dom操作外,更能体现Js编程的强大。当然应用应该视场合而定。

Node.JS

node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
Node.js是一个基于ChromeJavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
  简单的说 Node.js就是运行在服务端的 JavaScript。

Node.js是一个基于ChromeJavaScript运行时建立的一个平台。
Node.js是一个基于ChromeJavaScript运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。用途:
(1). RESTful API

这是NodeJS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的API需求。

(2).统一Web应用的UI层

目前MVC的架构,在某种意义上来说,Web开发有两个UI层,一个是在浏览器里面我们最终看到的,另一个在server端,负责生成和拼接页面。

不讨论这种架构是好是坏,但是有另外一种实践,面向服务的架构,更好的做前后端的依赖分离。如果所有的关键业务逻辑都封装成REST调用,就意味着在上层只需要考虑如何用这些REST接口构建具体的应用。那些后端程序员们根本不操心具体数据是如何从一个页面传递到另一个页面的,他们也不用管用户数据更新是通过Ajax异步获取的还是通过刷新页面。

(3).大量Ajax请求的应用

例如个性化应用,每个用户看到的页面都不一样,缓存失效,需要在页面加载的时候发起Ajax请求,NodeJS能响应大量的并发请求。总而言之,NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

async / await对异步的处理

虽然co是社区里面的优秀异步解决方案,但是并不是语言标准,只是一个过渡方案。ES7语言层面提供async / await去解决语言层面的难题。目前async / await 在 IE edge中已经可以直接使用了,但是chrome和Node.js还没有支持。幸运的是,b…

《SQL Server 2008从入门到精通》--20180717

目录 1.触发器1.1.DDL触发器1.2.DML触发器1.3.创建触发器1.3.1.创建DML触发器1.3.2.创建DDL触发器1.3.3.嵌套触发器1.3.4.递归触发器1.4.管理触发器1.触发器 触发器是一种特殊的存储过程,与表紧密关联。 1.1.DDL触发器 当服务器或数据库中发生数据定义语言&#xff…

主成分分析原理解释(能力工场小马哥)

主成分分析(Principal components analysis)-最大方差解释 在这一篇之前的内容是《Factor Analysis》,由于非常理论,打算学完整个课程后再写。在写这篇之前,我阅读了PCA、SVD和LDA。这几个模型相近,却都有自…

div/div作用

<div></div>主要是用来设置涵盖一个区块为主&#xff0c;所谓的区块是包含一行以上的数据&#xff0c;所以在<div></div>的开始之前与结束后&#xff0c;浏览都会自动换行&#xff0c;所以夹在<div></div>间的数据&#xff0c;自然会与其前…

路由懒加载优化

首先得需要插件支持&#xff1a;syntax-dynamic-import import Vue from vue import VueRouter from vue-router /*import First from /components/First import Second from /components/Second*/Vue.use(VueRouter) //方案1 const first ()>import(/* webpackChunkName: &…

vue全面介绍--全家桶、项目实例

简介 “简单却不失优雅&#xff0c;小巧而不乏大匠”。 2016年最火的前端框架当属Vue.js了&#xff0c;很多使用过vue的程序员这样评价它&#xff0c;“vue.js兼具angular.js和react.js的优点&#xff0c;并剔除了它们的缺点”。授予了这么高的评价的vue.js&#xff0c;也是开…

关于Keychain

1、Keychain 浅析 2、iOS的密码管理系统 Keychain的介绍和使用 3.iOS开发中&#xff0c;唯一标识的解决方案之keyChainUUID 转载于:https://www.cnblogs.com/KiVen2015/p/9341224.html

算法群模拟面试记录

第一场&#xff1a;2018年12月30日&#xff08;周日&#xff09;&#xff0c;北京时间早上五点。 写在最前面&#xff1a;好不容易五点爬了起来围观mock&#xff0c;结果早上周赛睡过去了&#xff0c;唉。orz。 面试官&#xff1a;wisdompeak&#xff0c;同学&#xff1a;littl…

js对象排序

Object.keys(objs).sort()可以获取到排好序的keysvar objs {f: {id: 2,name: 2}, a: {id: 3,name: 3}, c: {id: 1,name: 1} }; // 自定义排序规则&#xff0c;按对象的id排序 var sortedObjKeys Object.keys(objs).sort(function(a, b) {return objs[b].id - objs[a].id; });…

吴恩达机器学习笔记 —— 9 神经网络学习

本章讲述了神经网络的起源与神经元模型&#xff0c;并且描述了前馈型神经网络的构造。 更多内容参考 机器学习&深度学习 在传统的线性回归或者逻辑回归中&#xff0c;如果特征很多&#xff0c;想要手动组合很多有效的特征是不现实的&#xff1b;而且处理这么大的特征数据量…

js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解

1 escape()函数 定义和用法escape() 函数可对字符串进行编码&#xff0c;这样就可以在所有的计算机上读取该字符串。 语法escape(string) 参数 描述string 必需。要被转义或编码的字符串。 返回值已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。 说明该方…

【SRH】------node遵循的规范,模块划分

1.node遵循的是COMMONJS规范&#xff08;规范即规定如何导入导出&#xff09;1、导入&#xff1a;require 2、导出&#xff1a;module.exports2.模块分类&#xff1a;1、核心模块nodejs下载安装完成后会自带一些模块&#xff0c;这些模块不需要下载&#xff0c;可以直接通过r…

vue.js开发环境搭建

环境准备 Node.js Javascript的运行时环境npm Node.js下的包管理工具webpack 前端资源模块化管理和打包工具vue-cli 脚手架构建工具cnpm npm的淘宝镜像 Vue.js安装 Node.js的安装非常容易&#xff0c;首先从官网下载你所需操作系统的版本&#xff0c;然后一直下一步就ok&…

mysql数据库删除一条数据后还想让新增数据从空缺id处开始

方法1&#xff1a; truncate table 你的表名 //这样不但将数据全部删除&#xff0c;而且重新定位自增的字段 方法2&#xff1a; delete from 你的表名 dbcc checkident(你的表名,reseed,0) //重新定位自增的字段&#xff0c;让它从1开始 方法3&#xff1a; 如果你要保存你的数…

Object相关方法

const object1 {a: somestring,b: 42,c: false };console.log(Object.values(object1)); // expected output: Array ["somestring", 42, false]该Object.values()方法返回给定对象自己的可枚举属性值的数组&#xff0c;其顺序与for...in循环提供的顺序相同&#xf…

用Itextsharp 组件导出PDF 的文档的方法

Itextsharp 是一个很强大&#xff0c;开源的&#xff0c;轻量级的 PDF 生成组件&#xff0c;官方网上好像没有相应的API 说明文档&#xff0c;以下是在工作中使用的心得与体会&#xff0c;并附上源码&#xff0c;功能包含了pdf 的创建&#xff0c;table 的创建&#xff0c; 图片…

正则基础知识

创建正则表达式 1.使用new来创建 var exp new RegExp(box , gi );g 全局匹配 i 忽略大小写 m 多行匹配2.使用字面量 var exp /box/gi; 直接用2个 / ; 在俩个斜杠后加上模式修饰符&#xff1b; 俩种创建方式比较: 1.使用字面量方式创建用的更加广泛; 2.当要匹配的内容是变量时,…

详解 vue-cli 的打包配置文件代码

一、前言 对于webpack基础不好&#xff0c;node指令不通的童鞋。估计对自己搭建Vue、react脚手架是相当头疼的&#xff0c;有种无从下手的感觉。然而&#xff0c;从头看这2块&#xff0c;耗时太长&#xff0c;而且说实话得练才行&#xff0c;不练练手看不明白。那大多数人就采…

室内定位(一)

转自&#xff1a;http://www.cnblogs.com/rubbninja/ 各种室内定位方法 具体的室内无线定位技术可以这样来分类&#xff1a; 无线设备&#xff1a;WIFI、蓝牙、ZigBee、RFID、UWB、LED、红外线、超声波、麦克风等定位信息&#xff1a;主要是RSS&#xff08;接收信号强度&#x…

不同浏览器css引入外部字体的方式

/*** 字体后缀和浏览器有关&#xff0c;如下所示* .TTF或.OTF&#xff0c;适用于Firefox 3.5、Safari、Opera * .EOT&#xff0c;适用于Internet Explorer 4.0 * .SVG&#xff0c;适用于Chrome、IPhone * 比如:*/ font-face {font-family: MyFont;/*定义字体名称*/src: url(fon…