All Articles

Universal Server Side For Mobile Platform: Myth Or Reality?

Posted 2016-09-29 02:09

4 minutes to read

Alexey Tymchenko
Mobile Team Lead at Rozdoum

In the times of automation, haven’t you ever think about how to make a mobile server side universal? Our mobile team finds out a way to make it effective.Among custom projects we work on, mobile application development is one of the most popular options. Quite often mobile frontend is being accompanied with server side functionality to share data between different platforms.

Needless to say, our mobile team experts seek possible ways of optimizing their work on this process. In this post, we would like to share our experience on how we apply more general attitude to creating a universal server side for different platforms.

Here should be mentioned cloud solutions like Parse, but in practice, only a few clients are fine with such solutions, and there are a lot of reasons for that. Saying nothing of the project’s specifics that can be quite different, some tasks show over and over again in some way or another — like.

  1. Build the REST API for a mobile platform.
  2. Create user management for both REST and Web.
  3. Prepare a platform for Web UI.

Usually, REST API is the most wanted architecture when a customer defines his demands to the server side. Dedicated server side is often combined with a building of some Web UI that for functionality similar to mobile platforms.

Looking for the best ever result, finally, we have optimized our approach to work and learned how to develop a universal server side. Below are the tips gained from experience of completed projects.

Tip one. Get rid of the second task partially. We do not create user management for the Web separately.

Tip two. Delete the 3-rd one completely. There is no need to prepare a platform for Web UI. Yes, there is no mistake. We discarded preparation of the platform for the Web UI, as well as we stop supporting non-REST authentication.

Tip three. Use REST API to develop the Web part instead.

What is the point? Check this, server side developers are working only on building REST API. Further, this API will serve either mobile clients and Web UI developers too. It is both focusable and hitting targets, a win-win-win approach.

And everybody is satisfied. Among the benefits:

Resource saving. We significantly decrease the load of developers’ server side. According to the rough estimate, we can save up to 20% of the time, when we build API only. And we can save even more if generating APIs, or use open sourced ready solutions as the base for API creation.

Versatility. We get the adaptable solution for universal usage. It can be used not only for a mobile application but as well for easy-to-integrate social network applications, for example.

Flexibility. The solution does not depend on Web UI. A customer can even outsource the creation of Web UI restricting the access to the server architecture. Another option, a client’s team can develop Web UI itself safe, not interfering with server-side logic, we are responsible for, also.

Extra security. Either Web UI or a server side can host on different servers, providing additional safety. Hypothetical hackers will not have any idea where your server logic is hosted.

Adaptability. We can use absolutely different technologies to create Web UI and server logics. The project’s server side can be developed on Java/Grails. While Web UI creation may be performed using PHP/Node.js/PR. The developer should not think of technologies compatibility anymore.

Focus. In addition, a server side developer can concentrate on logic, processes, and optimization entirely, having no limitations from UI.

Dependability. Due to such approach, the delivered universal server side is completely trustful. The developer can perform any kind of tests covering 100% of the solution, without dealing with UI testing at all.

We are done. The make-it-universal approach is advantageous from the technical point of view, is more flexible for managing, especially when the project is divided into stages and outsourced to several companies. The result is secure, independent, and easier checkable and scalable. Now you know a piece of our secret magic.

Alexey Tymchenko
Mobile Team Lead at Rozdoum