Como muchos saben, el desarrollo móvil se está disparando en estos días y, creo, afecta lo que codificamos. Para ser específicos, estoy interesado en desarrollar servicios web para una aplicación móvil.
Veo dos arquitecturas posibles: RPC y REST. He desarrollado servicios REST y RPC y lo que he observado es que los servicios RPC son mucho más fáciles de codificar, especialmente en lenguajes como PHP. El problema con esto parece ser la escalabilidad: el lado del servidor puede convertirse fácilmente en un desastre cuando hay muchos procedimientos presentes.
REST, por otro lado, parece estar mucho más estructurado, el lado del servidor se vuelve relativamente fácil de mantener, pero tiene el potencial de dividir los datos en múltiples recursos, lo que es malo para las aplicaciones móviles (por múltiples razones).
Por lo que he experimentado, RPC parece un poco mejor en la mayoría de los casos:
- Tanto el lado del cliente como el del servidor están interesados en minimizar el número de procedimientos disponibles y las llamadas realizadas.
- Seguir las reglas arquitectónicas no contrarresta con optimizaciones de otra manera posible.
Realmente no espero que alguien me explique qué son REST y RPC, la web está llena de eso. Quiero que las personas con experiencia en el desarrollo de aplicaciones móviles expresen sus opiniones sobre el uso de estas dos arquitecturas en el lado del servidor. Las propinas también son bienvenidas (¿a quién no le gustan las propinas, eh?).