Diseñando una aplicación para iPhone

Voy a tratar de sintetizar todo el trabajo que me llevó el desarrolar la aplicación Mussage para iPhone en una semana. Si todavía no sabés qué es Mussage, podés leer este post!.

Los pasos que fui realizando y las herramientas (en su mayoría gratuitas) que fui utilizando.

Diagrama de Casos de Uso

Primero que nada y basandome en la idea, hice un diagrama de casos de uso con yuml.me

MockUp

Luego armo un esquema de navegación de pantallas con el Balsamiq MockUp:

DER

Ya es hora de hacer un diseño de las tablas que va a tener la base de datos! Para eso usamos el diseñador de MySqlWorkBench

Xcode

Ya es tiempo de programar en Objective C…

Además utilicé los siguientes Frameworks, librerías y herramientas para iOs:

  • FMDB para SQLite
  • JSONKit para parseo y recepción de Json con el Server
  • MD5 para envio de Hash con el server y autenticar el login
  • Internacionalización de Strings y de Xib en Inglés y Español.
  • QuartzCore para animación de Vistas
  • MediaPlayer para reproducción de canciones del iPod
  • MessageUI para envío de mails dentro de la app

Lado Server ( PHP )

Desarrollé con la IDE Aptana Studio 3 la API para proveer de servicios a la app e interactuar con la Base de Datos.

Diseño Gráfico

Realmente no hice demasiado diseño gráfico, utilicé los controles standard de iOs y agregué algúnos iconitos, eso si…

Web para la Aplicación con HTML5

Para acompañar el lanzamiento de la app, una web basada en un Template y tuneada con PHP.

Publicar en el AppStore

Finalmente, a publicar la app!. Es un poco rebuscado el tema de los certificados y la preparación de una versión para Distribución, pero siguiendo las instrucciones en la web de apple se puede ir haciendo.
Hay que tener preparados los screnshots y el icono en distintos tamaños para iPhone 3G (y menor) y para iPhone 4 con Retina Display.

Listo!

Una vez que Apple aprueba nuestra app (tarda una semana) a empezar a promocionar nuestra app ! Bajarla y usarla!
Te invito a Probarla:
Exitos para todos!
Cualquier consulta dejame tu(s) comentarios acá, o buscame por twitter @jbagnato. Si querés podés solicitar un presupuesto para desarrollar tu app!.
.
.!.

El desafío de crear una Aplicación iPhone en 7 días


Antecedentes iOs

Hace unos 3 años que estoy programando aplicaciones para iPhone/iPad y la realidad es que aún no desarrollé ninguna propia. Durante un año estuve trabajando para una empresa Startup y aprendiendo el lenguaje de programación Objective C y participando en proyectos de varias apps (las cuales muy pocas vieron la luz): una app publicitaria para Toyota, un juego de matar zombies basado en un comic, una aplicación para aprender a cantar con Karaoke y otra similar a Twitter pero con mensajes por voz. Luego trabajé de forma Freelance para terceros y fui “evolucionando” en las versiones del iOs; nuevas APIs y del lado del servidor PHP y comunicación vía JSON.

Requerimientos Ideales

Siempre tuve varias ideas de aplicaciones iPhone, pero hasta el momento nunca las llevé a cabo. Como no tenía cuenta en el Apple Developer Program no podía publicar en el Appstore. Hace unos meses me suscribí al programa y eso me da la posibilidad de poder publicar. Ahora, sólo falta decidir la idea e implementarla.
Algo que fuí aprendiendo con el tiempo con respecto a las ideas es que para poder realizarlas deben ser simples. Lo simple es lo mejor. Sencillo, minimalista, que cumpla una función determinada; que no sea abrumadora para el usuario. La política de Apple es esa y lo dice en sus guías para desarrolladores: conviene que sea una aplicacion “pequeña” que hagan una sóla cosa pero que la hagan muy bien.

El desafío

Asi nació el nombre de Mussage para una idea que tuve a finales de 2009 para una aplicación iPhone que me parece que cumple con las condiciones: es simple, se enfoca en resolver una cosa y es viable. Ya les contaré en un próximo Post sobre ella. Ahora tengo el desafío de intentar desarrollarla en una semana que es el tiempo libre que tengo antes de empezar un nuevo trabajo freelance!. Podré hacerlo?…

Para lograrlo, me planteo un cronograma y cuento con una serie de herramientas gratuitas y muchas de ellas On-line.

Cronograma

  1. día 1 Diseño: UML, DER (base datos) y estructura web, mockup de navegación de la app
  2. día 2: Creación de Login (iPhone + web PHP)
  3. dia 3: Estructura iPhone app, navegación entre pantallas
  4. día 4: Acceso a la librería de iTunes y envío de datos JSON al server
  5. día 5: Recibir listado de mensajes recibidor y envío de mensajes a otros users
  6. día 6: Internacionalización y Testing, detectar Memmory leaks
  7. día 7: Diseño gráfico y Publicación en la App Store.

Herramientas

  • iPhone Mobile

    • X-Code para codear Objective C.
    • Articulos en el iOS Dev Center de Apple.
    • Libreria FMDB para base de datos SQLite.
  • Otros

    • Servidor Apache
    • Base de Datos MySql
    • CLiente FTP Filezilla
    • Producteev para administrar las tareas en Mac, iPhone o Web, muy bueno para mantenerse ordenado (free)
    • Packs de íconos gratuitos
En un próximo Post les cuento más acerca de la idea a desarrollar: “Mussage, Musical Message“.
A codear!!!
.
.
UPDATE: Debido a la gran cantidad de preguntas que recibí acerca del desarrollo de aplicaciones iPhone / Mobile / Tablets, he creado un nuevo Post de FAQs en el que iré colectando y actualizando para tratar de responder y despejar sus dudas! El link es FAQ: Crear una aplicación iPhone
UPDATE 2: También creé un formulario para que me envien solicitud de presupuestos para desarrollo de aplicaciones para iPhone o Android.
.
.