MorningSpace Lab
深入浅出LoopBack
第一幕
我们的第一个应用
—— 初尝LoopBack的应用开发
Speaker: MorningSpace
March, 2018
我是谁?
混迹IT圈,蹉跎十余载,如今依旧摸爬滚打于程序员一线的一名普通老兵。虽自觉资质愚钝,却向往程序人生。闲暇之余,偶有技术写译。拙笔译作见诸于市者,如:Manning的《相关性搜索》,O’Rielly的《集体智慧编程》与《EJB 3.0》等。
目前,忝为IBM社交应用产品IBM Connections的中国区Lead Developer。2016年开始接触LoopBack,并将其应用产品开发。愿为优秀开源技术在国内技术社区的推广略尽绵薄之力。
## 我们将了解到什么?
* 什么是LoopBack?
* 为什么选择LoopBack?
* 如何使用LoopBack?
## LoopBack小传
* 2012年底,StrongLoop成立于旧金山湾区
* 2013年3月,发布定位企业应用开发的Node.js开源框架:LoopBack
* 以及用于创建,运行,管理,监控LoopBack应用的图形化工具:StrongLoop Arc
* 2015年9月,IBM收购了StrongLoop
* 数月后,基于IBM Cloud的API全生命周期管理软件诞生:API Connect
## 和其他框架的对比
| |LoopBack |Express |Sails |Meteor
| ---- |:---- |:---- |:---- |:----
|Type |API Framework |HTTP Server Library |Web MVC Framework |Full-stack JS platform
|Client |Yes |None |None |Yes
|API Definition |Yes |None |None |Yes
|Data Source |Yes |None |Yes |Yes
参见:http://loopback.io/resources/#compare
## 谁使用了LoopBack
![](images/who-use-loopback.png)
## 典型步骤
1. 安装命令行工具
2. 创建应用框架代码
3. 为应用定义模型
4. 运行应用程序
5. 访问API Explorer
# install
$ npm install -g loopback-cli
# create app
$ lb
# create models
$ lb model
# run the application
$ node .
## 什么是 ☑︎ TaskMe
* 一个管理个人任务的应用
* 支持任务的定义,修改,和删除
* 以及其他功能(随本课程后续情节的发展逐步增加)
* 麻雀虽小五脏俱全
## ☑︎ 任务清单
* 生成TaskMe的代码框架
* 运行应用程序并学习使用API Explorer
* LoopBack源码: https://github.com/strongloop/loopback
* LoopBack快速上手教程: http://loopback.io/doc/en/lb3/Getting-started-with-LoopBack.html
* LoopBack在线文档: http://loopback.io/doc/
* API参考文档: http://apidocs.strongloop.com/
* Stackoverflow上的LoopBack讨论: https://stackoverflow.com/questions/tagged/loopbackjs
* API Connect: https://developer.ibm.com/apiconnect/
* StrongLoop官方博客: https://strongloop.com/strongblog/tag_LoopBack.html
* Awesome LoopBack: https://github.com/pasindud/awesome-loopback
* 本讲座资源:[全部幻灯及示例源码](https://github.com/morningspace/lab-loopback)