一、服务器端的 Web 开发框架

服务端 Web 开发的重点试对 Http Request 和 Http Response 两个对象的封装和处理,应用的生命周期维护、视图 View 的处理。

1. Express

  • 基于 middleware 中间件的框架,功能丰富
  • 框架自身封装了大量的直接可以使用的 middleware,比如路由、视图处理等,直接可以用来开发 web service
  • 学习曲线平缓,易上手
  • 由于 Express 基于早期的 ES 特性,middleware 的基础原理是使用 callback() 异步回调解决方法

2. Koa

  • 为了克服 express 缺点建立的
  • 是 Express 团队基于 ES6 新特性重新开发的框架,具有大量丰富的 middleware
  • koa 并不绑定任何的 middleware,仅550行代码,大部分功能需要用户自己通过 require middleware 去解决
  • 学习曲线比较陡峭
  • koa 由于基于 es6 特性,使用 async/await 作为异步回调解决方法。middleware 的编写和使用变的更加优雅,易读
  • 异步控制流,代码可读性更高
  • 与 Express 风格的中间件不兼容

3. Loopback.js

  • Loopback 是一个开源的,高可扩展的,基于 express 的 node.js 和 typescript 框架
  • 它使您能够快速创建api和由数据库、SOAP或REST服务等后端系统组成的微服务
  • 使用 CLI 创建 结构化 Project,使用简单的命令 创建 Controller、Service 的组件,代码有层次,易于阅读和管理
  • 官网提供了丰富详细的而文档

4. Sails.js

  • Sails.js 是一个遵循 MVC 原则(模型-视图-控制器)的 web 框架,它基于 Express.js 和 Socket.io。
  • 利用代码生成器,可以减少编写代码的时间,帮助我们快速构建 REST API,单页应用程序和实时双向通信(基于websocket)应用程序。

二、SpringCloud 微服务结构

image.png