When you order the application development, after choosing a platform (Android, iOS, or both) you should also make a decision about its back-end (server side). In this article we will talk about an alternative to the development of back-end from scratch, namely BaaS Backendless, which is of that type of services.
Server side development is one of the most difficult stages of application creation. Often, when planning the development of the project the necessary resources and time of the back-end are underestimated. Another problem is the limitations of available resources for the team. Often you have to develop the back-end using the tools and technologies that are known by team members. The process goes long-term, and the application itself became quite complex and expensive in terms of maintenance. A long-term back-end development, even on relatively simple projects, leads to cost increasing and other risks: the money is spent, and there are no visible results that can be demonstrated to investors.
And that's when the Backend as a Service (BaaS), the server services, comes to the rescue. By gathering them together, we get the required universal back-end for any project. BaaS eliminate the substantial costs, namely for writing and supporting the server back-end. Using Baas, we are able to implement a simple service by a single mobile developer. This solution will be particularly relevant for small start-ups, where for a start you want to test the business idea on its performance without planning complex logic and interaction with third-party services. Although BaaS can help even with that.
Benefits of BaaS back-end
Using Baas, developers can quickly build the required back-end platform for processing data from mobile applications. Baas features include cloud storage, push notifications, management of users and files, location services, and others. All of these services have their own API to be easily integrated into applications.
BaaS avoids the need for developer to deal with:
- physical application server;
- client-server library;
- writing administrator dashboard;
- designing his own API;
Until recently the most popular BaaS platform was Parse. However, in 2013, Facebook has absorbed this startup. Later, Facebook improved it for another three years, but in January, 2016 the company announced that Parse will be closed within a year, and for 2016 developers have to migrate to other resources.
IMHO, now the most popular BaaS platforms are QuickBlox, Scorocode and Backendless. In this article, we will focus on Backendless.
Let's look at Backendless features that attracted us.
Features such as authorization, registration, sessions, password recovery are already in the «box». It is difficult to imagine a modern application without them, but, nevertheless, their implementation and testing takes some time, even if your developers already have such libraries for Android or iOS.
Database and convenient administration panel. Users information and service information of your application is stored in the database. Usually you have to choose the type of database, install the solution on the server, set up the tables and links therein. With Backendless fitting the needs of a particular application does not take much time, and the base itself and its management is already on the board.
Tools for easy debug and deploy of custom server logic. That greatly simplifies and accelerates the development.
Cloud Messaging is easy to connect and configure. Applications constantly exchange data with server, and you often need to display a message to users about certain events, such as discounts in the store, the completion of data synchronization or receiving a new message (if your application has a function of their dispatch). Often this is implemented by means of Cloud Messaging cross-platform solutions, which can be connected to Backendless.
Convenient tools for working with geolocation, files, and media streams. Geolocation is now used by almost all of the latest services, because it allows you to immediately deliver more relevant results without requiring the user to enter a lot of additional data. But its implementation from scratch takes some time. Backendless have tools for working with geolocation, which will accelerate the process of implementing this functionality in your application.
Also this platform positioned itself as better than others due to a number of features.
Versioning, with shared data/tables between the versions: after creating an application, you can do an official release, but at the same time you can work with another version of the same application.
Live audio and video streaming: you can connect a video chat, live broadcast, music, radio, videos, whatever you want.
Message filtering. It works with the sub-topic, and you can set the filter in the sql regime, in so-called selector.
Box solution. You can get your in-house Backendless out of the box. Large Enterprise customers can deploy the platform on their own servers.
Flexible pricing and «fat» free plan. The freemium includes: unlimited API calls (but not more than 50 per second), 20 GB disk space, 1000000 publish/subscribe messages, 1,000,000 push notifications and a lot of different buns. Pay if necessary, only for the features you're going to use.
API and web console are carefully polished by developers, the simplicity and convenience is in priority.
Autoscalebility. The platform runs on the Amazon infrastructure and automatically scales when loads arising: by size and memory usage. In the case of exceeding a critical limit additional virtual machines run when it required.
- Free version is limited. On large projects «fat» free plan could stretch to the limits and you'll need to buy the expansion.
- The limited resources of the server, which may affect the performance.
- Partially limited possibilities of development, so there may be difficulties with tasks that require complex server logic.
It will be harder to implement with Backendless:
- The application for the popular online electronics or clothing store;
- The complex logistics services with a GPS-tracking of packages or buses;
- The application for processing of photos (Prisma) or video (MSQRD, Snapchat);
- Service with a large peak loads, coupon oriented or with a function to buy a bus ticket or a plane ticket;
- Complex solutions, that require innovative approaches, algorithms and tools.
Backendless is good for faster and cheap implementation of MVP (because you do not have to pay for hours of work of single back-end developer), as well as for the implementation of small back-end services:
- local delivery services;
- small logistics services;
- applications to find restaurants;
- applications to prepare for language or other tests, etc.