Qué hacer cuando necesitamos memoria auxiliar

Con frecuencia nos encontramos con la necesidad de comprar almacenamiento externo que nos permita transportar datos o almacenarlos por seguridad. ¿Que tipo de memoria comprar?¿Que capacidad?

Tabla de precios por GB de memorias Flash y disco de Toshiba en Amazon en octubre-2018

La tabla es clara no vale la pena comprar una memoria flash USB de más de 64 GB o de menos de 64 GB (La elección es sencilla) y no vale la pena comprar un disco duro externo  de menos de 1 TB (Que viene a tener un precio similar a una flash de 128 GB).

Además de la capacidad y del precio hay que considerar la velocidad de transferencia de datos (No es lo mismo 480 Mb/s que 5000 Mb/s),  el tamaño del buffer interno y la alimentación (No es lo mismo que funcione con la alimentación de la propia conexión USB – Bus powered – a que necesite una fuente de alimentación externa)

Por ello no de extrañar que haya comprado un Toshiba Canvio Basics de 2 TB. 

El Toshiba Canvio Basic  viene preformateado en NTFS para  Windows de Microsoft  que puede ser leído por XOS de Apple, pero no escrito. Si quiere que el disco pueda ser escrito y leido indistintamente por SO de Microsoft y de Apple debe formatearlo en ExtFAT. Si solamente lo quiere usar con Apple pude formatearlo como HFS o HFS+

Generar una app para Android con Coronalabs en 8 pasos

Para generar un fichero .apk instalable y ejecutable en un dispositivo Android, necesita seguir los siguientes pasos:

  1. Aprender un poco sobre LUA y 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 entorno (Por ejemplo Zerobrane Studio) y escribir el programa (main.lua) y el fichero de parámetros de compilación (build.settings)
  3. Instalar el SDK de Java de Oracle  para el entorno en el que trabaje Windows o macOS
  4. Generar un certificado Java para firmar los apk (Debe guardarlo pues Google Play le obligará a usar el mismo certificado apra todas las versioens de una app)
  5. Descargar Coronalabs
  6. Ejecutar el mail.lua en el simulador de coronalabs
  7. Compilar o generar el build con coronalabs, obteniendo el .apk (Android aplication Package), e instalarlo en un dispositivo Android o distribuirlo mediante  Goole Play para lo cual necesita una cuenta de desarrollador de Google.
  8. Ejecutar el .apk en el dispositivo

Escribir una aplicación para Windows: C++, C#, Microsoft Visual Basic vs coronalabs

En una entrada anterior hemos comentado las ventajas y desventajas de usar coronalabs como lenguaje de programación para desarrollar aplicaciones para macOS, ahora vamos a ver que de la misma forma y a partir del mismo fuente LUA podemos desarrollara para Windows (UWP – Universal Platform Windows).

Para desarrollar aplicaciones se pueden usar muchos lenguajes de programación desde Python o Java hasta los recomendados como Microsoft como  C++, C#, Microsoft Visual Basic,  y JavaScript  (VisualStudio). Pero si ya tiene un fuente en LUA puede generar de forma automática un ejecutable (.exe) para Windows con Coronalabs instalado en Windows, es inmediato y funciona a la primera (Lo hemos probado).

Los inconvenientes los ya comentados mayor tamaño del ejecutable, menor rendimiento y dificultad a la hora de acceder a rutinas de bajo nivel de Windows; la ventaja que con un único fuente puede generar de forma inmediata app para Android, para iOS; HTML5 que se ejecuta desde un servidor sobre cualquier navegador o browser,  y aplicaciones para macOS y Windows.

¿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,