Mobile · Backend

Mobile Back-end as a Service

Chandra Jacobs

July 13th, 2013

Mobile Back-end as a Service - What do you use and why (or why not)?

Cullen Zandstra CTO:FloQast

July 13th, 2013

I don't understand the appeal of BaaS. The promise of never having to deal with servers is not a reality for any moderately complex applications. As soon as you need a demon, minimal security, file creation/manipulation/storage, permissions, any kind of third party services like mandrill or s3, or any advanced data processing, you're going to need at least some backend programming. So services like Parse offer the ability to add said programming in the form of pseudcode like "Cloud Code". You then have your business logic on a completely nontransferable platform, and you're completely bound to and limited by whatever service you choose. Whats more is you've gained absolutely nothing, you still have to write the code, it's just that it's not in a common programming language. How is this a good design? 

Brent Goldstein

July 14th, 2013

From the discussion you can see there's a spectrum of choices. A full 'backend' as a service tries to provide all services, and then there are platform as a service options like Heroku (which I use as well). Like with any software system, there's a tradeoff between what you get vs. build. Generally, I'd say it's best to 'get' what you really need, but not any more. Once you need to customize a service or module, it can be more work that having written yourself. And consider that "writing it yourself" can also leverage really powerful frameworks. I'm using AngularJS + Node.js/express + Mongo. Each requires ramp-up, but a huge leap once you get going. -Brent

Michael Brill Technology startup exec focused on AI-driven products

July 14th, 2013

+1 on Cullen's comments. It'd be great to hear from someone who's used parse, kinvey, stackmob, etc. I've looked at them a few times but every time I end up with the same concern that I'm buying into a set of proprietary APIs that I know are going to be highly-restrictive and I'm going to have to create extra server-side code or a database anyway to get around limitations... then I've got a frankenstein mess that I have to integrate *and* pay double for *and* not take advantage of all the super-cool stuff that is coming out on mainstream stacks. 

Like Brent, I've ended up on angular/node/mongodb (and obj-c).

Having said this, if you primarily have client-side functionality and you just need a place to store some extra data and handle push notifications, then parse et al makes a lot of sense if you don't have the server skills.

Keenan Wyrobek CEO at Open Reading

July 13th, 2013

 - SDKs for all mobile platforms
 - Fast to develop with
 - I have had solid uptime experience
 - Good service

Chandra Jacobs

July 13th, 2013

Hi Keenan,

Do you have particular recommendations on service providers?

Anonymous

July 13th, 2013

I'd use Parse: https://www.parse.com/ I've heard a lot of great things about them.

Jesal Gadhia

July 13th, 2013

+1 for Parse. Although it's been acquired by Facebook so I'd be a little worried getting tied down to their platform. Creating a simple web API for a mobile app shouldn't be too challenging and I'd go that route so you can maintain you independence in the long run.

Aaron Perrin Software Architect / Senior Developer

July 13th, 2013

I haven't seen the need yet to move to a data service. I would lose a huge amount of control and flexibility. And, it's fairly simple and chrap to set up a robust web API these days. 

Keenan Wyrobek CEO at Open Reading

July 13th, 2013

Looks my message got split and truncated. Very strange. My list of attributes were for parse.com

John Wallace President at Apps Incorporated

July 14th, 2013

We've hosted the backends for several projects on Heroku. We then write a Ruby on Rails server app to do our business logic and write to a backend PostgreSQL database. It's easy to build and is customizable. For our frontend code, we have a RESTful library that we use to persist our data on the device and sync it with the server.