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