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