TactilApp Logo

Desarrollo de novecientos en iOS

Aug 23, 2013 cocoa pods, novecientos No hay comentarios

Como ya sabéis, tras el lanzamiento de novecientos, hemos decidido hacer una serie de posts acerca de todo el proceso de creación y puesta en funcionamiento de dicha aplicación.

En nuestro anterior post ya hablamos de la interfaz de usuario de novecientos, y en esta ocasión le toca el turno al desarrollo de la aplicación para iOS, para la cual comenzamos con un desarrollo basado en el storyboard que aparece abajo, debido a que en una aplicación de estas características (mucha navegación, y una única persona modificando el interfaz a la vez) se ajustaba a la perfección.

storyboard novecientos

Como se puede observar, el núcleo de la aplicación es un viewcontroller donde se van apilando el resto de vistas dentro de un container. Gracias a este pequeño truco hemos podido conseguir un ajuste perfecto de la aplicación en pantallas de 3,5 y 4 pulgadas (iPhone 4 e iPhone 5 respectivamente) sin necesidad de usar Auto Layout.

En cuanto a las librerías de terceros utilizadas, como llevamos haciendo algún tiempo hemos utilizado Cocoa Pods para el control de dependencias, ya que facilita bastante toda esta tarea. Aquí un listado de los pods que incluye novecientos:

  • Parse | parse.com que nos sirve como backend para la aplicación en las distintas plataformas.
  • FlurrySDK | Flurry se encarga del manejo de analíticas.
  • TestFlightSDK | para la distribución de las betas utilizamos la versión gratuita de TestFligth.
  • AFUrbanAirshipClient | notificaciones push de la mano de Urban Airship. Utilizamos una librería sobre AFNetworking porque es bastante más ligera que el propio SDK que proporciona Urban Airship.
  • AdMob | la publicidad de la aplicación se gestiona a través de Google Mobilizer, parte de AdMob. De esta manera podemos balancear la carga de publicidad entre iAd y AdMob casi automáticamente.
  • MBProgressHUD | utilidad para las pantallas de carga.
  • Appirater | se encarga de solicitar reseñas a los usuarios de manera periódica.
  • JMFrame | utilidad para manejar las posiciones de las vistas más cómodamente.
  • EDColor | manejo de colores utilizando cadenas hexadecimales (similar a lo empleado en CSS).

La parte más destacable de este proyecto ha sido la utilización de Parse como backend, por lo que dedicaremos un post en exclusiva para comentar las ventajas e inconvenientes que nos hemos encontrado al utilizar un BaaS, así como el por qué nos decantamos con Parse frente a otras plataformas existentes.

También queríamos anunciar que cómo hicimos con OperadorApp, nuestra intención de liberar el código fuente para permitir a la comunidad colaborar con la aplicación, aunque de momento lo podéis hacer añadiendo números de teléfono que conozcáis. Recordad que podéis participar en la página de facebook de novecientos.

Sobre Jorge Maroto

ha escrito 5 artículos en este blog.