¿Cuál es el mejor marco para el desarrollo de aplicaciones web: Django o RoR o CakePHP?

En mi humilde opinión, Django recorrerá una gran distancia, así que sí, es más que un marco relevante y definitivamente una buena inversión para aprender a largo plazo. .

Aquí es cómo y por qué?

1. Django está probado en el tiempo

2015 marca el décimo aniversario del primer compromiso de código abierto de Django. Django estuvo en desarrollo por un tiempo antes de su lanzamiento, por supuesto. Incluso si no fuera así, 10 años es mucho tiempo para un proyecto, mucho menos utilizado. Durante esos 10 años, Django ha tenido varios lanzamientos. Algunos de estos lanzamientos trajeron nuevas características. Otros se centraron en prevenir problemas de seguridad nuevos e innovadores. De hecho, Django es a menudo uno de los primeros marcos para responder a una nueva vulnerabilidad. El equipo central de Django a menudo alerta a otros marcos de parches que deberían hacer.

Esta edad también se suma a la estabilidad de Django. Si bien no puedo decir que se hayan solucionado todas las arrugas y errores, muchos de ellos se han solucionado. La mayoría de los lanzamientos de Django hoy en día se centran en nuevas características y preocupaciones de casos extremos. El software puede no ser más sabio con la edad, pero tiende a tomar mejores decisiones.

2. Django ha sido probado por multitud

Mientras que Rails y Node obtienen mucha publicidad de sus grandes usuarios, Python y Django tienden a ser un poco más silenciosos. ¡Pero eso no significa que Django no sea utilizado por algunos grandes bateadores!

Django impulsa muchos de los sitios más utilizados de la Web, como Pinterest e Instagram. Facebook usa Django para varias utilidades detrás de escena. Y Disqus, una de las aplicaciones más grandes en Internet, es un proyecto de Django. Django vino de la publicación, por lo que no sorprende que sitios como The Washington Post y Smithsonian Magazine usen Django.

3. Toneladas de paquetes Django disponibles

Al igual que la comunidad de Python en general, la comunidad de Django contribuye con paquetes y utilidades útiles para su uso en todo el mundo. Al buscar “django” en PyPI, se encuentran más de 3.000 paquetes disponibles para su uso. Esto se suma a la mentalidad de “baterías incluidas” de Django. El marco ya ha incluido la mayoría de las cosas que vas a querer.

Encontrar el camino a través de todos estos paquetes puede ser difícil. Tenemos Django Packages, una cuadrícula comparativa de paquetes curada por la comunidad para muchos usos diferentes. También tenemos el impresionante nombre de awesome-django para obtener una lista más obstinada de paquetes útiles.

4. Django tiene excelente documentación

Cuando salió por primera vez, una de las características que diferenciaron a Django fue lo buena que era la documentación. Muchos otros marcos simplemente usaron una lista alfabética de módulos y todos los atributos y métodos. Esto es ideal para una referencia rápida cuando simplemente no puede recordar si es array_sort() o sort_array() . Sin embargo, no ayuda cuando estás aprendiendo el marco por primera vez.

La calidad de la documentación de Django puede que ya no sea única. Definitivamente sigue siendo uno de los mejores ejemplos de documentación de código abierto en la naturaleza. Y mantener estos documentos en este nivel de calidad sigue siendo una preocupación para los desarrolladores de Django. Los doctores son ciudadanos de primera clase en el mundo de Django.

5. La comunidad de Django es asombrosa y solidaria.

La comunidad es uno de los mejores aspectos del mundo de Python, que puede ser aún más cierto para el mundo de Django. Django se rige por el DSF, o Django Software Foundation. Cada evento que involucre a Django debe tener un código de conducta. El DSF también lanzó recientemente una declaración de diversidad que establece una postura oficial sobre el tipo de comunidad que desean construir.

En muchas comunidades, lugares como IRC y listas de correo son tóxicos y poco acogedores. Sin embargo, ambos son agradables en el mundo de Django. Claro, ocasionalmente hay manzanas podridas, pero se manejan rápidamente. Y gracias a estas políticas, grupos como Django Girls pueden prosperar. De hecho, Django Girls ha enseñado Python y Django, junto con fragmentos de HTML, CSS y JavaScript, a más de 1600 mujeres. ¡Eso es increíble por solo haber existido durante un año!

Django ofrece estabilidad, toneladas de paquetes, buena documentación y una comunidad segura y acogedora.

Y en lo que respecta a las estadísticas, visite los siguientes enlaces para mayor claridad y autenticidad, porque ‘los números nunca mienten’ :

  • Rankings de marcos web | HotFrameworks
  • Resumen del ranking
  • TIOBE – La empresa de calidad de software

No hay una única respuesta correcta a esa pregunta. Cada programador tendrá sus propias preferencias y es posible que no coincidan con las suyas.

Si está aprendiendo tanto un nuevo lenguaje de programación como el marco en sí mismo, no verá grandes ganancias de productividad al usar Django o Rails. Mejor que te quedes con lo que sabes para este proyecto y evites la frustración de aprender bajo la presión de la fecha límite.

Si te tomas un tiempo para trabajar en un proyecto paralelo, eso te dará la oportunidad de estirarte como programador. Incluso si vuelve a ASP o PHP, la experiencia de aprender un lenguaje y un marco diferente mejorará sus habilidades.

Hay muchos buenos tutoriales para Django y Rails.

Mi preferencia es Django, así que recomendaré algunos tutoriales y materiales que encontré útiles:

Python por ejemplo:
http://pbe.lightbird.net/

Django por ejemplo:
http://www.lightbird.net/dbe/

Aprenda Python the Hard Way (un gran libro para principiantes, hay un curso de video basado en él en Udemy):
http://learnpythonthehardway.org

y, por supuesto, el tutorial de Django:
https://docs.djangoproject.com/e

y la hoja de trucos de Django:
http://www.revsys.com/django/che

Packt Publishing tiene algunos libros para principiantes decentes para Django y Python (en formatos de papel y ebook), definitivamente debería mirar el libro de pruebas y depuración Django 1.1 de Karen M. Tracey. Django tiene hasta 1.3 ahora pero no encontrará que hay mucho en el libro que está desactualizado.

También puede beneficiarse de ver algunos de los talleres y sesiones grabados de PyCon y DjangoCons recientes, aquí hay una introducción a Django:

http://blip.tv/pycon-us-videos-2

Puedo decir por la experiencia de mi compañía donde desarrollamos decenas de aplicaciones web con Ruby on Rails. Y como resumen de por qué tomamos este marco, escribí el artículo: Por qué Ruby on Rails es ideal para el desarrollo de aplicaciones web

Allí mencioné al menos 7 razones principales y no obvias por las que siempre elegimos RoR para el desarrollo de aplicaciones web:

  1. Con Rails, los desarrolladores pueden automatizar muchas tareas
  2. Un conjunto de convenciones que fomentarían una mejor arquitectura.
  3. La aplicación web Ruby on Rails se puede iniciar dos veces más rápido
  4. Modificaciones futuras de aplicaciones web rápidas y fáciles : agregar nuevas funciones, realizar cambios en el modelo de datos, etc.
  5. Los desarrolladores de Rails no necesitan saber expresiones regulares para definir rutas como lo hacen en Django, por ejemplo
  6. Muchas bibliotecas de Rails compatibles lo ayudarán con cualquier aplicación web que cree
  7. Los rieles fomentan buenas prácticas de codificación con conjuntos de pruebas, herramientas para analizar su código. El marco está desarrollado para priorizar las pruebas para que su proceso de desarrollo sea aún más fácil.
  8. RoR es excepcionalmente fácil de implementar y administrar de forma remota

En caso de que quiera ver qué aplicaciones web se pueden crear con este marco, puede consultar el material: 10 famosas aplicaciones web de Ruby on Rails

More Interesting

¿Cuál es una buena alternativa a la Lista de tareas pendientes de Basecamp?

Tengo una aplicación web en PHP y Angularjs. ¿Debo reemplazar el PHP con Node.js?

¿Cuáles son las herramientas 'imprescindibles' para el desarrollo web?

¿Cuál es la mejor aplicación de procesamiento de texto para documentos que contienen muchas imágenes y formato pesado?

¿Es posible realizar un seguimiento de las actualizaciones del plan con Google Analytics?

¿Cuál es la diferencia entre la aplicación basada en web y la aplicación basada en ventana?

¿El reloj de Gulp usa encuestas o eventos reales?

¿Por qué las aplicaciones web y aplicaciones móviles chinas son mucho mejores que las aplicaciones web y aplicaciones móviles de EE. UU. Ahora (agosto de 2013)?

¿En qué se diferencian las aplicaciones web progresivas de las aplicaciones nativas en términos de UX?

¿Se puede crear una aplicación web progresiva en una instalación de WordPress, por ejemplo, para tener Pokedex PWA en domain.com/database?

Cómo hacer una aplicación web (back-end) usando Java

¿Cuáles son todas las capacidades, soporte y características proporcionadas o cuáles deberían proporcionarse en un marco de automatización de prueba de aplicaciones web?

¿Los usuarios habituales tienen miedo de los inicios de sesión sociales y más bien crean cuentas para pequeñas aplicaciones web?

¿Cuáles son los mejores clientes de video chat?

Sé algo de Python, y planeo desarrollar una aplicación web. ¿Cuáles son mis opciones tecnológicas?