Desarrollando sobre iPhone (1): ¿webapps o aplicaciones nativas?

En ActualidadIphone vamos a comenzar a publicar una serie de posts dedicados a usuarios que pretendan realizar desarrollos de aplicaciones para nuestro gadget favorito, cómo no, iPhone. A pesar de que existe una gran cantidad de información ya accesible, intentaremos publicar una serie de guías sencillas que indiquen, paso a paso, lo esencial para comenzar a desarrollar nuestras aplicaciones.

Antes de comenzar, podríamos hacer algunas consideraciones previas:

  • Si no tienes ningún tipo de formación o experiencia en el desarrollo de aplicaciones, probablemente lo puedas pasar mal. En todo caso, en este mundo triunfan los aventureros 😉
  • La mayoría de los casos irán destinados al iPhone 3G, sobre todo por el gran abanico de posibilidades que se abren con el GPS.
  • Si tienes experiencia en desarrollo de aplicaciones web dinámicas, es decir, conocimientos de HTML, CSS, javascript, y algún lenguaje o framework de servidor (PHP, Java, RubyOnRails, Python…), sin duda tienes las bases imprescindibles para comenzar a desarrollar webapps.
  • Si tienes conocimientos o experiencia en desarrollo con Objetive C (Cocoa, etc.) podrás comenzar a desarrollar rapidamente aplicaciones nativas para iPhone. En caso contrario te costará más. Si alguien te ha dicho que Objective C es muy parecido a Java, créeme, no es así 😉

Bien, pero ¿qué es esto de las webapps y las aplicaciones nativas? Vamos a tratar de aclarar estos conceptos, y enumerar las principales ventajas e inconvenientes de cada uno de estos mundos.
Webapps. Las webapps son aplicaciones web normales, como cualquiera de las que ya conocemos. Están por ello programadas por lenguajes de servidor (PHP, Java…) que generan HTML, maquetación con CSS y comportamiento con Javascript. Aplicando hojas de estilo CSS específicas, podremos darle a nuestras aplicaciones web una apariencia 100% adaptado al iPhone, consiguiendo que se parezca a una aplicación de escritorio. Apple dispone de un catálogo de varias aplicaciones, aunque sin duda la mayoría de vosotros ya habéis usado, consciente o inconscientemente, varias: las aplicaciones web de Google (Gmail, Reader, etc.), la propia versión móvil de Facebook, etc.
Ventajas:
  • No dependemos de Apple para que nos apruebe el alta de nuestra aplicación, ni para que publique una nueva versión que incluya nuevas funcionalidades o corrija fallos.
  • Los usuarios no necesitarán hacer jailbreak para usar nuestras aplicaciones, serán accesibles a través de Safari.
  • Desarrollo ágil y rápido.
  • No necesitaremos aprender Objetive C.
  • Si ya disponemos de una aplicación web, podremos crear una versón iPhone.
  • No necesitamos registrarnos como IPhone Developer y pagar para iniciar el proceso de registro de una aplicación en la AppStore.
  • No necesitamos un Mac para disponer del IDE de desarrollo (XCode). Bueno, para mí eso es más un inconveniente, pero sigue habiendo muchos usuarios de otros sistemas operativos 😉
Inconvenientes:
  • No disponemos de acceso natural a las API’s del iPhone como cámara, GPS, acelerómetro, vibración… existen diversas iniciativas que tratan de exponer este tipo de funciones avanzadas a API’s javascript, con mayor o menor éxito, pero hoy por hoy Apple no ha estandarizado esto.
  • No disponemos de enlace en la AppStore, con lo que indudablemente se pierde el acceso a un escaparate perfecto para nuestros desarrollos. Eso sí, siempre nos quedará Google 😉
Aplicaciones nativas. Son las aplicaciones que ya conocemos todos y que continuamente instalamos desde la AppStore (o Cydia para los iPhones jailbroken). Están desarrolladas con Objetive C (aunque comienzan a aparecer iniciativas para transformar webapps en aplicaciones nativas).
Ventajas:
  • Tienen total acceso a las API’s mencionadas como GPS, acelerómetro, cámara…
  • Si Apple nos la aprueban (lo cual es mucho suponer), nuestra aplicación podrá ser accedida desde una gran cantidad de usuarios.
  • Disponemos de la opción de cobrar por nuestra aplicación, un modelo de negocio sencillo.
Inconvenientes:
  • Debemos desarrollar en Objective C.
  • Tenemos que registrarnos como desarrolladores Apple, y pagar para poder probar nuestros desarrollos en nuestro propio iPhone (!) y poder enviar las aplicaciones para su aprobación en la AppStore.
En los siguientes posts comenzaremos por el desarrollo de aplicaciones nativas. ¡Preparad vuestros equipos!
Los mejores accesorios para tu iPhone
¿Buscas una funda nueva para tu iPhone? ¿Un accesorio para el Apple Watch? ¿Quizás un altavoz Bluetooth? No te pierdas estas ofertas en accesorios y saca el máximo partido al móvil de Apple:
Fundas iPhoneAltavoces BluetoothAccesorios Apple Watch

3 comentarios

  1.   Birckof dijo

    Magnifica idea, yo ya hice mis piquitos con J2ME para moviles y estos realmente interesado en empezar con Objetive C. Os segire muy de cerca. Graciass!!!!

  2.   TechnopodMan dijo

    Estupendo, yo acabo de empezar con una idea de juego tipo Dragon´s Lair o Elige tu propia aventura con videos… Y la verdad es que me sera muy interesante 😉

    Os seguire como hasta ahora o quizas mas!!

    Seguid asi,

    Saludos,

  3.   PIERPAOLO dijo

    ESTA APLICACION ES MUY UTIL,LA HE ENCONTRADO POR CASUALIDAD,
    SIRVE PARA QUE NO SE OLVIDES DE TOMAR TUS MEDICINAS,
    ADEMAS TE LA VISUALIZA EN FOTO REALES,++

    UN SALUDO Y GRACIAS.

    PIERPAOLO

    http://itunes.apple.com/es/app/medbox/id421378549?mt=8

Escribe un comentario