sábado, 20 de julio de 2019

Una estrategia para desarrollar nuestra app


Hace algún tiempo vimos esta estrategia para desarrollar aplicaciones con el que podemos ahorrar tiempo y dinero, la cual tiene mucho sentido seguir cuanto uno esta iniciando con alguna idea.


Como vemos la idea es iniciar desarrollando nuestra aplicación con html o hacer una aplicación web. Con esto podemos de manera fácil distribuir nuestra app en cualquier dispositivo y aprovechando las grandes ventajas que nos da el html.

Con un solo código base podemos hacer que nuestra app que puede ser usada en diferentes sistemas operativos y diferentes tamaños.  Cuando queremos hacer cambios no tenemos que esperar que los usuarios realicen las actualizaciones ya que esto ocurre en nuestro servidor.

Con el uso de html podemos hacer casi cualquier cosa que deseamos, pero si ya se requiere por alguna razón crear las aplicaciones móviles nuestro segundo paso es pensar en aplicaciones hibridas.

Algunos desarrolladores se quejan un poco de posibles problemas de rendimiento que pueden dar las aplicaciones hibridas, pero tenemos muchas ventajas y si contamos con poco tiempo y presupuesto este es el camino correcto. Una de las grandes ventajas es que tenemos un solo código base y contamos con algunas características extras que no podríamos tener con la primera etapa de html. Podemos usar las apis para controlar características de los dispositivos móviles. Otro detalle importante es que los desarrolladores no necesitan conocimientos en los diferentes lenguajes y plataformas para desarrollar las apps.

Ahora en la ultima etapa de nuestro desarrollo ya tenemos que analizar si se requieren cosas muy especificas para cada una de las plataformas que deseamos desarrollar y las implementaciones hibridas no nos permiten usar.

En estos casos ya tendríamos códigos bases diferentes y posiblemente equipos de desarrollo diferentes o se requiere de personal con conocimientos en estos lenguajes de programación con lo que podría aumentar los costos y tiempo en corregir problemas, crear nuevas características, que las apps sean iguales para todas las plataformas, etc.

Lo más fácil es lanzar una app web que nos permita también medir nuestro publico y ver la evolución de nuestra app con esto tomar decisiones si vale la pena continuar invirtiendo dinero en aplicaciones más especializadas para móviles.

Con el paso del tiempo se tiene que ver qué características se ocupan que no se puedan desarrollar con una aplicación web que requiere de nuestro tiempo para desarrollar aplicaciones más específicas para móviles.

¿Quieres aprender java y C#?

Etiquetas: , , , , , , , , ,

jueves, 18 de julio de 2019

Algunos Frameworks para desarrollo móvil


Existen muchas opciones que tenemos disponibles hoy en día para desarrollar aplicaciones móviles. De las cuales todas nos dan formas diferentes de solucionar lo que estamos buscando. La estrategia es muy similar, pero tienen algunas características diferentes.

Cuando tenemos que tomar la decisión de cual framework debemos usar lo primero que debemos buscar es a lo que estamos mas acostumbrados a trabajar. Realmente todo depende de que deseamos hacer y con cual equipo de trabajo lo queremos hacer.

Actualmente contamos con iOS y Android como los principales sistemas operativos en el mercado, pero con una cantidad de formas y frameworks para el desarrollo increíble donde cada uno dice que es el mejor por a o b razones.

En este momento yo no voy a tratar de indicar cual es mejor que otra ya que como mencione anterior mente depende de muchas variables para poder decir cual es mejor o peor. Pero si dar una lista que con las que se podría iniciar una investigación y ver cual se ajusta mejor a cada equipo de trabajo.

Primero tenemos una lista basados en Java

Oracle MAF: Podemos escribir nuestro código en Java usando JDeveloper. Es muy fácil de usar y podemos usarlo para compilar en iOS y Android

Gluon: Se escribe con Java y podemos usarlo con diferentes IDEs como por ejemplo con Netbeans. También compila iOS y Android

Codenameone: Se escribe con Java y tiene una particularidad este se debe subir a los servidores de codenameone para compilar nuestra app. Que se puede compilar para iOS y Android.

Itel Multi-OS: Se escribe el código con Android, se puede usar el Android Studio y este también puede compilar a iOS.

Xamarin: Se escribe el código con C# y se puede compilar para iOS y Android.

Apache Cordova: Se usa Javascript para escribir el código y se puede compilar para iOS y Android

IONIC: Se escribe el código con Javascript y se puede compilar para iOS y Android

Flutter: Este es de Google y el código se escribe con Dark. Crea apps para iOS y Android

