LoopBack3.0最佳实践(一)——初识LoopBack

对于LoopBack的新手来说,一开始最容易懵逼的就是LoopBack、StrongLoop和API Connect这几个概念之间扯不断理还乱的关系,本文将从梳理这三个概念开始,带领大家进入LoopBack的世界。

1. LoopBack

开源Node.js框架

LoopBack是以Model为核心的,提供REST API和ORM功能的开源Node.js框架,其官网为http://loopback.io,Github地址为https://github.com/strongloop/loopback。Loopback易于上手,开发者仅需定义一些Model,就可以迅速搭建一款RESTful的Web应用。LoopBack基于Express框架,可以快速地实现Model的REST API方法。LoopBack提供多种数据源的connector,可以轻松完成Model与各种数据源的绑定。下图是LoopBack提供的核心功能,简单点概括就是LoopBack = REST API + ORM + Client SDK
LoopBack核心功能图解

Loopback版本更新时间线
  • 2013/07/25 第一个Release,v0.8.0发布
  • 2013/09/05 Release v1.2.0发布
  • 2014/07/23 Release v2.0.0发布。从2.x版本开始,LoopBack获得了越来越多的关注
  • 2015/12/22 Release v3.0.0-alpha.1发布,LoopBack团队开始着手开发3.x版本
  • 2016/10/13 v3.0.0 Release Candidate发布,进入LoopBack 3.x时代
  • 2017/04/25 Release v4.0.0-alpha.1发布,LoopBack团队开始着手开发4.x版本loopback-next,基于Node.js 7.0+,TypeScript 2.0+,TypeScript Node 3.0+实现。

2. StrongLoop

被IBM收购的IT公司

首先,StrongLoop是一个公司的名字,该公司在2012年成立于旧金山,是LoopBack的主要贡献者,其官网为https://strongloop.com/。2015年9月StrongLoop被IBM收购。

Node.js开发套件

此外,在LoopBack 2.x时代,StrongLoop是LoopBack应用程序管理套件的Node.js安装包的名字,安装后可以使用LoopBack框架、slc命令行工具、StrongLoop PM、StrongLoop Arc等服务。其中StrongLoop Arc是一个GUI管理工具,该工具提供LoopBack应用的创建和部署等功能,StrongLoop PM则负责Node.js的进程监控、性能分析、负载均衡等功能。
StrongLoop Arc

被IBM收购之后,StongLoop开始开发LoopBack 3.0 ,并逐渐把Arc的功能迁移到了IBM的API Connect。2017年4月,StroogLoop Arc完全转入API Connect,官方不再维护。

3. IBM API Connect

API全生命周期解决方案

IBM API Connect的前身是IBM API Management,一个API代理和托管平台,提供创建、管理和监控Proxy API的功能,最后一个稳定版为2015年发布的v4.0.2。IBM收购StrongLoop之后,将后者旗下的产品整合到了API Management,并重新命名为IBM API Connect,版本号直接从v5.0.0开始。

IBM API Connect被打造成一个API全生命周期的管理工具,号称是业界第一个综合的一站式端到端解决方案:
API Connect component view
API Connect与API Management相比,Developer Portal、API Manager和API Gateway这三个已经存在的上层组件得到了增强,而新增的Developer Toolkit等三个底层组件则弥补了API Management在API开发和部署方面的短板。凭借API Connect,开发者可以快速开发自己的Microservice应用,创建和暴露REST API,配置API的访问和认证等安全策略,简化了对API生命周期的控制。

Node.js开发套件

Developer Toolkit这个组件中继承了原StrongLoop开发套件的所有功能,除LoopBack框架之外,还包括API Designer(原StrongLoop Arc)、apic命令行工具(原slc CLI)以及API Microgateway。其Node.js安装包为apiconnect,安装后即可使用Developer Toolkit组件提供的功能。

云服务

与其他所有IBM的产品一样,API Connect也被打包成Bluemix的云服务,用户付费后无需安装便可使用。所以,API Connect即是一个API全生命周期解决方案的名称,也是一个Bluemix上的付费服务,同时Developer Toolkit的Node.js安装包也以它来命名。

参考资料

  1. StrongLoop Node.js API Platform
  2. API Connect components
  3. Getting Started with IBM API Connect: Concepts and Architecture Guide
  4. IBM API Management - Wikipedia
  5. The busy JavaScript developer’s guide to LoopBack