overview

AppWarp Introduction

Multiplayer games and applications are hugely popular and form a significant category of applications in most app stores. The backend for such applications is critical as it provides support for real time data transfer between the user clients and is the fundamental building block for such applications.

The problem is that such server side pieces are often error-prone and extremely time consuming to develop. Challenges include developing a high availability architecture, managing multiple client socket sessions and finally the server side business logic required for virtual rooms and lobbies where users interact.

AppWarp is designed to help developers building such multiplayer games and applications by offloading the heavy lifting of developing and deploying the backend. AppWarp client SDKs provides advanced features such as matchmaking, managing intermittent client connection errors, reducing latency by picking a geo location of choice etc. There is a comprehensive development center which offers developers complete guides, tutorials and samples to understand and bootstrap easily.

Developers can concentrate on building their application logic and writing client side code on top of the powerful APIs provided by AppWarp to connect and interact with the backend. Client side SDKs are available for all the popular platforms.

In conjunction with AppWarp, developers can also use the powerful App42 cloud APIs for incorporating other common application requirements such as user authentication, session management and persistent cloud storage to build a complete application through our ecosystem. This is of course optional and developers can use AppWarp independently of App42 cloud APIs as well.

AppWarp concepts

The diagram below illustrates the high level constructs available to the developer to build virtual world games and applications. A description of all the terms used in the diagram follows.

AppWarp architecture

AppWarp server has been developed in a clean and efficient NIO (non blocking I/O) manner. It manages concurrent client connections for the server and provides abstractions for our server side business logic. Below is a high level view of the product design. A brief description follows.