抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

Node.js 进入移动领域: StrongLoop 推出开源的 mBaaS

2013 年 9 月 23 日

之前推出即开即用企业版Node.js 的公司 StrongLoop 今天推出了一款新产品- LoopBack ,这是一个开源的移动端后台即服务产品。

移动端后台即服务把完整的后台方案做成拿来就用的组件,提高了后台开发的抽象水平。后台即服务所包含的服务通常有:

  • 用户管理 (注册、登录、授权)
  • 数据存储
  • 分析

尽管后台即服务的服务已经有很多了,比如 Firebase Parse ,但都是托管式方案,要把数据放在他们的数据中心上。StrongLoop 的 LoopBack 可以部署到你自己的基础设施上(LoopBack 自降生之日起就支持六种云服务: Amazon Heroku Cloud Foundry 红帽子的 OpenShift Rackspace 云 Cloud9 IDE ),从而保留了所有数据的访问,并可以做定制的修改和补充。

除了宣布推出 LoopBack,StrongLoop 还宣布他们从沙斯塔创投和启明创投筹集到了 800 万美元的风险投资,以及伊萨克 罗斯加盟成为该公司的CEO。

下面是InfoQ 跟StrongLoop 的新 CEO 伊萨克 罗斯的对话。

您的介绍视频 里提到 LinkedIn 是用 ****Node.js 为移动端构建后台的范例(还有其他一些公司)。StrongLoop跟这些公司有直接合作吗,或者是受到启发做跟他们类似的事情?

伊萨克 罗斯:StrongLoop 有一个 StrongLoop 技术咨询委员会 ,这是我们的一个论坛,里面的成员都做过大型复杂的 Node 部署,我们能从具体实现中学到经验、受到启发,他们也可以互相学习,交流思想。我们的很多产品,从 StrongNode 中经过认证的模块到 LoopBack 的架构和具体功能,都是出自这个咨询委员会。甚至我们跟 Node Inspector 的结合也出自他们,因为所有成员都说:“嘿,你知道这儿没有好用的调试工具。”有些需求我们还没能完成,比如 npm 能编译二进制模块,而大多数人在自己的生产机器上都没有编译器,所以他们只能编写脚本来完成构建和部署过程。

为什么 ****JavaScript/Node.js 对移动端后台开发来说是个不错的平台?尽管有争议,但在webapp上还可以说能在客户端和服务端共享专业经验**/代码。然而大多数的原生移动app都是用JavaObjective-C写的,所以说共享知识/代码是说不通的,或者你们主要是对准移动web**

伊萨克 罗斯:你说得对,是面向移动 web 和混合 (比如 PhoneGap) 应用程序,在客户端和服务端共享代码非常棒。

但事实证明大多数开发人员都了解 JavaScript,它是一门优秀的脚本语言。运行速度快,开发效率高。在编写移动应用时,为了优化速度、节省带宽和降低耗电量,真的需要精心细化过的后台 API,只推送和拉取用户当前交互所需的数据。如果把整个客户记录都拉过来,就会浪费人们的移动资费,所以应该只把屏幕上的几个字段 填充上,当用户滑动或按下按钮进入下一屏时,才加载下一屏的数据。这种级别的粒度表明你要不断地创建后台 API 并定制它们。还要尽可能把数据的计算和获取 / 排序 / 揉合推到后台,因为这些工作在后台做效率更高。

所以要用高效的语言编程,写代码快,运行迅速,伸缩性好,还有你已经知道的。对于大多数移动应用开发人员来说,不管他们是用 Android Java、Objective-C 编程,还是用 JavaScript ,JavaScript 就是这种语言。后台代码写得越快,就能腾出更多的精力放在前端交互上,而这通常是人们评判一个 app 的标准。从我们得到的反馈来看,选择 Node 的人就是因为它快(所谓快,是指它运行快,但更主要的是用它开发快)。

你可能觉得作为一门语言或体系来说,Node 还不成熟,但这种情况变化很快,并且我们成立 StrongLoop 实际上就是为了催熟 Node。这里有很多我们试图解决的问题:

  • 模块体系的导航,并且不知道哪个模块又好又可靠… 现在我们会对模块进行验证并在背后支持他们
  • 工具……就像对 Node Inspector 做的一样,我们在更好的工具上投资,以提高开发者的工作效率-部署和伸缩……StrongNode 有集群 API 和集群管理,我们将继续为这些问题创建开放的工具。
  • 错误跟踪……Bert 上周展示了他做的原型,经过改进的 Node 出现错误后更容易追踪。
  • 基于事件的流程控制太难……我们已经集成了 Q 和 Async,可以实现不同风格的流程控制,并且 Bert 的任务建议又把这个向前推进了一步。

所以说,凭借着有成千上百万了解 JavaScript 的程序员,并且它学起来也很容易,Node 将逐渐成为世界级的编程环境。

mBaaS思想的本质是一个或多个即开即用的组件。它本质上是一个软件“成品”,比如在理想情况下不需要自己修改。跟其它技术相比,用Node.js写能给LoopBack**** 的用户带来什么好处?

