¿Por qué Ruby On Rails es útil para las startups? Luego <% pila tecnológica %>

Ahora estamos desarrollando una nueva startup, llamada Adtena. Es un sistema de publicidad en línea para las redes Wi-Fi públicas. Y como desarrollador de software de nuestro dúo de fundadores de esta startup, llegó el problema más conocido: ¿qué tecnología puede resolver nuestras necesidades más que otra y nos puede ayudar a crecer e iterar mas rápido?

En los últimos 3 años yo era un desarrollador de Python, con mucha experiencia en diferentes frameworks. Pero en algún momento empezaba a tener diferentes problemas y comencé a mirar nuevas tecnologías como NodeJS, Scala y Erlang. Pero estas tecnologías no satisfacen las necesidades de una startup.

Hazlo. Sólo hazlo con la tecnología que mejor manejas y tengas experiencia. Sobre esto son las startup. ¿Entonces por qué deberíamos abandonar esta regla y empezar con Ruby?

Una cueva llena de gemas.

El lema principal de Rails es “Muévete rápido y rompe cosas”. De esto trata el desarrollo de la startup. Más rápido es siempre mejor. Y Rails te da un montón de balas de plata para esto.

Hay tantas funcionalidades en estas librerías que te permiten simplemente “instalar y usar” las partes funcionales en tu sitio web. Puedes decir que son lo mismo para Django. Y tendrás razón, pero si comienzas a usar módulos en Django, puedes encontrarte varios problemas. La integración de un módulo en tú aplicación puede ser bastante largo. Instalar un módulo eb Django equivale a leer toda la documentación proporcionada para integrarlo plenamente en su aplicación. En Rails, por otra parte, solo necesitas leer el “Readme” básico, hacer la configuración básica y empezar a usarlo sobre la marcha.

Puedes revisar lo mejor de lo mejor en : https://www.ruby-toolbox.com/.

Un ejemplo:

Vamos a tomar una simple tarea: Guardar imágenes dentro del servicio de Amazon S3. Probablemente el modulo de Almacenamiento de Django provee esta funcionalidad. Pero es muy básico, toma tiempo integrarlo y escribir front-ends de ayuda para usarlo eficientemente. Pero en Rails tienes a mano la gema “s3_direct_upload”, que incluye varios js y css útiles, que solo necesita cambiar tu “proceso de subida de imagen” en la vista.

Falla rápido

Vale, entonces esto te permite prototipar rápido. Definitivamente esto es bueno para ti y tú negocio. Pero, ¿cómo va en producción? Con todas las pruebas y los despliegues continuos.

Las pruebas son pruebas, se siente igual que cualquier otro lenguaje de tipado dinámico. Pero con alguna que otra funcionalidad extra.

Sugerencia: mira http://vanity.labnotes.org/ (Framework orientado al desarrollo de pruebas)

Pero el despliegue es la joya de la corona. Las herramientas de despliegue automatizado que no requieren que las configures y te preocupes por ellas son un gran alivio para las startups, que pueden continuar las rutinas de despliegue y prueba continúa sin perder el tiempo.

Con(t/cl)usión

No digo que Rails sea mejor o algún tipo de herramienta divina. Amo cómo es Python y lo haré por siempre. Pero creo que puede ser bastante útil para las startups empezar a usar Rails para lograr ser mas rápidos, para iterar e implementar nuevas características y desplegarlas sin arrepentimiento.

Rails es útil para el desarrollo de un negocio, no para “la aplicación web de tu startup”. Y esto podría ser una característica alucinante para los pequeños equipos de fundadores.

Glosario:

  • Ruby & Python : dos lenguajes de programación bastante famosos.
  • Framework: conjunto de herramientas y librerías para el desarrollo de software
  • Ruby On Rails (Rails): framework escrito en Ruby http://rubyonrails.org/
  • Tipado dinámico: clasificación de ciertos tipos de lenguaje de programación
  • Django: framework escrito en Python : https://www.djangoproject.com/