2012-02-06 11 views
8

¿Cuál es la mejor manera de que una aplicación regular de ruby ​​on rails sea entregada como una aplicación de iPhone IOS?Ruby on rails server app + IOS iphone client?

La idea es construir, para diversión y educación, un proyecto escolar, una sencilla aplicación de Iphone que se conecta a la aplicación Ruby on Rails para sus datos. Visto algunos artículos desactualizados, me gustaría pedir algunos consejos sobre este servidor - modelo de cliente para ruby ​​y una aplicación ios.

  • Cómo mover datos desde la aplicación ruby ​​a la aplicación IOS xml?
  • ¿Cómo interactuar desde la aplicación IOS con la aplicación Ruby on Rails?
  • ¿Hay aplicaciones opensource ejemplo o recursos actualizados recientes que recomendaría sobre este tema (gemas, proyectos de código abierto, tutoriales, documentación)

también lo serían buenos sitios web A la caja cuando se hace el rubí en los carriles y las aplicaciones para el iPhone ? Me encantaría escuchar algunos comentarios, ya investigué y tengo una idea aproximada de los conceptos anteriores, pero como se dijo en los recursos anteriores. ¡Alguna experiencia de primera mano de sus expertos sería altamente apreciada!

Respuesta

10

La configuración general de un motor de carriles de este tipo podría ser:

autenticación: utilizar un sceme básica de autenticación para autenticar al backend rieles. Yo usaría Devise y CanCan para esto, son fáciles de configurar y funcionan muy bien. Si no desea que las personas inicien sesión pero desean autenticación, puede usar un token.

notificaciones Push: Utilice el APN Gem

datos GET: utilizar los controladores GET de su base de rieles, puede solicitar específicamente para JSON o simplemente volver JSON por defecto

def show 
    begin 
    @article = Article.find(params[:id]) 
    rescue Exception => e 
    render :text => "unknown article id", :status => 404 
    else 
    render json: @article 
    end 
end 

Si desea que se devuelva un JSON personalizado. Puede anular en el modelo:

#overide default json output 
def as_json(options) 
    # this ignores the user's options 
    super(:only => [:id , :type, :title, :content]) 
end 

crear datos: utilizar el controlador de ustedes Crear rieles de back-end, sólo puede presentar como si fuera una forma, por lo que un POST con campos como article[:title]=value. Si lo desea, puede devolver plain text o json si la creación fue exitosa.

ACTUALIZAR los datos: utilice el controlador de actualización de los raíles back-end. Utiliza un PUT aquí en lugar de un POST.

0

Además de la respuesta dada: Tenemos muy buenas experiencias con RABL: https://github.com/nesquena/rabl

Estamos generando plist-archivos para enviar los datos a los dispositivos IOS.