¿Deberían los nuevos desarrolladores “invertir” en RubyMotion o seguir con Objective-C? ¿Qué pasa con los desarrolladores de RubyMotion que desean solicitar un trabajo como desarrollador de iOS? ¿Crees que serán tratados por igual en el mercado laboral?

Creo que RubyMotion es una herramienta excelente, no me malinterpreten, pero realmente está hecho para los desarrolladores de Ruby (hay algunos beneficios más allá de la sintaxis y la estructura, el editor / IDE agnóstico, la expresividad, la metaprogramación, etc.). Si tus niveles de habilidad son prácticamente los mismos en Obj-c y Ruby, no seguiría la ruta RubyMotion.

Como principiante, si bien es posible que pueda obtener algunas aplicaciones básicas y ejecutarlas más rápido con RubyMotion, probablemente tendrá que dedicar tanto tiempo a aprender cómo implementar la mayoría de las características de su aplicación planificada como escribiría Obj-C en Xcode. Si bien hay algunos recursos excelentes para usar RubyMotion, encontrará muchos más disponibles en Obj-C.

En lo que respecta a un mercado laboral de RubyMotion, aunque esto es puramente especulativo, diría que hay pocas posibilidades de que encuentres un trabajo para construir aplicaciones iOS en Ruby. En mi opinión, las empresas que funcionan con iOS, o al menos tienen una parte de su interés en los dispositivos móviles, no se comprometerán con RubyMotion vs. Obj-C. (Puede ver una lista de aplicaciones en el directorio de aplicaciones de RubyMotion: RubyMotion – Aplicaciones) Si bien actualmente no existe una desventaja real para crear una aplicación en RubyMotion, es posible que algún día Apple prohíba el uso de dichas cadenas de herramientas para crear aplicaciones, aunque esto así lo explica RubyMotion:

Las solicitudes enviadas a la App Store deben cumplir con las Pautas de revisión dictadas por Apple. RubyMotion implementa un dialecto de Ruby que se ajusta a esas reglas. Las aplicaciones de RubyMotion están completamente compiladas, no descargan ni interpretan código y están utilizando API públicas de iOS a través de la misma maquinaria que las aplicaciones normales de Objective-C.

Además, es posible que la cadena de herramientas no se mantenga como lo está hoy (dudo que este sea el caso, Laurent & co no parece que se detengan pronto). Si este es el caso, puede volverse incompatible con las nuevas versiones de iOS cuyas API no se implementan en RubyMotion.

RubyMotion es una herramienta increíble, y se lo recomendaría a cualquiera que ya se sienta cómodo con el lenguaje de programación Ruby. Es genial trabajar con él, especialmente las pruebas, y hay algunas aplicaciones hermosas desarrolladas sobre él. Sin embargo, según la cantidad de experiencia que ha compartido con Ruby / Obj-C, diría que será más beneficioso para usted si puede escribir aplicaciones nativas para iOS en Obj-C.


ACTUALIZAR:

Sin embargo, si eres experto tanto en Ruby como en Obj-C, RubyMotion puede ser una herramienta increíblemente poderosa e imprescindible. La capacidad de crear para iOS, pero escribir y pensar en Ruby es excelente para la creatividad, la productividad y la diversión.

Si tienes experiencia en ambos idiomas, ¡definitivamente compruébalo! No quería que esta publicación alejara a nadie del aprendizaje.

Otros artículos de RubyMotion de interés:

  • nitron – datos como ActiveRecord
  • BubbleWrap – ayudantes / envoltorios para más APIs similares a Ruby
  • Libro: RubyMotion: Desarrollo de iOS con Ruby

Si está utilizando RubyMotion para su proyecto iOS, ¡envíeme un mensaje!

Yo diría que comience con el Objetivo C y luego invierta tiempo en RubyMotion. Desea una buena comprensión del entorno iOS, cómo funcionan las cosas. Si bien es posible que no necesite un conocimiento experto del Objetivo C, ser capaz de programar bien en él es excelente para comprender cómo y por qué las cosas funcionan de cierta manera. RubyMotion todavía es relativamente nuevo, a veces querrás recurrir al Objetivo C para partes pequeñas de una aplicación, para evitar las limitaciones. El Objetivo C también tiene bibliotecas de código abierto decentes disponibles, parte de los pocos años que existió iOS, así como muchos años antes, para OS X. Casi siempre querrás leer ese código y, a veces, editarlo.

La comunidad Ruby en general parece ser más prolífica en términos de creación de bibliotecas de código abierto y parece que la comunidad RubyMotion se está formando de la misma manera. En unos años, creo que esto se acumulará en un activo muy fuerte para RubyMotion.

PD: Dicho esto, solo quería aclarar un punto en el que mencionas que RubyMotion te permite usar Vim, pero Objective C no: uso MacVim para mi trabajo cotidiano de Objective C y uso Xcode como una herramienta de gestión de proyectos de construcción y construcción. junto con otras herramientas como instrumentos. No es perfecto, pero no hay problema en usar Vim.

Si desea tener la mejor oportunidad en el mercado laboral de iOS, tendrá que ser un desarrollador de Obj-C o Swift (o preferiblemente ambos). Esas son las bases de código que vas a encontrar.

Estoy seguro de que hay trabajos de RubyMotion (nunca he visto uno), pero no serán tan comunes como Obj-C o Swift.

RubyMotion suena como si fuera adecuado para los desarrolladores de Ruby, pero no veo ningún beneficio para nadie ‘lenguaje neutral’, Swift es un lenguaje muy bueno, y no veo ninguna razón por la que use Ruby con preferencia.

A menos que estés casado con Ruby por alguna razón, usa Swift.

Si has hecho algo de Objective-C y entiendes la API de Cocoa Touch, entonces elegiría RubyMotion, es una gran herramienta.

El problema que tuve (y muchos amigos) fue saltar a RubyMotion como Rubyists: todavía era bastante lento y me pareció útil tomarme un tiempo para aprender el desarrollo de iOS con Objective-C y luego volver a RubyMotion.