¿Cuáles son los principios de diseño para escribir API de back-end para una aplicación que requiere mucha IU?

Existen pocos principios para escribir API para aplicaciones intensivas de IU:
Captura todas las excepciones . Bajo ninguna circunstancia la aplicación ve el código PHP de error o cualquier otro código del sistema. Ningún desarrollador de aplicaciones tiene gusto de una API que lanza una excepción.
Cree un formato adecuado para salida y entrada . Siempre elijo XML para esto en lugar de JSON ya que es fácil ver lo que está entrando y saliendo por mis propios ojos. Cada llamada a la API debe usar el mismo formato.
Proporcione un código de error en cada evento . Incluso si es un éxito o un fracaso, proporcione el código de error y la descripción en etiquetas separadas. Para tener éxito, puede dar 0 como código de error, mientras que para cualquier otra cosa sería un error. El desarrollador de aplicaciones estará muy contento si lo hiciste.
Ofrezca a su usuario la mayor comodidad posible . Los usuarios serían desarrolladores de aplicaciones que estarían usando su API. Resuma todo y solo muestre la parte que realmente se necesita mostrar.
Documentar y comentar . No necesito explicar esto.

Para los desarrolladores de aplicaciones, puedo dar un solo consejo:
Use AsyncTask / AJAX tanto como pueda.