Server-side design options for a mobile application

I am new to mobile app development and wanted to learn from experts here how they approach server design. I need to support cross-platform clients (iOS, Android, Windows) and require a scalable internal architecture.

  • What are widespread server strategies
  • Are there any open source mobile server technologies for mobile devices?
  • What factors are taken into account by the mobile app staff.
+4
source share
2 answers

I agree with half the answer above. You must use the REST architecture - this is the easiest way. I use Ruby on Rails for my mobile projects. Quickly start building server code and see how it works somewhere like heroku.com almost instantly.

So, I would choose the following:

  • ruby on rails - worth the time.
  • heroku.com for deployment / or EC2 if you selected Stone Rubber
  • Google App Engine is another great option if you know some kind of python / java
  • REST Architecture
  • save all your heavy images etc. using Amazon S3. They have great SDKs to work with.
  • get some JSON libraries to communicate with your server.

on iOS:

  • use MKNetwokKit (this will save you a lot of trouble along the way, this will help you cache and have a nice architecture).
  • If the application is small, try using an NSArchiver-based data model instead of CoreData (SLOWWW). Mogenerator - a good start (this is not server related ..)

If you hate writing backend, I would advise you to check out Parse.com. Completely mobile development using all server code. For large projects, you really need to write your own server.

Some additional things I would think:

  • How will the security service work? just a session token in the HTTP header?
  • your application level - network / MVC
  • What happens when you are offline? - this is currently what we are dealing with without thinking early - pain.
+2
source

I had good success in building a server using REST web services and XML data, but I would recommend JSON. You can create this using Java and host it using Tomcat. It is widely used and widely used by many mobile and even non-mobile technologies.

A few factors to consider: * You may want to use it in the DMZ and be available on the Internet, think about firewalls, reverse proxies, and SSL encryption. * Will you host the server or sell the server to customers? Hosting is easy. If you are selling, there are many more considerations.

0
source

All Articles