Sunday, December 19, 2010

Dealing with a Client/Server application

This is the first post of two different series of publications, which will focus on developing client-server applications to the field of smart phones with Android.

To address this challenge, there are plenty of approaches, frameworks and tools.
We chose a stack of items based on the following criteria:
  • Productivity: We are looking for a platform on which development is very fast.
  • Ease of use: We want languages and frameworks easy to learn, set...
  • Low cost: We will not licensing costs, rental of hosting...
If we consider other types of selection criteria, we would have made different choices, but with these in mind the selection for the server side is the next stack of frameworks:

  • Google AppEngine: is the hosting provided by Google. The main advantages are that it is a cloud computing solution that provides scalability, easy to use, and is completely free, for a number of hardware resources are enough for an application with medium traffic. On the hand, the main disadvantage if we choose the Python option within the Google AppEngine, is that the database provided is not a relational DB and therefore lacks certain basic features like a simple Join.
  • Django: This is one of the possible web development frameworks that exist for Python. The main feature is its simplicity and productivity in development.
  • Django-nonrel: Django is an adaptation of Django, in order to run on non-relational BD AppEngine.
  • Wadof Stuff JSON Serializer: Although Django comes with standard JSON serializers, we will add this optional plugin for Django to get better features. For example the serialization of non-persistent attributes or relationships between entities.
The first series of posts will deal with the server side, and the second part is about developing the client side, over the android smartphone.

No comments:

Post a Comment