¿Es necesario construir un punto final API separado para que las aplicaciones móviles accedan a una aplicación web Rails?

Tengo una aplicación web implementada en Ruby on Rails 4, necesito una aplicación nativa de Android para ello, soy realmente nuevo en el desarrollo móvil.

Estoy un poco confundido sobre cómo debería ser la arquitectura web móvil en este caso. He investigado en línea, parece que hay algunas formas de hacerlo, pero todavía tengo algunas preguntas para las que no he podido encontrar respuestas. Gracias de antemano por todos los punteros.

1) ¿Realmente necesito una API separada para la aplicación móvil? ¿Cuáles son los problemas en el uso de los controladores existentes de mi aplicación Rails conrespond_to format.json?

2) He visto algunos ejemplos en línea que sugieren el uso de un espacio de nombres API separado en la aplicación Rails para atender solicitudes móviles, por ejemploclass Api::ApiController < ActionController::Base para el nuevo controlador, luego agreguenamespace :api do en routes.rb. Con este enfoque, ¿no implica que tendré que duplicar bastante de la funcionalidad de mi controlador en este nuevo espacio de nombres solo para dispositivos móviles?

3) Con respecto a la autenticación, muchos ejemplos sugieren usar la autenticación de token, ¿el marco de administración de sesiones Rails incorporado no es lo suficientemente bueno para las aplicaciones móviles? ¿O es porque las cookies de sesión funcionan de manera completamente diferente en una aplicación móvil?

Aprecia tu tiempo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta