node.js的Web开发框架的选择?

栏目: Node.js · 发布时间: 5年前

内容简介:这个问题貌似在其它的后端开发领域不存在。没错,我说的就是隔壁的Java。我要是写java的应用,可以毫不犹豫的选择Spring。但是node可选择的余地多的多。express框架肯定不用说了,写node服务这块的同学肯定是非常熟悉的框架了。我早期的时候也是express的粉丝。express的框架结构非常的简单。经过短暂的学习就可以用来开发一个项目。非常适合作为node新手的入门框架。

node.js的Web开发框架的选择?

这个问题貌似在其它的后端开发领域不存在。没错,我说的就是隔壁的Java。我要是写 java 的应用,可以毫不犹豫的选择Spring。但是node可选择的余地多的多。

现有node服务端框架

1. Express、Koa

express框架肯定不用说了,写node服务这块的同学肯定是非常熟悉的框架了。我早期的时候也是express的粉丝。

优点:

express的框架结构非常的简单。经过短暂的学习就可以用来开发一个项目。非常适合作为node新手的入门框架。

缺点:

开发阶段:

Express的缺点也很明显,由于结构简单,自由度高。每个人会有不同的文件编排方式。前期设计阶段需要人工的把项目约定做好。但是团队来新人了,又要重新学习项目约定,无形中增加了学习成本。说到底还是缺乏项目的工程化约束。在项目的开发初期需要自己手工的搭建一些通用的脚手架代码,来方便的之后的开发工作。开发流程会拖的比较长。

运维阶段:

由于node单进程,js主线程运行的机制。如果在js主线程中没有做好错误的处理。会导致进程意外退出的问题。这在项目运行阶段是不可接受的问题。需要进程守护的机制来保证程序的健壮性。Express和Koa需要依赖第三方的 工具 来实现。如PM2。讲道理这些功能应该是一个web开发框架应该具备的基础功能。

总结:

不管是Express还是Koa框架。还是处于比较简单的基于http模块的封装。在Reuest和Response这两个对象基础上进行扩展开发。我们业务开发团队需要的是稳定、快速的开发框架。实际开发中往往需要在Express和Koa的基础上封装大量的代码,来适应不同的业务场景,这对追求快速开发的互联网行业是不受欢迎的。

2. Egg.js

我在2018年3月份开始接触egg框架。发现这是一个具备较完善功能的web开发框架。

优点:

方便、好用、少写很多的脚手架级别的代码。专注于业务逻辑的开发。内建插件机制,兼容koa插件。约定大于配置。内置多进程管理。阿里巴巴开源。文档是中文的。估计没点自虐倾向的同学一般都会选择母语版本的文档来看吧。

缺点:

由于目前的使用层面还不够深入。除了对应用配置方式的不太满意外,没有发现大的开发痛点。项目开发实践下来,开发效率杠杠的。

总结:

估计写到这里,应该能看出我对egg框架的喜爱程度了。那么下面学习一下egg入门。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

劫持

劫持

玛丽•K. 斯温格尔(Mari K. Swingle) / 邓思渊 / 中信出版集团股份有限公司 / 2018-5-1 / CNY 59.00

《劫持》是一本探讨人与科技的关系的书,基于一位心理学博士20年的临床经验及其作为神经认知科学研究者的脑—电研究成果。在这本面向大众的科普书中,作者以深入浅出的方式,探讨了手机、电脑等便携式数字设备及让人“永不下线”的互联网对现代人尤其是青少年大脑的影响,从神经认知科学和精神分析的角度,有力地证明了数字媒介与大脑和人类行为的关系,探讨了手机等如何对人的大脑进行劫持或操控,并给出了自己作为从业医师的实......一起来看看 《劫持》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码