Node.js Goes Mobile: StrongLoop Launches Open Source mBaaS
StrongLoop, the company which previously launched an Enterprise-Ready Node.js distribution, is today launching a new open-source mobile backend-as-a-service product named LoopBack.
Mobile backends as a service raise the level of abstraction of backend development by offering a complete back-end solution as off-the-shelf components. Services that are typically included as part of a back-end-as-a-service include:
- User management (registration, login, authorization)
- Data storage
Whereas many existing backend-as-as-a-service services, such as Firebase and Parse, are hosted solutions and store your data in their data center. StrongLoop's LoopBack can be hosted on your own infrastructure (LoopBack from day one will support six clouds: Amazon, Heroku, Cloud Foundry, Red Hat’s OpenShift, Rackspace Cloud and Cloud9 IDE), thereby retaining access to all data, as well as supporting custom changes and additions.
In addition to announcing LoopBack, StrongLoop also announced that is has raised $8 million in venture capital from Shasta Ventures and Ignition Partners, and that Issac Roth, has joined the company as its CEO.
InfoQ spoke with Issac Roth, StrongLoop's new CEO.
Your introductory video mentions LinkedIn as example of using Node.js for building backends for mobile (as well as some other companies). Does StrongLoop collaborate with these companies directly, or does it do something similar to/inspired by them?
Issac Roth: StrongLoop has the StrongLoop Technical Advisory Council which is a forum for us to be inspired by and learn from their specific implementations along with members who are running large scale complex Node deployments to be able to learn from each other and exchange ideas. Much of our product development from the certified modules in StrongNode to the architecture and specific functions in LoopBack have come out of this advisory council. Even our engagement with Node Inspector came from this, where all members were saying: "Hey you know there's no good debugger." We have some unfulfilled requests too, like the fact that npm compiles binary modules and most people don't have compilers on their production machines so they have to script up a kind of build-and-deploy process.
Issac Roth: As you point out, for mobile web and hybrid (i.e. PhoneGap) applications, sharing code between client and server is terrific.
You could fairly say that Node is immature as a language or ecosystem, but that is rapidly changing, and we formed StrongLoop actually to mature Node. Many of the issues that have been a problem we are trying to address:
- Navigating the module ecosystem and not knowing which modules are good & reliable… we now certify modules and stand behind them
- tooling.. as we have done with Node Inspector we are investing in better tooling to make developers productive - deployments and scaling.. StrongNode has cluster APIs and cluster management and we're continuing along to create open tooling for these issues
- error tracking.. Bert last week presented his prototype for evolving Node so as to make errors easier to track down.
- Event-based flow control is hard.. we've embraced Q and Async for different styles of flow control, and Bert's Tasks proposal takes this one step further.
The idea of a mBaaS is that it's essentially one or more off-the-shelf components. It's essentially "done" software, i.e. you don't have to hack it yourself, ideally. What benefits do users of LoopBack get from the fact that it has been written using Node.js, as opposed to any other technology?
What's cool about LoopBack is that it takes this idea to another level. You get "done" software components, but you can extend this with the giant 40,000-strong ecosystem of community node modules. And we based LoopBack on community "standards" rather than writing our own stuff, so for example if you need to use a new authentication scheme for data access, we used Passport, so you can use any of the available plug-ins for Passport to get that scheme. If you want to add one of the Express plug-ins, that will work well with LoopBack.
An enterprise architect we talked to early in the development called this the ability to be "composable." He wanted to mix and match components, extend the core capabilities, and know that the software would grow with him not just get stuck as a "done" piece of software that could not be advanced.
Plus it's great insurance. If the vendor (StrongLoop in this case) goes away or charges too much, with another mBaaS you're stuck. With LoopBack, you can just hack the code yourself or find a consultant to move it in the direction you want.
LoopBack is open source and available for download from its website.