Marco de servidor para usar para la aplicación de iPhone en tiempo real

I am currently writing an iPhone application that sends and receives JSON data from a remote server to essentially display realtime information. Me and my partner started the project using Google App Engine (Python) for the server-side implementation mostly because it was easy to pick up and seemed suitable for our needs at the time. However, we're only just now starting to see the downsides of the framework for realtime iPhone apps - APNS is not at all supported, and neither is the GAE Channels API. So our only option for displaying the realtime server data on our app is to continuously poll the server, which certainly seems like horrible design.

We'll have to port our server-side code to a new framework. My question is, which one do we use? From numerous searches, I still have yet to find a satisfactory answer.

I should mention that I don't necessarily want the server to send push notifications. I just want to be able to push data to clients in real-time, and then manipulate that data on the iPhone client-side code. We're fine with setting up the framework on a local server if we have to.

preguntado el 24 de agosto de 12 a las 07:08

2 Respuestas

Since you don't want to be pull data in background (lett alone if it is even possible)will have to use APNS.

But why switch away from google app angine, you could use an APNS provider like Dirigible urbano wich provide there on API to connect with.

You'r not even the fist to run into this problem: Apple Push Notifications on Google Appengine

Respondido 24 ago 12, 10:08

Probably the easiest realtime framework you can use for sending data to iOS clients in real-time is PubNub (http://www.pubnub.com). It's reasonably priced, and it scales to anything you can throw at it. In my experience, it has no problem delivering a message to an end client in under .25 milliseconds (regardless of the number of clients it's being sent to).

Their latest version also supports APNS functionality for when you app isn't in the foreground.

https://github.com/pubnub/objective-c/blob/master/iOS/README_FOR_APNS.md

If you want to create your own APNS server (since you are running on App Engine anyway), there are examples of how to do that using App Engine's new Socket API. I've written a demo python AppEngine application that people might find helpful in this regard.

https://github.com/GarettRogers/appengine-apns-gcm

Respondido 18 Abr '13, 16:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.