为什么前端要会使用Nodejs

前言现在是一个大前端的时代,各种技术的发展让前端的重要性不言而喻,node作为一门后台语言,我觉得现在前端开发人员也是必不可少的,因为:

为什么前端要会使用Nodejs

文章插图
你熟悉JavaScript假设你正在使用一个功能强大的客户端框架(Angular,Ember, Backbone)以及REST-ful服务器端的API,使用JSON这种数据格式来传输和接受数据 。即使你没有使用其中的任一种框架,你也用jQuery写过自己的框架 。因此如果你不在服务器端使用Node.js,那么你就不断地做转译吧 。你在转译两件事:
  • 来自你脑中JavaScript的逻辑转换为服务器端框架的逻辑 。
  • 来自JSON的HTTP数据转换为你的服务器端的对象 。
JavaScript贯穿着你的应用,你不但智力上涨,你也获得了实践经验 。通过模型和模板的复用,你可以减少应用的大小,同时减少了复杂度和出现bug的可能性 。
它很快Node.js是JavaScript运行环境,使用了Google用在Chrome中的V8引擎 。V8以闪电般的速度编译和执行JavaScript是因为V8将JavaScript编译成本地机器代码 。包括网络连接的读写,文件系统的读写,以及数据库的读写——所有的在网页应用中的日常任务——在Node中执行地非常非常快 。Node能让你创建快速,大规模的网络应用,能够处理高吞吐量的大量的实时连接 。
工具npm是Node.js的包管理器并且它棒呆了 。这确实很棒,当然,这类似于其他生态系统的包管理器,但是npm很快很稳很一致 。他在寻找和安装项目依赖做的非常好 。他让包和其他的项目隔离开来,防止版本混淆 。
实时变得简单如果Node.js很擅长多并发连接,那么他也擅长多用户的,实时的网页程序,例如聊天室和游戏 。Node的 event loop 能够满足多用户需求 。实时能力使用websocket协议 。Websocket是在客户端和服务器端的简单的双向沟通渠道 。因此服务器能够推送数据到客户端就像客户端推送一样 。websocket运行在TCP,避免了HTTP的消耗 。
流数据
传统意义上来说,web框架将HTTP请求和响应当做一个整体的数据对象 。实际上,他们是I/O流,你可以想象,如果你把文件从文件系统中以流的形式取出 。既然Node.js非常擅长处理I/O,我们能够利用这个特点创建一些很酷的东西 。比如,它能够当视频或音频文件上传的时候,就转码音频或视频文件,减少了整体处理的时间 。
一个代码库和免费的实时【为什么前端要会使用Nodejs】Meteor是下一代基于Node的web框架 。他可以在客户端和服务器端运行相同的代码库 。然后,数据自动保存在服务器 。其他的方式也奏效!任何服务器上的数据都自动传到客户端 。未来会更好!任何展示数据的网页都会自动回应和自动更新 。