5 BaaS Tools that can halve development timeby@rogerjin12
1,609 reads
1,609 reads

5 BaaS Tools that can halve development time

by Roger JinJune 13th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Why spend time building things that you can buy or rent?
featured image - 5 BaaS Tools that can halve development time
Roger Jin HackerNoon profile picture

Why spend time building things that you can buy or rent?

If you’ve never heard of the term “BaaS” before, it stands for “Backend as a Service” and refers to third-party services that can be integrated into your applications to build out specific functionality quickly.

For example, imagine how much work it’d take your team to build a single sign on service for your product along with an admin interface for provisioning and managing user permissions. Sound like a pain? Well good news, there are plenty of services that you can drop-in to achieve this without writing a single line of server code.

In fact these days there are a number of successful companies who have been able to produce compelling products with barely any of their own server-side code.

In this article we introduce five BaaS providers that address common features and take a look at how they work.

1) Auth0 for authentication

Imagine owning several server-rendered web apps, single page apps, APIs, and mobile apps that all need to authenticate and authorize a shared set of users?

Auth0 makes this easier with its authentication platform. Auth0 can be integrated in a number of ways including hosted login pages and fully-integrated forms built using their SDK’s.

For example, their hosted login page can be launched with a tiny amount of JavaScript code:

window.addEventListener('load', function() { var webAuth = new auth0.WebAuth({   domain: 'YOUR_AUTH0_DOMAIN',   clientID: 'YOUR_CLIENT_ID',   redirectUri: window.location.href,   audience: 'https://YOUR_AUTH0_DOMAIN/userinfo',   responseType: 'token id_token',   scope: 'openid' }); var loginBtn = document.getElementById('btn-login'); loginBtn.addEventListener('click', function(e) {   e.preventDefault();   webAuth.authorize(); });});

Auth0 also provides an admin interface for managing users, permissions, and even impersonation.

Auth0 even offers nice extras like multi-factor authentication and breached password detection.

2) ButterCMS for blogs and content management

Imagine you’ve built a website using your favorite tech stack (eg. Node.js, Rails, React). Now imagine that you need to add a client-friendly blog and content management system your application–something as simple to use as WordPress.

Building a blog and CMS backend are probably the least exciting things you want to be working on. Luckily, ButterCMS makes this easy.

ButterCMS provides APIs and SDKs for integrating dynamic content into your application, along with a client-friendly admin interface for content editing and publishing.

For example, fetching your blog posts or page content as JSON can be done with this simple code using the ButterCMS JavaScript client: { console.log(response)})

butter.content.retrieve(["homepage"]).then(function(response) { console.log(response)})

ButterCMS’s admin interface is simple and intuitive so you don’t need to worry about your content editors bugging you about how to do things.

3) FormKeep for forms

Imagine you’ve built a simple static website. Now imagine that you need to add a custom designed contact form that can integrate with your CRM and send an auto-response email.

Building a custom server application to handle the form’s POST requests sounds like a painful chore, right? FormKeep exists to save you from that trouble.

You use FormKeep by simply pointing your forms to their endpoint:

<form action="" method="POST">   <input type="text" name="name">  <input type="text" name="email">  <input type="submit" value="Submit"></form>

FormKeep lets you setup custom response emails and integrations with practically any CRM or backend using Zapier.

4) Moltin for Ecommerce

If you’re looking to build an Ecommerce website or app, Moltin offers a wide set of API’s that support everything from inventory, shopping carts, checkout, and payments. Moltin is incredibly useful for offering cross-platform shopping experiences, or if you want to build unique web experiences using your preferred tech stack.

Moltin’s API is extensive, but to get an idea of what it looks like, here’s an example request that adds a product to a user’s shopping cart:

curl -X POST \ -H "Authorization: Bearer XXXX" \ -H "Content-Type: application/json" \ -d '{"data":{"type":"cart_item","id":"9bbf14aa-15ae-42f4-8eed-d860a7c8046f","quantity":1}}'

5) SendBird for messaging and chat

How many times have you built messaging or chat functionality into an application? If your answer is more than once, chances are you know you’d prefer someone else take care of it the next time around.

SendBird offers SDK’s that cover the whole package from front-end UI to backend API’s, so you don’t have to worry about meticulously building chat interfaces or scaling the backend to millions of concurrent users.

For example, posting a message from a user in JavaScript is as simple as three lines of code:

channel.sendUserMessage(message, data, customType, function(response, error){   if (error) {       console.error(error);   }});

SendBird supports various implementations including 1-on-1 messaging, group chat, and open channels. They also offer nice advanced features such as read receipts, spam flood protection, and moderation tools.

Wrap Up

Do you have a new backend service provider you love that wasn’t mentioned in this article? If so let us know in the comments below!