Entre aprender Ruby on Rails, YII2 (PHP Framework) o Django desde cero, ¿cuál debo elegir? ¿Por qué?

De buenas a primeras me mantendría alejado de cualquier cosa PHP. Como lenguaje, abrió la puerta a maravillosas aplicaciones web, pero lamentablemente no siguió el ritmo. Es complejo y está más roto de lo que a los creadores les gustaría admitir. Puedo estar equivocado, pero desde mi punto de vista PHP está en un lento declive.

Eso deja a Rails y Django. Ambos son grandes marcos que te ayudarán a desarrollar aplicaciones web serias. Al aprender estos marcos, debe determinar si desea centrarse exclusivamente en el desarrollo web de tipo MVC (Rails) o si desea tener la capacidad de desarrollar otros tipos de aplicaciones también (Python).

Mi inclinación es elegir el lenguaje que me da la capacidad de codificar más allá de la web (IA, aprendizaje automático, etc.), pero aún así me permite integrar mi código con un marco web. Por eso trabajo con Python y Django (y, a veces, Flask).

La primera pregunta es cuál es su entorno de alojamiento. En la actualidad, la mayoría de los entornos de alojamiento de Linux son compatibles con PHP y MYSQL, pero no con Python o Ruby. Si está atascado con una de estas cuentas de alojamiento, deberá considerar solo PHP o quizás soluciones de Perl.

Ahora, si tiene una cuenta que admite Ruby on Rails y / o Python, en realidad tendrá algunas opciones. En su mayor parte, es solo cuestión de gustos. Por ejemplo, Ruby on Rails es prácticamente un lenguaje de programación orientado a objetos puro donde PHP y Python admiten más estilos de programación. Sin embargo, dado que está buscando usar marcos, en su mayoría va a hacer OOP de todos modos.

Mi sugerencia es configurar un vm de Linux y probar varios lenguajes y marcos diferentes para ver cuál prefiere e ir con eso. Tampoco se limite a estos tres porque JavaEE, Golang y Nodejs también son opciones viables.

Tenga en cuenta que, por simplicidad, puede comenzar el desarrollo en la mayoría de estos idiomas sin instalar un navegador web o servidor de base de datos por separado. Todos estos idiomas son compatibles con sqlite y la mayoría tienen navegadores integrados. Java requerirá algo como Tomcat y no estoy seguro acerca de Golang, pero me sorprendería si no tuviera también soporte de servidor web.

Tengo poca experiencia en codificación. Necesita contratar a un profesional independiente para desarrollar una aplicación web relativamente compleja. Después de eso aprenderé el código para eventualmente soportarlo sin desarrolladores. Todos estos marcos funcionarán para lo que necesitamos.

Entonces, la pregunta es ¿cuál de ellos es MÁS RÁPIDO para un novato?