Conexión con BBDD desde apps iPhone/iPad

Al desarrollar aplicaciones para iPhone/iPad nos veremos constantemente en la necesidad de tener que guardar o acceder a determinados datos según vayamos navegando por las diferentes pantallas (vistas) de nuestras aplicaciones, por lo que dicha información deberá estar almacenada en una base de datos.

Tenemos dos opciones a la hora de trabajar con las bases de datos y con este tipo de aplicaciones:

  • Conectarnos a bases de datos internas. Un ejemplo podría ser SQLite, el cual es un motor de datos SQL que podemos integrar en nuestras apps. En Un posterior post comentaremos más en detalle las características de SQLite.
  • Conectarnos a bases de datos externas. Si deseamos conectar nuestra aplicación a una base de datos MySQL directamente podemos hacerlo de diferentes maneras, las cuales vamos a comentar a continuación.
  1. Usar librerías apropiadas para ello, como puede ser MySQl for iPhone (http://www.karlkraft.com/index.php/2010/09/17/mysql-for-iphone-and-osx/),  ó libmysqlclient (http://www.pietrop.com/wordpress/dev-area/tutorials/cocoa-tutorial-using-libmysqlclient-in-your-application/ ).Sin embargo, mediante esta opción tendríamos que distribuir las librerías por nuestra aplicación y podríamos encontrarnos con problemas de licencias.
  2. Utilizar un servicio web intermedio, a modo de pasarela entre la app y la BBDD, y luego serializar los datos a través de JSON (formato ligero de intercambio de datos alternativo a XML), es decir: desde un fichero PHP se realizarían las consultas a la BBDD remota y desde el mismo fichero se recuperarían los registros devueltos por la consulta, los cuales serían convertidos, parseados, al formato JSON, para posteriormente desde la aplicación recuperarlos y procesarlos.Desde la aplicación iphone/ipad realizaríamos una solicitud HTTP para llamar al fichero PHP y obtener los datos de MySQL, y a través de la misma solicitud recuperaríamos esos datos para nuestra aplicación.Estas solicitudes y respuestas HTTP, dentro de nuestra app, se procesan haciendo uso de las clases NSURL, NSURLRequest y NSURLConnection de las que dispone el SDK de IPhone, mientras que para la generación y el análisis de los datos en JSON se utilizan clases del JSON Framework (http://stig.github.com/json-framework/), el cual deberemos instalar en nuestro proyecto para posteriormente importar las librerías en nuestra aplicación.



    Esta última opción nos proporcionaría varias ventajas con respecto a la primera:

  • Mayor seguridad. Una conexión directa desde nuestra aplicación a la base de datos conllevaría a tener que identificarse en algún momento con un usuario y una clave de conexión contra MySQL. Esta información podría ser interceptada por terceros que luego tendrían acceso a la base de datos.
  • Más encapsulación. Al realizar la conexión a través de un servicio web, podríamos realiar modificaciones en la estructura de la base de datos y esto no se vería reflejado en el funcionamiento de nuestra app, pues los cambios realizados serían totalmente transparentes siempre que respetemos la misma interfaz en el servicio web.

Esta entrada fue publicada en Aplicaciones para dispositivos móviles. Guarda el enlace permanente.

2 respuestas a Conexión con BBDD desde apps iPhone/iPad

  1. david dice:

    hola, por favir, podria colgar el codigo de este interesantisimo ejemplo, gracias !

  2. Luis dice:

    Hola buenas,

    Me ha gustado mucho tu articulo, pero como soy nuevo en estos temas, no se si me podrías indicar donde pueda ver más información sobre JSON.
    Además me sabes decir, si es possible conectar mi aplicación iphone/ipad con una base de datos de un wordpress?
    Muchas gracias por tu ayuda.
    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>