¿Qué opinas sobre RubyMotion?

Esa es una pregunta bastante no específica, así que permítame llenar la vaguedad con algunas suposiciones en torno a las cuales puedo formular una respuesta con detalles específicos.

Supongo que intentas comparar y contrastar RubyMotion con los otros idiomas que puedes usar para desarrollar aplicaciones móviles. RubyMotion puede usarse para desarrollar aplicaciones de escritorio, TV y Watch, así como iOS (iPhone y iPad). Y también se puede utilizar para desarrollar aplicaciones para Android.

Entonces, otros idiomas….

En el lado de Apple de las cosas, tienes Objective C y Swift como idiomas oficialmente bendecidos. Objective C es el lenguaje más antiguo, probado y verdadero, y Swift es el nuevo lenguaje genial.

El objetivo C ha existido desde hace bastante tiempo. Participé en un estudio de lenguajes orientados a objetos a principios de la década de 1990, y el Objetivo C era una de las opciones. Ruby también ha existido por bastante tiempo. Fue creado en 1995. Si buscas en Google “Objetivo C es”, obtendrás un conjunto de respuestas como “está muerto, es difícil y es mejor que Swift”. En este momento, se podría argumentar en apoyo de todas esas declaraciones. RubyMotion se basa en el marco del Objetivo C, por lo que comparte algunos de estos aspectos.

Swift, por otro lado, solo existe desde junio de 2014. Es más fácil de usar, con una sintaxis más limpia que el Objetivo C. Sin embargo, también ha sufrido algunos problemas de crecimiento predecibles, donde las nuevas versiones también pueden ser completamente nuevas. Idiomas, para todos los cambios que se están introduciendo.

Entonces, ¿por qué RubyMotion? Ha existido el tiempo suficiente para que la comunidad haya desarrollado una gran variedad de bibliotecas de apoyo, y para que un conjunto de bibliotecas (Red Potion) haya surgido a la vanguardia del desarrollo. Red Potion es, de hecho, los “Rails” del desarrollo de RubyMotion para iOS. El lenguaje Ruby tiene aspectos de la sintaxis más limpia que ofrece Swift, con la madurez del Objetivo C. También es Ruby. El lenguaje que fue desarrollado con el propósito principal de hacer felices a los desarrolladores.

La imagen de Android es un poco más confusa. Hasta hace unas semanas, Java era el único lenguaje oficial bendecido. En la reciente conferencia de desarrolladores de Google IO, introdujeron un nuevo idioma, Kotlin, como otra opción. En muchos sentidos, Java es el objetivo C del desarrollo de Android, mientras que Kotlin se está convirtiendo en el Swift. Java no es un lenguaje “divertido” (mi opinión), pero tiene un inmenso soporte, herramientas y miles y miles de bibliotecas de código abierto para usar. Encontrarás muchos programadores de Java por ahí. Con suerte, Kotlin, que acaba de salir de una versión 1.0, aprenderá de los errores de Swift y no introducirá tantos cambios de ruptura cuando llegue a 2.0 y 3.0. Y una vez más, RubyMotion para Android se basa en la JVM, y puede aprovechar todas las bibliotecas de Java que existen, pero … no hay un “ganador” claro de una biblioteca de marcos en este momento. Hay Blue Potion (los inicios de Red Potion para Android) y Flow, una biblioteca multiplataforma para iOS y Android, que todavía no está del todo. Pero oye, es Ruby! No tiene que aprender un lenguaje completamente nuevo solo para hacer el desarrollo de Android junto con sus proyectos de iOS.

Una desventaja más de RubyMotion … es un producto que tendrá que pagar. No es de código abierto (a pesar de Flow, y la mayoría de las bibliotecas y marcos como RedPotion SON de código abierto).

¿Hay otras opciones? Absolutamente. Pero no preguntaste específicamente sobre ellos, y estoy más familiarizado con estos, así que ahí es donde lo dejo.