блог
25
Oct

How to save 30% while developing a client-server app

English

Thinking about developing a client-server app? It will cost you a fortune, they say. Wrong! There are specialists who know how to make it 30% cheaper, much faster and nonetheless better in quality. Sounds like a pie in the sky, but we can prove it with our own hands.

Is my app a client-server one?

If you plan to develop a mobile app, there is a 90% chance it will be a client-server one. “Client-server” means that some part of data is processed and stored not on the device that you use but on some remote server.

Here is a list of some most noticeable features of the client-server apps:

  • User registration
  • Authorization via other social networks
  • Search in application
  • Updatable content
  • Internet connection

You might think that all the modern applications are client-server. Well yes, most of them. Of course, there are some apps which are not client-server. For example, Angry Birds: you cannot play with other users. But still, developers use Game Center on iOS so that you can see scores of other players and thus they create some kind of competition (and, of course, they collect information about you ;)). Another example is some simplest apps don’t need an Internet connection: a calculator, a compass, notes apps and photo editors.

Who develops a client-server application?

Basically, you need a front-end and back-end developers, a designer, a tester and a project manager. Both specialists are necessary because technologies and frameworks for creating these parts differ.

Front-end developers are responsible for the part of an app we usually see on our device: interface, connections between screens, animation etc.

Back-end developers create the server part and work with databases. And here is the first opportunity to reduce costs. If the server part of your app is quite simple and the database is not so big, you can hire only one developer and use some special service for a back-end.

The roles of a designer and a tester are clear. The project manager’s role is to control the whole process and the team. If your application is big enough, you can hire more front-end and back-end developers. There are some experienced developers who can create both front- and back-end parts, but his rate can be higher than rates of two developers taken together. Besides, developing is likely to last longer because he’ll do it step by step, not simultaneously.

So, how do I save on a client-server application development?

«Kultprosvet» team has been developing client-server applications for several years now. We always strive to optimize routine processes and find the most efficient solution to save time and money of our clients. And then they come back with new projects, you know.

When we were creating another app, a thought struck our team: what if we don’t write identical components from scratch for each client, but create a reusable template and furtherly customize it to fit the needs of a particular project?

We made a list of the most common components of all client-server applications and created templates for them:

  • User registration
  • Authorization in app via social networks
  • Search
  • Built-in chat
  • Calls
  • Database table of users
  • Database table of administrators
  • User management system
  • User profile and its editing
  • Application settings
  • Notifications management
  • Password change
  • Displaying of application version
  • Log out

To make the templates really reusable and structured, we made them with Laravel framework. In our previous article, we explained why this solution is truly the best today.

We use Amazon EC2 as a server hosting and Amazon S3 as large files storage. We develop calls function and built-in chats using Twilio solution.

How much you can save?

By the most conservative estimate, the features of an app that can be added to templates take minimum 30% of the whole code. It takes much less time to customize a template than to write everything from scratch. Just to compare: it takes a week to make a log in to an app with automated emails. A week, Сarl! When we have the template, it takes us only one day to customize it. That means you pay 5 times less.

Let’s see the difference on practical examples:

 Cost of back-end
development
Cost of back-end
development with templates
Tinder$4,000$2,800
Kayak$8,500$5,950
Uber$15,000$10,000

As you can see, you can save pretty much of your budget. We hope other companies will follow us and optimize their routine processed, create templates and let their clients save some money.