Esto es para mencionar algunas, pero existen muchas más opciones para escribir nuestras apps. Lo importante es trabajar con las que nos sintamos más familiarizados y los que tengan los frameworks que se ajusten más a nuestro equipo de desarrollo.

Podríamos usar esta técnica https://compuarticulos.blogspot.com/2019/02/como-seleccionar-el-lenguaje-o-proyecto.html para seleccionar nuestro ambiente de desarrollo móvil.

Etiquetas: , , , , , , , , , , , , , , , ,

jueves, 7 de junio de 2018

Codename One


Hace unos días estaba trabajando en una aplicación móvil. Yo he trabajado con Android para hacer las aplicaciones en dispositivos con sistema operativo Android. Pero no he tenido la oportunidad de trabajar en iPhone ya que algunas herramientas requieren tener Mac para poder desarrollar las aplicaciones para iPhone. Lo cual puede ser un problema cuando no se cuenta con esto.

Después de investigar algunas herramientas que existen para desarrollar aplicaciones móviles me parece una buena opción codenameone.

Por ejemplo, para poder desarrollar con objective-c se requiere de Mac. Existen herramientas como Oracle MAF que nos permite desarrollar aplicaciones para Android, Mac y windows. Ahora el problema es que se requiere de Xcode para poder compilar la versión de Mac para los iPhones. Claro no hay problema cuando se tienen las herramientas ya que realmente es muy fácil programar la aplicación con Java y después compilarla para cada uno de los dispositivos.

Otra herramienta muy buena me parece Xamarin que nos permite crear aplicaciones nativas para diferentes dispositivos. Además de que es muy popular existe mucha documentación, pero el problema es que se requiere también de herramientas como Xcode o el compilador de Android para poder compilarla en cada una de las plataformas.

Por otro lado, herramientas que crean híbridos. Ahora tenemos muchas opciones, muchas de estas herramientas nos permiten crear el código con html5 y javascript.

Pero Codename One se puede escribir el código en Java de las diferentes aplicaciones que deseamos publicar. Se puede escribir en Netbeans que es un IDE muy poderoso y fácil de usar. Lo que más me gusta es que no se requiere de instalar Xcode o Android SDK para poder crear las aplicaciones.

¿Cómo funciona? Realmente es muy simple. Se debe instalar un plugin en Netbeans (también se puede usar en otros IDEs como Eclipse), cuando se termina de instalar el plugin vamos a tener las opciones para poder crear los proyectos de tipo Codename one.

Existen varios tipos de formatos de proyectos que se pueden crear con Codename One. Otra de las herramientas que me parece interesantes es que tiene un editor de la parte gráfica. Los componentes gráficos se pueden agregar de manera simple usando la herramienta de drag and drop o simplemente se puede escribir los componentes desde la clase.

Una de las cosas que más me gusta sobre este framework es que realmente el código se escribe una sola vez, ya que cuando se termina el proyecto se enviar a una de las nubes de Codename One donde el código es compilado y crea su ejecutable nativo. Se pueden seleccionar varios tipos de archivos, es decir, se puede compilar para Android, iOs, Windows, etc. Todo esto con un solo clic y sin tener que instalar todas las otras herramientas. Esta es una de las mejores características que tiene desde mi punto de vista.

Existen muchas librerías que se pueden usar para hacer las cosas más simples con Codename One, algunas tienen poca documentación, pero son fáciles de usar realmente. El soporte es muy bueno y siempre contestan rápidamente.

Para poder trabajar con Codename One existen varias versiones,  una de estas es gratis. Esta versión gratis tiene algunas limitantes, pero realmente se puede usar para hacer todas las pruebas necesarias antes de tomar la decisión de cual herramienta seleccionar. También se tienen otras versiones que se tienen que pagar que cuentan con mayores características que la versión gratuita.



Después de subir el proyecto, el cual se hace desde el mismo Netbeans, se espera a tener un resultado de la nube de Codename One. Esto nos da un código QR que podemos usar para descargar nuestro proyecto.

Me parece muy buena la herramienta ya que
  •    No tenemos que instalar todas las herramientas para poder compilar en las diferentes plataformas
  •     Ahorramos mucho tiempo ya que el mismo código es el que se usa para compilar en todas las plataformas.
  •    Todo el proceso de creación de su ejecutable ocurre en la plataforma de Codename One.

El desarrollo de aplicaciones móviles es un tema muy serio hoy en día. Muchas empresas y personas están haciendo sus aplicaciones para muchos diferentes usos y estas demandan mucho tiempo y conocimiento si queremos desarrollar en cada una de las plataformas. Con este tipo de framework se hace un solo código y se puede usar en todas las plataformas.

Etiquetas: , , , ,