如果你已经知道node是什么,那我们就要学习它的框架了。而它的框架又分为两大类,Web框架和全栈框架,接下来我们一个一个的来了解。
API框架
-
使用场景:为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决,通常用于前后端分离开发。
-
知名框架有:
(0)restify(文档、Github、NPM)
(1)ActionHero.js(官网、Github、NPM)
(2)LoopBack(官网、Github、NPM)
(3)Frisby(官网、Github、NPM)
Web框架
-
Web框架可以细分为
API框架
和应用程序框架
,前者能够开发出RESTful风格的API,后者在此基础上还包括渲染、模板等为前端准备的功能。 -
Web应用程序框架根据风格不同又可以分为Rails和Sinatra两种。
-
- Rails风格:不重复自己和约定优于配置,以及严格遵循MVC结构开发。
- 不重复自己,即Don‘t repeat yourself,DRY规则。指系统中的每一个部分,都必须有一个单一的、明确的、权威的代表——人所编写的代码和测试所构成的系统必须能够表达所应表达的内容,但是尽量不能含有重复代码(
三次法则
)。旨在软件开发中,减少重复信息。 - 约定优于配置,即convention over configuration,是一种设计范式。本质就是,开发人员仅需规定应用中不符约定的部分,减少其需做决定的数量。Rails当中很多规矩是按其作者David的意见一开始便制定好了的,所以在Rails上开发应用程序时,开发人员可以更专注于应用程序自身的设计,省却了解以及配置基础框架上面的时间。
-
知名框架有:
(0)Sails.js(官网、Github、NPM)
(1)geddy(官网、Github、NPM)
(2)CompoundJS(官网、Github、NPM) 原railswayjs
- Sinatra风格:高度可配置,注重开发的自由度。
知名框架有:
(0)Express(官网、Github、NPM)TJ大神开发,Node.js官方推荐
(1)hapi(官网、Github、NPM)
(2)koa.js(官网、Github、NPM)
(3)flaliron(官网、Github、NPM)
(4)total.js(官网、Github、NPM)
(5)locomotive(官网、Github、NPM)
全栈框架(Full-stack framework)
-
组成:运行环境、数据库、Web框架和前端引擎。
-
知名框架:MEAN,MEAN即Mongodb + Express + Angular.js + Node.js,做为全栈框架,其中除了Node.js不能被替换以外其他都行。
-
目标:创建从前端到后端全部使用javascript的web应用。
网友评论