Generar una app para iOS de Apple con Coronalabs en 8 pasos

  1. Al igual que para hacerlo para Android debe aprender previamente un poco sobre LUA y el SDK de Coronalabs. Por ejemplo mediante  el libro, muy recomendable,    “Mobile App Development with Corona: Getting Started” de  Brian G. Burton o con el  Getting starter de Coronalabs
  2. Instalar un editor de LUA para su Mac (Por ejemplo Zerobrane Studio) y escribir el programa (main.lua) y el fichero de parámetros de compilación (build.settings).
  3. Generar un certificado para firmar los ipa para ello debe generarlo desde el llavero, después se importará en Apple Develop para generar una clave de firma para la distribución Apple o para el desarrollo (instalación directa en un dispositivo) que se descargará de nuevo para incluirla en el llavero. Para poder trabajar con Apple Develop deberá darse de alta y pagar la cuota anual de aproximadamente unos 100€.
  4. Descargar Coronalabs para Mac (Solamente se pueden desarrollar para iOS desde un Mac).
  5. Ejecutar el mail.lua en el simulador de coronalabs o de Xcode.
  6. Compilar o generar el build con coronalabs, obteniendo el .ipa con la clave de desarrollo para instalarlo en un dispositivo iOS o con la clave de distribución para subirlo mediante el Application Loader de Xcode   a app store.
  7. Preparar una versión además del build necesitará pantallas que muestren el funcionamiento en iPad de 12,9″ y iPhone de 5,5″, etc.
  8. Conseguir la aprobación de la versión tanto desde el punto de vista técnico (automática) como funcional (comprobación humana que a veces es insalvable o salvable tras cambios y explicaciones).

Después del 1, el 2

Hoy Xiaomi ha anunciado desde  Madrid los modelos de teléfono móvil (celular) Mi A2 (Desde 249€) y Mi A2 Lite (Desde 179€) que cuentan con la última versión de Android One

Discutir  a estas alturas sobre si los teléfonos móviles de  Xiaomi son competidores o no de los iPhone de Apple es absurdo, cualquier producto es competidor de otro, pues cuando compramos uno dejamos de comprar el otro; y más cuando Xiaomi ha superado ya a Apple en ventas en España, y existen sospechas sobre la obsolescencia programada de los productos apple y sobre la fiabilidad de los mismos.

¿Crear una app en nativo, hibrido o con un motor?

Con frecuencia me hacen preguntas del tipo  ¿Qué es mejor Windows o xOS? ¿Android o iOS? ¿Java o Swift? … y mi respuesta es siempre “depende”, si eres o aspiras a ser  un profesional tendrás que saber de todo (A mi me resulta indiferente trabajar en entorno windows, xOS o Linux, u otros menos conocidos) y usar tus conocimientos para satisfacer los requerimientos del cliente … si el cliente quiere Android, es poco serio que intentes venderle iOS.

Para un aficionado o recién llegado, que es quien suele preguntar,  mi respuesta es sencilla como eres tu quien se pone los requerimientos programa una app en lo que te resulte más cómodo, y si tienes que aprender un lenguaje de programación huye de los lenguajes nativos  cómo java o swift y aprende algún lenguaje de un motor  en los que  las curvas de aprendizaje y de satisfacción son más rápidas, así que recomiendo  Coronalabs (para aplicaciones de texto  o 2D, que usa el lenguaje  LUA) o Unity (para juegos y 3D), ambas son gratuitos y permite generar objetos para Android e iOS con un mismo fuente y te va sobrar para las aplicaciones que puedas imaginar (Ambas las usamos en Sonotrigger)

Asi, pero ejemplo mediante Coronalabs permite a partir de un fuente escrito en LUA generar una app para Android de Google sin necesidad de descargarse el Android Studio el SDK para Android o de usar un lenguaje de programación como  Java o kotlin, también una aplicación para iOS de Apple sin tener que reprogramar de nuevo la app en  Swift o Objective-C, pero también genera HTML5 que instalado en un servidor web permite la ejecución en un navegador o browser y objetos .dmg para MacOS de Apple y .exe para Windows de Microsoft ... un único programa fuente, ejecutables para cinco entornos distintos.

Debemos saber que hay un mayor número de instalaciones de Android que de iOS (En junio de 2018 77% vs 19%), sin embargo los ingresos de una aplicación es similar en Google Play que en Apple Store (Los usuarios de Apple compran más que los de Google, Aunque hay que restar la cuota anual de unos 100€), por otra parte Apple obliga  aun actualización más rápida que Google (El 76% de los dispositivos IOS tienen la ultima versión frente al 4,6%).

Una última advertencia para desarrollar una app para Android se pueden crear en un entorno Windows o xOS pues precisan de Java de Oracle que está disponible en estos entornos y algunos más, mientras que para una app para  iOS de Apple (iPhone, iPAD, etc.), se precisa de un ordenador con xOS pues requiere de XCODE,

Las razones por las que me gusta Android One

Android One es un iniciativa de Google cuyo objetivo es, que los fabricantes de dispositivos móviles, que utilizan el sistema operativo Android, instalen una versión pura, sin realizar ninguna modificación del mismo o ni incluir ninguna capa adicional de programación.

Android One no es una versión del sistema operativo Android.  Un dispositivo Android One puede trabajar con Nougat (7.x), Oreo (8.X), … y que un dispositivo disponga de Android no significa que sea Android One

android one

Para un desarrollador, trabajar para una versión pura tiene la ventaja de asegurar la máxima compatibilidad de sus app con los dispositivos.  En principio si una app funciona correctamente en un dispositivo Android One, con una determinada versión, debe hacerlo para cualquier otro dispositivo basado en dicha versión. Por el contrario si hace prueba las app sobre un dispositivo que no sea Android One, por ejemplo un teléfono Samsung, no podrá asegurar al 100% el funcionamiento “a priori” en dispositivos de otras marcas.

Para un usuario  un dispositivo con Android One tiene la ventaja de evitar la arbitrariedad del desarrollador intermedio del software (fork o customized Android ROM) que puede:

  • Discontinuar la actualización del software (obsolescencia programada). Google asegura un mínimo de 2 años de actualizaciones de los terminales Android One.
  • Crear bugs o errores.
  • Aumentar el consumo de memoria y procesador.
  • Limitar prestaciones o productos.
  • Modificar las características de seguridad o confidencialidad.
  • Retrasar las actualizaciones del sistema operativo.

Por todo ello soy partidario de los dispositivos que utilizan Android One como el  Xiaomi Mi A1, pues lo veo una característica técnicamente positiva, sin que con ello desmerezcan las versiones de Android de los fabricantes de dispositivos como por ejemplo:  MIUI de la propia Xiaomi  (Parece que lo va a discontinuar),  EMUI de Huawei (Parece que va a desarrollar un SO propio) o Samsung Experience (Con anterioridad Touchwiz UI ) que desarrollan  para intentar mejorar la experiencia del usuario.

La tabla adjunta muestra los teléfonos móviles que Google incluye en Android One, resaltando los más fáciles de adquirir en o desde España.

 

Modelo Androide One Marca
GM6 General Mobile
GM5 General Mobile
GM5 Plus General Mobile
Google Pixel 2 XL Google
U11 Life htc
Android One Moto X4 Motorola
X1 SHARP
Mi A1 Xiaomi
S2 Y!Mobile
S1 Y!Mobile

Dos curiosidades la primera es que el nombre del fabricante Xiaomi 小米 , significa “mijo” y la segunda es que siempre nos podremos equivocar … pero Google hasta hace los fallos divertidos