MBaaS reviews

Review: FeedHenry uses Node.js to fortify mobile apps

FeedHenry boosts enterprise mobile applications with rich client and tools support, as well as fast, scalable, Node.js-based back-end services

MBaaS reviews

Show More
1 2 3 4 Page 2
Page 2 of 4

Many proponents of agile development insist that teams need to be located in one place and have continuous verbal communication. There's a certain amount of truth to that, and I've seen it work amazingly well. On the other hand, many projects -- proprietary enterprise software as well as open source software projects, including outsourced projects -- are developed successfully by internationally distributed teams. GitHub is one of the most widely accepted version control services for globally distributed software development, and I think the way FeedHenry has integrated with GitHub is a step in the right direction. International teams often use a bug reporting and ticketing system, as well as a source code control system. It would be useful for FeedHenry to integrate with one of those, too.

API management and MBaaS
MBaaS is a small part of FeedHenry's bag of tricks. Nevertheless, FeedHenry offers a strong mobile back-end service. Part of what makes it scalable is the use of Node.js, which I discussed above. Further, FeedHenry uses MongoDB for its data store, which is also highly scalable. FeedHenry's servers typically don't even break a sweat under Black Friday-level loads.

FeedHenry back-end code is relatively simple, if you understand Node.js. Here's an example main (application.js) from the automatically generated Welcome app:

var mbaas = require('fh-mbaas-express');
var express = require('express');

// Securable endpoints: list the endpoints which you want to make securable here
var securableEndpoints = ['hello'];

var app = express();
app.use('/sys', mbaas.sys(securableEndpoints));
app.use('/mbaas', mbaas.mbaas);

app.use('/cloud', require('./lib/cloud.js')());

// You can define custom URL handlers here, like this one:
app.use('/', function(req, res){
  res.end('Your Cloud App is Running');
});

// Important that this is last!
app.use(mbaas.errorHandler());
var port = process.env.FH_PORT || process.env.VCAP_APP_PORT || 8001;
var server = app.listen(port, function(){
    console.log("App started at: " + new Date() + " on port: " + port);
});

You'll note the lack of explicit asynchronous code in this example, yet it's highly scalable stuff. You'll also recognize the use of the open source Express Web application framework. 

FeedHenry code editor and app preview
FeedHenry includes an online editor, supporting offline tools, and a command-line interface. Here we see the mobile app, with a code editor in the middle of the screen and a preview at right. You can configure the back-end service in another pane of the online interface.
At a Glance
  • FeedHenry combines the full complement of mobile client support with a fast and scalable Node.js-based back end.

    Pros

    • Team-based development using Git repositories for apps and cloud back ends
    • Supports native, hybrid, HTML5, and Web apps
    • Native support for iOS, Android, and Windows Phone 8
    • Supports most major JavaScript frameworks as well as Appcelerator Titanium and Apache Cordova
    • Online/offline workflow with hosted IDE and local command-line interface
    • Hosted build farm service
    • Highly scalable Node.js-based cloud back end with many integrations
    • Easy drag-and-drop forms builder for apps

    Cons

    • Enterprise pricing may exclude smaller businesses and independent developers
    • Non-trivial learning curve especially for developers unfamiliar with Node.js
    • Node.js code can be tricky to debug
1 2 3 4 Page 2
Page 2 of 4