这是当时我觉得StrongLoop最好用的一点,这是当时

作者: 前端  发布:2019-09-01

Nodejs全栈框架StrongLoop推荐,nodejsstrongloop

9159.com 1

StrongLoop是一个基于Nodejs的强大框架,几乎包含了移动开发全栈所需要的所有功能。2013年成立,很少的员工,一个技术驱动,执行力强大的团队。也是在13年我开始接触StrongLoop,当时是为了做nodejs方面的技术选型,看了许多框架,LoopBack是我觉得最酷的一个。我还记得当时是觉得LoopBack的文档太差(主要是跟在线的版本不一样),不知道能活多久所以才放弃了它。时隔一年回来看到这个绿油油的框架,这一年可真是突飞猛进呢。

9159.com 2

全栈框架StrongLoop

StrongLoop基本提供了制作一个移动产品所有的框架和工具,从标准的Backend server,Devops,应用监控,。要想介绍完全StrongLoop的所有产品得写一个长篇连载了,这里只简单的浏览一遍。

LoopBack

一个功能很强大的WebServer框架,隐约看到Spring的影子...

SDK

这是当时我觉得StrongLoop最好用的一点:根据后端Model自动生成对应的前端SDK。RESTful API
MEAN stack推动了所有新框架默认支持RESTful API,比如Nodejs里的Node-restify,Sailjs之类的天生就是为了serve API的。StrongLoop还提供了一个用来设计API的工具(beta状态),当然跟RAML比还是差不少的。Data model
很容易创建数据模型,自动产生对应的RESTful API。Connectors
当然可以对接各种数据库。StrongLoop Controller
Debug, Package Management, Build, Deploy, Cluster, Log等等一堆Devops工具。Application Monitor
一堆监控服务器的模块。mBaaS
使用StrongLoop,你也可以创建自己的LeanCloud啦,包括Push,地理位置计算(Geopoint),Social Login,User management,各种Replication,Offline sync(离线同步是个好东西),对接各种Stroage云(AWS,Rackspace之类内置了的)。当然,其实这些都是LoopBack里提供的功能,意思是用StrongLoop得永生。开始

安装StrongLoop sudo npm install -g strongloop
创建一个应用 slc loopback(找个空白的目录哦) 它只会问你项目叫啥。
创建一个Model slc loopback:model (是不是想起了Yo generator~),然后它就会问一堆乱七八糟的问题了。

9159.com 3

plural指的是RESTful API的route名,一个Model对应的route默认情况下会被plural(复数化),比如Post的路径是Posts。

猜一下,像LeanCloud里类似,这时候应该去访问一个类似127.0.0.1:3000/xxx的地方看到他的后台吧~嗯 xxx=explorer 就能看到一个用Swagger做的API dashboard。

9159.com 4

看一下项目的结构,像Meteor一样,LoopBack将JS代码分成服务端(server),前端(client),以及共用部分(common,个人认为这种纯schema的方法比Meteor分割的更清晰)。

略过后面的API Explorer,如何连Database,直接看如何在前端使用刚刚创建出来的API。LoopBack的做法是帮助你创建你当前API的各端SDK,目前只支持Android/iOS/Angularjs。如果你用别的Web框架可能就只能自力更生了。

创建自己的SDK lb-ng server/server.js client/lb-services.js 看看client/lb-services.js,不错吧~

嗯,你的前端工程师需要个文档?执行 lb-ng-doc client/lb-services.js 有时候需要在前面添加sudo(不知道为啥),然后访问 就能看到文档啦~这个功能是基于Docular做的。另外,如果你点LoopBack Services进去没东西,别担心,刷新一下。

看看是不是很像早期Angular的文档~

9159.com 5

API Designer

相信很多程序员喜欢Parsejs或者LeanCloud的原因都是那个图形化界面的Model设计(或者叫API设计)后台。如果前面用的那个"Yo generator"的API creator看起来还不够贴心,你可以试试StrongLoop新推出的StrongLoop Studio beta。

在工程根目录下

