初步认识Node 之Web框架

  上一篇我们认识了Node是什么之后,这一篇我们主要了解的就是它的框架了。而它的框架又分为两大类,Web框架和全栈框架,接下来我们一个一个的来了解。

   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(官网GithubNPM

          (1)geddy(官网GithubNPM

          (2)CompoundJS(官网GithubNPM) 原railswayjs

    2、Sinatra

    风格:高度可配置,注重开发的*度。

    知名框架有:(0)Express(官网GithubNPM)TJ大神开发,Node.js官方推荐

          (1)hapi(官网GithubNPM

          (2)koa.js(官网GithubNPM

          (3)flaliron(官网GithubNPM

          (4)total.js(官网GithubNPM

          (5)locomotive(官网GithubNPM

  二、API框架

    使用场景:为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决。

    知名框架有:(0)restify(文档GithubNPM

          (1)ActionHero.js(官网GithubNPM

          (2)LoopBack(官网GithubNPM

          (3)Frisby(官网GithubNPM

            

   全栈框架

  全栈框架(Full-stack framework)

  组成:运行环境、数据库、Web框架和前端引擎。

  知名框架:MEAN,MEAN即Mongodb + Express + Angular.js + Node.js,做为全栈框架,其中除了Node.js不能被替换以外其他都行。

  目标:创建从前端到后端全部使用javascript的web应用。

ps:本文内容若是有误或者迷糊,还请指正或指出。