Server side / Framework choice (part 1)

Comme vu dans le post précédent, le choix coté serveur s’est fait sur java avec comme contrainte un hébergement « In the Cloud ».

Je dis contrainte car pour plein de bonnes raison, Google App Engine limite ce qu’on peut faire dans l’application. Amazon Web Services semble plus ouvert puisqu’il nous donne accès à une machine complète (IaaS vs Paas). Par contre leur solution me semble un peu plus heavy weigh et le cout d’entrée un peu plus élevé. Je me donne comme première contrainte le fait de pouvoir switcher ma plateforme. Cela me semble difficile a première vue car les 2 plateformes offrent beaucoup de solution « clé en main » apportant de grande valeur ajouté (SimpleDB et EC2 pour Amazon Web Services, Système de stockage spécifique – BigTable – pour Google).

De façon plus ou moins arbitraire, je choisi AppEngine de Google. Cela me semble un peu plus rapide de développer quelque chose sur cette plateforme, il y a une une intégration avec les comptes google et peut être des API pour les autres applications google (calendar, docs) qui pourrait m’intéresser.

Pour le développement maintenant que le choix, et donc de ses contraintes, est fait, que prendre? N’oublions pas la cible: les smartphones en plus des navigateurs classiques. A ce moment, je ne sais pas exactement quel est le standard de communication entre un smartphone et une application cloud ? REST? SOAP ? JSON ? HTTP? Atom?

Bon je fais un petit tour des centres de développement de chaque plateforme:

Je me dis que je prends le problème un peu à l’envers. Quel est le standard actuel pour les applications web (google calendar, twitter, facebook, foursquare, live.com) et forcément je verrais quelle API ciblée (coté serveur ou client)

Site API

Phone API

Framework