对vue,react,js等的优缺点简单整理

以下是我偶然间简单整理的,关于vue,react,js等几个语言的优缺点以及适用场景整理,整理的不太详细,不过简单一览后可对以下几种有大概的了解。
1.VUE

优点:

因其性能好、入门快、轻量化、可拓展性强、数据流双向绑定、灵活、模块友好等特点,成为了许多前端开发者搭建框架的首选。

好处:

当前端和数据做一些操作的时候,可以通过AJAX请求对后端做数据持久化,不需要刷新整个页面,只需要改动DOM里需要改动的那部分数据。特别是移动端应用场景,刷新页面太昂贵,会重新加载很多资源,虽然有些会被缓存,但是页面的DOM,JS,CSS都会被页面重新解析一遍,因此移动端页面通常会做出SPA单页应用。

如果页面数据交互复杂 建议用vue。

Vue应用场景:

1)针对具有复杂交互逻辑的前端应用;
2)它可以提供基础的架构抽象;
3)可以通过AJAX数据持久化,保证前端用户体验

Vue.js是一个构建数据驱动的 web 界面的渐进式框架。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
核心是一个响应的数据绑定系统。

缺点:

1)生态环境差,不如angular和react
2)社区不大
如果有问题可以读源码。功能仅限于 view 层,Ajax 等功能需要额外的库。

2.React

优点:

React运用一个虚拟的DOM实现了一个非常强大的渲染系统,在React中对DOM只更新不读取。

React以渲染函数为基础。这些函数读入当前的状态,将其转换为目标页面上的一个虚拟表现。只要React被告知状态有变化,他就会重新运行这些函数,计算出页面的一个新的虚拟表现,接着自动把结果转换成必要的DOM更新来反映新的表现。

它使用了非常高效的算法,计算出虚拟页面当前版本和新版间的差异,基于这些差异对DOM进行必要的最少更新

缺点 :

不是一个框架,它只是MVC(模型 - 视图 - 控制器)中的view
—所以如果是大型项目想要一套完整的框架的话,基本都需要加上ReactRouter和Flux才能写大型应用。

相对其他前端语言来说,还太新了,很难说将来有没有大的API变化,目前在大的稳定的项目上采用React的,我也就只知道有Yahoo的Email,只能说坑还没踩出来。

3.PHP

在web应用开发的早期,构建Web应用的唯一方案就是向服务器发送请求,然后服务端响应请求并且返回一个完整的页面。

像PHP这种语言,是传统的应用开发方式,更加简化了这种开发。使用PHP开发功能组件也很容易,这有助于开发者重用代码,掌握应用程序的行为。开发的简单性使得PHP成为了一门非常流行的Web应用开发语言。

不过,使用这种开发方式很难打造出极佳的用户体验。因为无论每次用户想要做点什么,都需要向服务端发送请求并等待服务端的响应,这会导致用户失去在页面上所积累的状态。

4.JS

JavaScript 通常是运行在前端,混合在HTML中的JS脚本程序直接被浏览器解释执行,以提高页面的美观性和UI操作响应速度为基本目标。

JS控制页面显示、数据较验、数据临时存储(例如:cookie、浏览器支持的数据、localStorage等)等这些功能。

区分JSP:JSP是运行在后台服务器上,混合在HTML中的java程序段,用于控制HTML的动态生成,并且通常负责调用后台数据库中的数据,传到前台,具有丰富数据交互效果的页面

优点:

1)在程序运行过程中被逐行地解释。

JavaScript与HTML标识结合在一起,从而方便用户的使用操作。

2)一种相对安全的脚本语言。

JavaScript作为一种安全性语言,不被允许访问本地的硬盘,且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失或对系统的非法访问。

3)一种跨平台性脚本语言。

JavaScript依赖于浏览器本身,与操作环境无关,只要计算机能运行浏览器,并支持JavaScript的浏览器,就可正确执行,从而实现了“编写一次,走遍天下”的梦想。

缺点:

1)各浏览器厂商对JavaScript支持程度不同

2)“Web安全性”对JavaScript一些功能牺牲。

3)纯粹的JavaScript将不能打开、读写和保存用户计算机上的文件。其有权访问的唯一信息就是该JavaScript所嵌入的那个Web主页中的信息,简言之,JavaScript将只存在于它自己的小小世界—Web主页里。

每次状态改变时,使用JavaScript重新渲染整个页面会非常慢,这应该归咎于读取和更新DOM的性能问题

JavaScript方案——按需要更新每一个元素——要慢

猜你喜欢

转载自blog.csdn.net/qq_37887131/article/details/89404880
今日推荐