Parse en 10 minutos
Hoy vamos a ver como utilizar Parse. Con Parse podemos crear facilmente un backend para nuestra app. ¿Que significa esto? Lo vemos con un ejemplo, imaginad que estamos construyendo una app de fotografias, tipo Instagram donde los usuarios suben sus fotografias al servidor. Necesitaremos almacenar las fotos en un servidor al que puedan acceder todos los usuarios de nuestra app. Pero construir un servidor no es precisamente tarea facil, por lo que servicios como Parse, que nos permiten obtener esta funcionalidad, son extremadamente populares entre los desarroladores de apps. Es normal refererirse a este tipo de servicios como mobile BaaS, es decir mobile Back end as a Service. Tan popular es Parse, que Facebook compró Parse el pasado mes abril.
Podemos ver los planes de precios de Parse en la siguiente pantalla.
Los planes de precios para los usuarios incluyen un plan gratuito para aplicaciones que no sobrepasen las 30 peticiones por segundo ni mas de 20Gb de datos almacenados. A medida que pedimos mas prestaciones el precio va subiendo, asi para 200 peticiones/segundo el precio mensual es de 1700 dolares. Esta es una de las quejas recurrentes de los usuarios: el precio del servicio aumenta mucho al aumentar nuestra demanda de prestaciones. En todo caso si nuestra aplicación tiene éxito, pagar la factura de Parse será el último de nuestros problemas ☺
Construyendo nuestro backend
Los pasos que necesitamos para guardar las imagenes de nuestro dispositivo al servidor Parse son los siguientes:
1. Creación de cuenta de usuario en ww.parse.com.
2. Importación de librerias
3. Escribir código cliente para subir la imagen al servidor de Parse
Vamos pues a ver como implementamos cada uno de los pasos anteriores.
En primer lugar, nos damos de alta en la cuenta gratuita y sin necesidad de proporcionar datos bancarios, la plataforma nos proporciona una serie de claves.
Utilizaremos estas claves mas tarde en nuestra app.
Ahora necesitamos bajarnos el framework de Parse para incorporarlo a nuestro proyecto. Para ello marcamos:
en nuestro navegador y nos bajamos un fichero que contiene las librerias de la última versión de Parse. Una vez bajada, la descomprimimos y arrastramos el directorio Parse.framework al menu navegación de nuestro proyecto Xcode, con lo que añadimos el framework a nuestro proyecto.
Ademas del framework de Parse que ya hemos incorporado necesitamos las siguientes librerias de sistema:
- AudioToolbox.framework
- CFNetwork.framework
- CoreGraphics.framework
- CoreLocation.framework
- libz.1.1.3.dylib
- MobileCoreServices.framework
- QuartzCore.framework
- Security.framework StoreKit.framework
- SystemConfiguration.framework
Para incorporarlas al proyecto, señalamos el proyecto ParseTutorial y en la pestaña General añadimos al proyecto, una a una, las librerias mencionadas anteriormente.
Lo vemos en la siguiente imagen:
Ahora necesitamos indicar a nuestra aplicación la clave que nos ha proporcionado Parse al darnos de alta. Para ello en el fichero AppDelegate.m, escribiremos:
donde los valores ApplicationId y clienteKey son las claves que aparecen en el apartado Keys del menu Settings de parse.com. A continuación escribiremos el siguiente código, donde inicializaremos la libreria de Parse:
Si todo va bien, el proyecto compilará con 0 errores.
Para probar Parse utilizaremos InterfaceBuilder para crear una pantalla en la que el usuario elegirá una photo de su Camera Roll y la subirá a Parse:
En la subclase de UIViewController que asignaremos a la pantalla anterior añadiremos la línea:
En la acción correspondiente al boton upload escribiremos:
Notar que el método saveInBackgroundWithBlock: es un método asincrono que se ejecutará en background. Esto es importante, ya que todas las tareas de naturaleza asíncrona (como las llamadas a red) NO DEBEN realizarse en el hilo principal. De lo contrario tendriamos un interface gráfico que se bloquearia hasta que la peticion a Parse finalizara. !Y un interface gráfico bloqueado es lo último que queremos en nuestra aplicacion!
Ejecutamos la aplicación, elegiremos una foto de nuestra libreria y pulsaremos el boton Upload. Con esta acción nuestro foto se almacena en los servidores de Parse. Si ahora vamos a www.parse.com, en la pestaña DataBrowser comprobamos que se ha creado una entrada con el objeto que hemos subido desde nuestro dispositivo:
Notar que el objeto PhotoObject se ha guardado en el servidor sin necesidad de darlo previamente de alta, como ocurria en versiones anteriores de Parse.
Así de facil es utilizar los servicios de Parse para subir nuestros objetos al servidor. Podeis acceder al proyecto en GitHub . En proximos tutoriales y partiendo de lo visto en este tutorial veremos caracteristicas avanzadas de Parse como notificaciones.
Joan Barrull
Trabajo en www.ironhack.com como profesor asistente. Mi primer contacto con la programación fué con Smalltalk, un lenguaje dinámico y orientado a objetos que influyó en todos los lenguajes de programación posteriores. Objective-C, y su entorno de desarrollo XCode me recuerdan la sensación que tuve al descubrir Smalltalk, la sensación de poder programar cualquier cosa.
Cap comentari:
Publica un comentari a l'entrada