对react与node的初了解(一)

一、【前端框架】对react的一些介绍

1react定义:是Facebook推出的一个用来构建用户界面的JavaScript库。

2react本质:react本质是一个状态机

React赢就赢在了最小化了重绘,并且避免了不必要的DOM操作

3、背景介绍

web应用开发的早期,构建Web应用的唯一方案就是向服务器发送请求,然后服务端响应请求并且返回一个完整的页面。从开发的角度上讲这种方法非常简单,因为开发者无须关心在浏览器端发生了什么。

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

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

  为了实现更好的用户体验,人们开始开发类库,使用JavaScript在浏览器端渲染应用。这些类库使用的方法也不尽相同简单的会使用带参数的模板,复杂的就完全掌握整个应用。随着开发者在越来越大的应用中使用这些类库,应用也变得越来越难于把握,因为这些应用是一系列互相作用的事件的结果。与PHP那样传统的应用开发方式比起来,这种客户端应用很难做好。

  React发源自FacebookPHP框架XHP的一个分支。XHP作为一个PHP框架,旨在每次有请求进来时渲染整个页面。react的产生就是为了把这种重新渲染整个页面的PHP式工作流带到客户端应用中来。

4选择ReactJS个理由

JavaScriptReactReactJS是由顶尖的IT公司FacebookInstagram协同开发者社区维护的一个开源库。最初开发这个特别框架的目标是搭建数据需要频繁更改的大型应用程序。这样的工具有很多都是我们经常使用的,但其中只有极少数最终彻底改变了我们的工作方式,ReactJS就是其中之一,这就是我们为什么强烈推荐的原因。

总括:JSX使编程更简单;组件化编程方式好处多;虚拟Dom技术,使得开发简单,而页面性能又好;react支持服务端渲染;前后端同构, 搜索引擎更友好;强大的开发工具、

社区强大、兼容各种设备。

 

虚拟DOM ---React效率高、性能好

React可以创建存放组件的虚拟DOM(文档对象模型Document Object Model),实现了一个非常强大的渲染系统,在React中对DOM只更新不读取。这一特点为开发人员提供了高度灵活性和惊人的性能收益,因为它使用非常高效的diff算法,能提前计算出虚拟页面当前版本和新版间的差异,基于这些差异对DOM

行必要的最少更新,从而大幅提升了工作效率和性能。

 

单向数据绑定

就在满世界夸赞双向Data Binding好的时候,React说我默认只支持单向数据流,因为在冯诺依曼体系中,数据就是单向流动的。单向绑定确实相比之下要更加轻,但事实上呢,双向绑定的需求也确实是存在的,比如:用户填写表单的时候,填写的值就需要更新到Model中,所以,React其实也有通过addon React Link来提供这个功能。只是他默认是不支持双向数据绑定的。

Javascript--简化编写流程

JSXJavascriptHTML的完美结合,可专门用于ReactJS,大大简化了编写网站组件的流程。

JSX其实本质上是一种新的语言,只不过它设计成JavaScript一种扩展,所以,其语法绝大部分都和JavaScript一样。而同时它搭配一个JSX Transform的工具可以将JSX编译为原生的JavaScript。

SEO友好

JavaScript框架搜索引擎的缺陷之一是对十分不友好,尽管最近已经有所改进。

但是,React.js在这方面却做的很出色。你可以在服务器端运行React.js,虚拟DOM可以像常规的web页面一样返回给浏览器,不需要任何特殊技巧。

注重用户界面

AngularJSReact NativeMeteorJSFirebase、不同的是,十分重视用户界面。通过设备本地环境与React NativeJavascript交互,可以给用户提供完美的响应式界面,并且合理地利用了本地API达到了跨平台的效果。虽然这一定程度上增加了应用的加载时间,但也保证了程序运行过程中的流畅。

简单,使用便捷

如果准备开发React项目,别忘了安装ReactJS的官方Chrome插件,它能使你的调试过程变得更加简单。安装完插件之后,你就可以像在元素面板中浏览一个常规DOM树一样直接查看虚拟DOM

 

 

二【后台框架】对node.js基本介绍

Node.js属于轻量级开发,效率高,速度快;

Node.js属于异步IO,所以不会发生请求阻塞情况;

Node.js第三方库特别多,真的特别多;

Node.js对各种数据库支持非常好;

Web服务框架koa已经非常成熟;

后端用Node.js我们可以搭建rabbitMQ消息队列;

Node.js小型集群来支持大规模服务。

 

总结

希望以上内容能够让你对这两套框架的独特性有一些了解,如果你正在开发一个SEO友好且能处理大量流量的web应用程序,ReactJS应该是个不错的选择。如果开发时间紧迫,使用reactnode,可快速开发。开发效果也是很好的。

posted on 2017-06-08 09:09  柔光  阅读(715)  评论(0编辑  收藏  举报

导航