伊萨克 罗斯:你说得对,通常都是即开即用的 API。然而大多数 mBaaS 都创建了对那些即开即用功能进行扩展的办法,都承认开发人员通常需要定制这样一个事实 (比如 Parse 调用这段“云代码”)。有意思的是几乎每个 mBaaS 都允许用 JavaScript 或只用 JavaScript 做这种扩展,这更加表明 JavaScript 是既成事实的移动端后台语言。

LoopBack 酷在把这一想法带到了另一个层面。给你的是软件组件“成品”,但你还能用庞大的强力体系社区中的 40000 多个 node 组件扩展它。而且 LoopBack 是建立在社区“标准”上的,而不是我们独门独派的东西,比如你需要用新的认证方式来获取数据,我们用的是 Passport,所以你可以用任何一个 Passport 的插件实现那种方式。如果想加个 Express 插件,用 LoopBack 也能处理得很好。

之前在开发的时候我们跟一个企业架构师聊过,他管这叫“组合”能力。他想要混合并匹配组件,扩展核心功能,知道软件能跟着他成长,而不是卡死在一个不能发展的软件“成品”上。

另外这是一个很强的保险。如果厂商(也就是 StrongLoop)消失了,或者收费太高,你不会卡死在这个 mBaaS 上。用 LoopBack,你可以自己修改代码,或者找个顾问让它朝你想要的方向发展。

LoopBack 是开源的, 可以到它的网站上下载

原文链接: Node.js Goes Mobile: StrongLoop Launches Open Source mBaaS


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013 年 9 月 23 日 06:032957
用户头像

发布了 45 篇内容, 共 22.8 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

TechShare#1回顾|快速上手ink!智能合约

Patract

智能合约 polkadot Patract Wasm ink!

推荐25种自媒体运营必备工具 (建议收藏)

科技猫

工具 网站 分享 运营 自媒体

Substrate 合约书之合约模型

Patract

智能合约 rust polkadot Patract Wasm

勇夺桂冠!百度智能云获山东电力输电人工智能技术竞赛第一名

百度大脑

百度智能云

函数计算助力高德地图平稳支撑亿级流量高峰

阿里巴巴中间件

微服务转型系列2:微服务转型的三大误区,避坑指南

BoCloud博云

微服务 微服务转型

图查询语言的历史回顾短文

Nebula Graph

数据库 数据库设计 图数据库

交易所合约跟单软件搭建,火币合约跟单平台开发

13823153121

【科创人】贝锐创始人陈宇晔:花生壳诞生自一次挫折,15年坚守有温度不作恶

科创人

进公司不会用 Git 拉项目!第二天被开除?

Java架构师迁哥

iceberg查询加速原理

聚变

融云 CTO 杨攀:技术人员如何创业?

Yano

中国数字人民币试点有序扩大至“10+1” 拜登政府正加强研究数字人民币计划

CECBC区块链专委会

数字货币

函数计算助力语雀构建稳定且安全的业务架构

阿里巴巴中间件

文档 企业架构和云服务 业务架构

波卡议会就如何应对竞争性的分叉中继链展开激烈讨论

Patract

智能合约 Substrate polkadot Patract Wasm

浅析“分布式锁”的实现方式丨C++后端开发丨底层原理

Linux服务器开发

redis zookeeper 分布式锁 Linux服务器开发 C++后端开发

汽车之家基于 Flink 的数据传输平台的设计与实践

Apache Flink

flink

腾讯大神为什么会对这份“redis深度笔记”如此爱不释手?

Java架构师迁哥

Java开发9年经验,三轮技术面+HR面试成功砍下阿里巴巴Offer!

Java架构追梦

Java 阿里巴巴 架构 面试经历 面试题总结

Nacos 2.0 性能提升十倍,贡献者 80% 以上来自阿里之外

阿里巴巴云原生

微服务 开发者 云原生 dubbo 中间件

云存储中不可不知的五个安全问题及应对措施

浪潮云

云计算

区块链技术重新定义 物联网的物与物之间的交易

CECBC区块链专委会

发展空间

一个极简的冲突管理工具

石云升

28天写作 职场经验 管理经验 4月日更 冲突管理

Spark数据倾斜解决方案

大数据技术指南

spark 4月日更

Patract与Plasm达成深度合作,普及Wasm合约开发工具套件

Patract

智能合约 rust polkadot Patract Wasm

波卡与 Wasm 合约双剑合璧

Patract

智能合约 polkadot Patract EVM

Java该怎么学?阿里大佬呕心沥血之作,Java全线成长宝典,从P5到P8一应俱全

Java架构师迁哥

不服不行!Github即将爆火的「高并发秒杀顶级教程」,先睹为快

程序员改bug

Java 编程 程序员 架构 高并发

《彩食鲜 CTO 乔新亮:程序员如何从技术走向管理》(采访提纲)

这就是编程

Coinbase上市,对加密市场将带来哪些影响?

CECBC区块链专委会

货币

金融科技数据链的DNA

博睿数据

金融科技 博睿数据 数据链DNA

Study Go: From Zero to Hero

Study Go: From Zero to Hero

Node.js 进入移动领域: StrongLoop 推出开源的 mBaaS-InfoQ