Nodejs全栈框架StrongLoop推荐


Posted in NodeJs onNovember 09, 2014

Nodejs全栈框架StrongLoop推荐

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

Nodejs全栈框架StrongLoop推荐

全栈框架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~),然后它就会问一堆乱七八糟的问题了。

Nodejs全栈框架StrongLoop推荐

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

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

Nodejs全栈框架StrongLoop推荐

看一下项目的结构,像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(不知道为啥),然后访问 http://localhost:3030/ 就能看到文档啦~这个功能是基于Docular做的。另外,如果你点LoopBack Services进去没东西,别担心,刷新一下。

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

Nodejs全栈框架StrongLoop推荐

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!各种玩耍吧!

Nodejs全栈框架StrongLoop推荐

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的程度。如果身边有高中生对技术感兴趣,欢迎联系我~ fxp007@gmail.com

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

Nodejs全栈框架StrongLoop推荐

NodeJs 相关文章推荐
nodejs教程之环境安装及运行
Nov 21 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 NodeJs
NodeJS创建基础应用并应用模板引擎
Apr 12 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
nodeJS模块简单用法示例
Apr 21 NodeJs
NodeJs项目中关闭ESLint的方法
Aug 09 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
详解nodejs http请求相关总结
Mar 31 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 NodeJs
typescript nodejs 依赖注入实现方法代码详解
Jul 21 NodeJs
初始Nodejs
Nov 08 #NodeJs
Nodejs极简入门教程(三):进程
Oct 27 #NodeJs
Nodejs极简入门教程(二):定时器
Oct 25 #NodeJs
Nodejs极简入门教程(一):模块机制
Oct 25 #NodeJs
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 #NodeJs
基于NodeJS的前后端分离的思考与实践(五)多终端适配
Sep 26 #NodeJs
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
Sep 26 #NodeJs
You might like
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
CI框架常用方法小结
2016/05/17 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
python中的对象拷贝示例 python引用传递
2014/01/23 Python
django之常用命令详解
2016/06/30 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Python 忽略warning的输出方法
2018/10/18 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
小学生秋游活动方案
2014/02/23 职场文书
大型会议策划方案
2014/05/17 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书