sudo npm install -g http://get-studio.strongloop.com/strong-studio.tgz 安装Studio。启动Studio strong-studio,自动打开浏览器去StrongLoop官网右上角注册个账号(文档里居然写了On the bottom right is a link to go to the registration page on strongloop.com,你们不知道页面很容易改版么...)用注册的用户名登录进去看到API Composer和Profiler。Bingo!各种玩耍吧!

9159.com 6

p.s.如果这时候你遇到了类似SyntaxError: Cannot parse package.json: Unexpected token e这样的问题,检查一下你工程根下的package.json里是不是被jslint搞乱了(I dont't know why...)
好吧好吧,我告诉你这个beta还真是特别beta...尽量不要在之前写过代码的项目里用...

懒人们

如果你缺个可以玩耍的Mongodb:Mongolab
如果你想要个可以协作开发的IDE:Koding
如果你想要个便宜好用的VPS:Digital Ocean
如果你觉得他们家不够便宜:Serverbear
如果你连VPS都不想要,只想部署个Node项目:Nodejitsu
如果你想设计个API尽快给客户端同学,又不想搭Node,找地方部署:Apiary
如果你想做(抄)个APP,又不想花钱雇一堆人:Appdupe

30天结束

这是最后一篇30hackdays啦,终于熬出来了(吁...)。Anyway,这三十天我学到了很多,如何寻找自己想要的服务,如何快速实现原型,如何比较开发者产品的竞品...

回头看,文章的内容肯定没有Shekhar的那篇Learning 30 Technologies in 30 Days: A Developer Challenge写的详尽(确实也没人家投入那么多时间精力),但我选择的技术更广泛(或者叫更乱七八糟),对我也是一种扩展视野的过程。

希望我的这个系列能给大家一些启发。技术并不都是那么深奥难懂,拥抱它也许不能立刻涨工资,但至少在寒冷的日子里,没有wifi,孤独寂寞冷的时候,还可以打开浏览器的console,输入个while,来暖暖手。

下面

嗯,不是你想的那个,也不是用来吃的。之后我会继续时不时写一些发现的好玩的开发者服务;另外,我会写一个StrongLoop的系列文章来介绍这个框架更多的特性,希望大家能够尝试这个迅猛发展的产品。

再做个小广告:最近在做一个小班(免费),专门教高中生技术,直到达成可以自行参加Hackathon的程度。如果身边有高中生对技术感兴趣,欢迎联系我~ [email protected]

ok,那些输了的情自行来约~

9159.com 7

StrongLoop是一个基于Nodejs的强大框架,几乎包含了移动开发全栈所需要的所有功能。2013年成立,很...

9159.com 8

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

英文地址:
http://loopback.io/doc/en/lb3/Glossary.html

StrongLoop是一个基于Nodejs的强大框架,几乎包含了移动开发全栈所需要的所有功能。2013年成立,很少的员工,一个技术驱动,执行力强大的团队。也是在13年我开始接触StrongLoop,当时是为了做nodejs方面的技术选型,看了许多框架,LoopBack是我觉得最酷的一个。我还记得当时是觉得LoopBack的文档太差(主要是跟在线的版本不一样),不知道能活多久所以才放弃了它。时隔一年回来看到这个绿油油的框架,这一年可真是突飞猛进呢。

1. LoopBack

A

9159.com 9

开源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核心功能图解

ACL

访问控制列表,与标识所有可访问对象的主题及其访问权限的对象关联的列表。请参阅身份验证,授权和权限。

全栈框架StrongLoop

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 实现。

API

应用程序接口。允许以高级语言编写的应用程序使用操作系统或其他程序的特定数据或功能的接口。

StrongLoop基本提供了制作一个移动产品所有的框架和工具,从标准的Backend server,Devops,应用监控,。要想介绍完全StrongLoop的所有产品得写一个长篇连载了,这里只简单的浏览一遍。

2. StrongLoop

APIC

IBM API Connect命令行工具。它为脚本LoopBack应用程序提供命令。有关更多信息,请参阅命令行工具。

LoopBack

被IBM收购的IT公司

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

adapter 适配器

提供传输特定机制,使远程对象(及其集合)在其传输中可用。看强力远程。

一个功能很强大的WebServer框架,隐约看到Spring的影子...

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,官方不再维护。

Android

由Google创建的移动操作系统,其中大部分是根据Apache 2.0和GPLv2开源许可证发布的。

SDK

3. IBM API Connect

AngularJS

开源客户端JavaScript框架。

这是当时我觉得StrongLoop最好用的一点:根据后端Model自动生成对应的前端SDK。RESTful API
MEAN stack推动了所有新框架默认支持RESTful API,比如Nodejs里的Node-restify,Sailjs之类的天生就是为了serve API的。StrongLoop还提供了一个用来设计API的工具(beta状态),当然跟RAML比还是差不少的。Data model
很容易创建数据模型,自动产生对应的RESTful API。Connectors
当然可以对接各种数据库。StrongLoop Controller
Debug, Package Management, Build, Deploy, Cluster, Log等等一堆Devops工具。Application Monitor
一堆监控服务器的模块。mBaaS
使用StrongLoop,你也可以创建自己的LeanCloud啦,包括Push,地理位置计算(Geopoint),Social Login,User management,各种Replication,Offline sync(离线同步是个好东西),对接各种Stroage云(AWS,Rackspace之类内置了的)。当然,其实这些都是LoopBack里提供的功能,意思是用StrongLoop得永生。开始

API全生命周期解决方案

IBM API Connect的前身是IBM API Management,一个API代理和托管平台,提供创建、管理和监控Pro�xy 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,开发者可以�快速开发自己的Micro�service应用,创建和暴露REST API,��配置API的访问和认证等安全策略,简化了对API生命周期的控制。

API Connect API连接

IBM产品集成了StrongLoop和LoopBack技术,用于创建,运行,管理和保护API。请参阅DeveloperWorks> API连接。

安装StrongLoop sudo npm install -g strongloop
创建一个应用 slc loopback(找个空白的目录哦) 它只会问你项目叫啥。
创建一个Model slc loopback:model (是不是想起了Yo generator~),然后它就会问一堆乱七八糟的问题了。

Node.js开发套件

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

Arc 弧

StrongLoop API生命周期图形工具套件,包括用于构建,分析和监视节点应用程序的工具。StrongLoop Arc不再处于积极的开发阶段,不久将被淘汰。

9159.com 10

�云服务

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

B

plural指的是RESTful API的route名,一个Model对应的route默认情况下会被plural(复数化),比如Post的路径是Posts。

参考资料

  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

boot script 启动脚本

默认情况下,/server/boot目录中启动应用程序时自动运行的JavaScript函数。请参阅定义启动脚本。

猜一下,像LeanCloud里类似,这时候应该去访问一个类似127.0.0.1:3000/xxx的地方看到他的后台吧~嗯 xxx=explorer 就能看到一个用Swagger做的API dashboard。

built-in model 内置型号

默认情况下,每个LoopBack应用程序都有一个预定义的模型。请参阅使用内置型号。

9159.com 11

C

看一下项目的结构,像Meteor一样,LoopBack将JS代码分成服务端(server),前端(client),以及共用部分(common,个人认为这种纯schema的方法比Meteor分割的更清晰)。

cluster 簇

一组相同的Node worker进程在同一端口上接收请求。参见: 工人。

略过后面的API Explorer,如何连Database,直接看如何在前端使用刚刚创建出来的API。LoopBack的做法是帮助你创建你当前API的各端SDK,目前只支持Android/iOS/Angularjs。如果你用别的Web框架可能就只能自力更生了。

component 零件

扩展基本LoopBack应用程序的预定义包。从根本上说,组件是将相关代码捆绑在一起作为一个单元,以使LoopBack应用程序能够轻松重用。请参阅LoopBack组件。

创建自己的SDK lb-ng server/server.js client/lb-services.js 看看client/lb-services.js,不错吧~

component 连接器

请参阅LoopBack连接器。

嗯,你的前端工程师需要个文档?执行 lb-ng-doc client/lb-services.js 有时候需要在前面添加sudo(不知道为啥),然后访问 就能看到文档啦~这个功能是基于Docular做的。另外,如果你点LoopBack Services进去没东西,别担心,刷新一下。

D

看看是不是很像早期Angular的文档~

data source 数据源

数据源使用连接器与特定数据库或其他后端系统连接。请参阅将模型连接到数据源。

9159.com 12

E

API Designer

endpoint 端点

看路线。

相信很多程序员喜欢Parsejs或者LeanCloud的原因都是那个图形化界面的Model设计(或者叫API设计)后台。如果前面用的那个"Yo generator"的API creator看起来还不够贴心,你可以试试StrongLoop新推出的StrongLoop Studio beta。

enterprise connector 企业连接器

连接到后端数据源(如Oracle,MySQL或MongoDB)的模块。

在工程根目录下

environment variable 环境变量

定义进程操作环境方面的变量。例如,环境变量可以定义主目录,命令搜索路径,正在使用的终端或当前时区。

sudo npm install -g http://get-studio.strongloop.com/strong-studio.tgz 安装Studio。启动Studio strong-studio,自动打开浏览器去StrongLoop官网右上角注册个账号(文档里居然写了On the bottom right is a link to go to the registration page on strongloop.com,你们不知道页面很容易改版么...)用注册的用户名登录进去看到API Composer和Profiler。Bingo!各种玩耍吧!

9159.com,event loop 事件循环

运行Node.js应用程序的单线程执行过程,通常进行一系列异步函数调用。

9159.com 13

G

p.s.如果这时候你遇到了类似SyntaxError: Cannot parse package.json: Unexpected token e这样的问题,检查一下你工程根下的package.json里是不是被jslint搞乱了(I dont't know why...)
好吧好吧,我告诉你这个beta还真是特别beta...尽量不要在之前写过代码的项目里用...

generator 发电机

支持全部或部分LoopBack应用程序的交互式命令行工具。请参阅命令行工具。

懒人们

I

如果你缺个可以玩耍的Mongodb:Mongolab
如果你想要个可以协作开发的IDE:Koding
如果你想要个便宜好用的VPS:Digital Ocean
如果你觉得他们家不够便宜:Serverbear
如果你连VPS都不想要,只想部署个Node项目:Nodejitsu
如果你想设计个API尽快给客户端同学,又不想搭Node,找地方部署:Apiary
如果你想做(抄)个APP,又不想花钱雇一堆人:Appdupe

iOS

苹果设备的封闭源码专有移动操作系统。

30天结束

J

这是最后一篇30hackdays啦,终于熬出来了(吁...)。Anyway,这三十天我学到了很多,如何寻找自己想要的服务,如何快速实现原型,如何比较开发者产品的竞品...

JSON

JavaScript对象符号; 一种基于JavaScript对象字面符号的轻量级数据交换格式。JSON是编程语言中性,但使用各种语言的约定。

回头看,文章的内容肯定没有Shekhar的那篇Learning 30 Technologies in 30 Days: A Developer Challenge写的详尽(确实也没人家投入那么多时间精力),但我选择的技术更广泛(或者叫更乱七八糟),对我也是一种扩展视野的过程。

L

希望我的这个系列能给大家一些启发。技术并不都是那么深奥难懂,拥抱它也许不能立刻涨工资,但至少在寒冷的日子里,没有wifi,孤独寂寞冷的时候,还可以打开浏览器的console,输入个while,来暖暖手。

lb

用于脚手架和开发LoopBack应用程序的LoopBack命令行界面(CLI)工具。取代传统slc工具。

下面

LDL

LoopBack定义语言,一种用于定义LoopBack模型和其他配置的JSON形式。

嗯,不是你想的那个,也不是用来吃的。之后我会继续时不时写一些发现的好玩的开发者服务;另外,我会写一个StrongLoop的系列文章来介绍这个框架更多的特性,希望大家能够尝试这个迅猛发展的产品。

load balancer 负载均衡器

在一组服务器上分发工作负载的软件或硬件,以确保服务器不会过载。如果初始服务器发生故障,负载平衡器也会将用户引导到另一台服务器。

再做个小广告:最近在做一个小班(免费),专门教高中生技术,直到达成可以自行参加Hackathon的程度。如果身边有高中生对技术感兴趣,欢迎联系我~ fxp007@gmail.com

LoopBack connector LoopBack连接器

提供对后端系统(如数据库,REST API或其他服务)的访问的连接器。

ok,那些输了的情自行来约~

LoopBack DataSource Juggler

对象关系映射,提供了一组通用的接口,用于与数据库,REST API和其他数据源进行交互。

9159.com 14

LoopBack model LoopBack模型

由应用程序数据,验证规则,数据访问功能以及默认提供REST API的业务逻辑组成的模型。

您可能感兴趣的文章:

  • nodeJs爬虫获取数据简单实现代码
  • Nodejs爬虫进阶教程之异步并发控制
  • nodejs爬虫抓取数据之编码问题
  • nodejs爬虫抓取数据乱码问题总结
  • NodeJS制作爬虫全过程(续)
  • NodeJS制作爬虫全过程
  • Nodejs Express4.x开发框架随手笔记
  • 基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
  • 14款NodeJS Web框架推荐
  • NodeJS Express框架中处理404页面一个方式
  • NodeJS框架Express的模板视图机制分析
  • 简单好用的nodejs 爬虫框架分享

M

MBaaS

移动后端即服务。将移动应用程序连接到云计算服务的计算模型,通过统一的API和SDK,提供用户管理,推送通知和社交网络集成等功能。

middleware function 中间件功能

当向指定的REST端点发出HTTP请求时执行的功能。由于LoopBack基于Express,LoopBack中间件与Express中间件相同。请参阅定义中间件。

middleware phase 中间件阶段

当您调用中间件功能时,应用程序执行阶段。请参阅定义中间件。

model 模型

请参阅LoopBack模型。

model property 模型属性

附加到模型的值; 对于持久化模型,对应于数据库列或字段。

N

NPM

节点包管理器,用于使用npm注册表安装应用程序和管理依赖关系的命令行工具。

O

on-premises 本地

涉及在用户或组织的本地计算机上安装和运行的软件。

operation hook 操作钩

由模型的高级创建,检索,更新或删除(CRUD)操作触发的代码。请参阅操作钩。

P

Persisted model 持久模型

一个LoopBack模型,连接到持久性数据源,自动获取基本的创建,读取,更新和删除方法。

production 生产

当应用程序或API通常可用于最终用户或消费者时,软件生命周期中的阶段。与“发展”和“测试”对比。也称为“部署”。

production host 生产主机

运行生产应用程序的服务器。

property 属性

请参阅模型属性。

push notification 推送通知

向移动应用发送警报或消息。请参阅推送通知。

R

remote object 远程对象

通过StrongLoop应用程序通过网络导出的JavaScript对象与从模块导出功能的方式相同。您可以使用JavaScript在本地调用远程对象上的方法。

REST

用于分布式超媒体系统(如万维网)的软件架构风格。该术语还经常用于描述任何使用XML(或YAML,JSON,纯文本)的简单界面,而不需要附加的消息层,例如SOAP。

route 路由

识别资源的URL的一部分。例如,在http: //foo.com/products/id</code>, the route is /products/id.

runtime 运行

与计算机程序运行的时间段有关。

S

SDK

软件开发套件 一组工具,API和文档,以协助以特定的计算机语言或特定的操作环境开发软件。

SLC

用于开发和操作的传统StrongLoop命令行工具。它被LoopBack CLI工具所取代lb。

synchronization 同步

在两个端点(如提供商应用程序和移动应用程序)之间实现数据一致性的过程。在此过程中,在任一端点,可以更新,创建或删除数据。请参阅同步。

W

worker

Node.js子进程。

本文由9159.com发布于前端,转载请注明出处:这是当时我觉得StrongLoop最好用的一点,这是当时

关键词: 9159.com