No me arrepiento por un minuto. Verá, creé mi proyecto hace años. Durante 5 años me pagaron para hacer el desarrollo de Python para una empresa. En aquel entonces, era absolutamente la herramienta correcta para usar. Tuvimos un problema de escala con los eventos, pero rápidamente hicimos un microservicio GO, y ese fue el final del problema.
Tanto mi proyecto como los proyectos de la compañía aún se están ejecutando, atendiendo a miles de personas todos los días. Ambos sistemas son absolutamente fantásticos, incluso si lo digo yo mismo.
En estos 5 años, algunas cosas han cambiado. NodeJS se ha convertido en el lenguaje de backend de elección. Aquí es donde está la comunidad. Aquí es donde se hacen todas las herramientas. ¿Necesitas un complemento? NodeJS te tiene cubierto. Por supuesto, la calidad siempre es un problema, pero tendrías que ser muy estúpido para poner un signo igual al decir que muchos complementos solo significan menos calidad, no lo es. Simplemente significa que tienes que mirar las cosas que instalas. Siempre es mejor recortar una semana de su proyecto que no hacerlo.
- ¿Cuál es la mejor tecnología de fondo para un sitio web similar a YouTube (que incluye transmisión de video en vivo)?
- ¿Qué tutoriales son mejores para el desarrollo de back-end en Python?
- ¿Qué es el front end y el back end?
- Cómo manejar OAuth2 en microservicios de back-end y front-end
- Me ofrecieron un trabajo de ingeniería de software con opciones de hacer trabajos de backend o Android. ¿En cuál debería centrarme?
Utilicé el framework Python Tornado para ambos proyectos, y tenga en cuenta que no era el único programador. Hoy en día, falta mucho para hacer pruebas y obtener estadísticas útiles para la cobertura del código, por ejemplo, las herramientas están ahí si nos fijamos.
Mi problema hoy es que estoy trabajando solo en proyectos NodeJS. ¿Reescribiré mi sistema en NodeJS? No lo sé. Es bastante sólido, bastante bien probado. Entonces, si hago una reescritura, tendré que volver a hacer muchas correcciones y casos extremos y, por supuesto, tendré otros casos extremos y problemas. Pero para nuevos proyectos, uso NodeJS, principalmente porque me hace un mejor empleado. Si solo estuviera trabajando por mi cuenta, no vería ningún problema con solo usar Python.
Python es realmente genial, simple y te lleva de ser un principiante a ser un profesional. No debería tener problemas de escala a menos que tenga que trabajar con millones de objetos en un solo proceso, como hacer grandes informes, pero NodeJS tampoco será de gran ayuda, tendrá que mirar GO o Elixir.
Puedo decirte una cosa absoluta. De estos dos proyectos de los que hablo, si hubiéramos tratado de usar Ruby on Rails, no lo hubiéramos logrado, he realizado evaluaciones comparativas en muchos aspectos de los sistemas, habríamos necesitado toneladas de más servidores, equipos de almacenamiento en caché y mucha más complejidad. Si hubiéramos elegido Java, tal vez nunca hubiéramos terminado, eso es algo en lo que todos estamos de acuerdo (nosotros, quienes estábamos en el proyecto).