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爬虫进阶教程之异步并发控制
Feb 15 NodeJs
nodejs基础应用
Feb 03 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
Nodejs之TCP服务端与客户端聊天程序详解
Jul 07 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 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 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
json跟xml的对比分析
2008/06/10 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
js读取本地文件的实例
2017/12/22 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python 忽略warning的输出方法
2018/10/18 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
django2笔记之路由path语法的实现
2019/07/17 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
公司人事任命通知
2015/04/20 职场文书
新娘婚礼致辞
2015/07/27 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
MySQL GTID复制的具体使用
2022/05/20 MySQL
Python使用pyecharts控件绘制图表
2022/06/05 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技