2012-10-08 25 views
92

Quiero tomar la ruta de desarrollo web y tener una carrera como desarrollador web usando Python, y realmente quiero aprender Django porque es un framework web completo y será más beneficioso para mí cuando busco un trabajo como web desarrollador.Frasco o Django para un principiante?

Pero un amigo me dijo que comenzara con Flask, ya que es más simple, y me ayudará cuando empiece a aprender Django, ya que Django es más complicado que Flask. Entonces Flask me facilitará las cosas cuando empiece a aprender Django.

Entonces, ¿debería comenzar con Flask, sabiendo que eventualmente aprenderé Django? ¿O simplemente comienza a aprender Django?

+2

Creé una hoja de trabajo para ayudar a otros desarrolladores a decidir entre Flask y Django. Puede revisarlo y obtener un "resultado" del mejor marco para usar: https://wakatime.com/django-vs-flask-worksheet –

+1

Sé que es una vieja pregunta, pero esto seguramente ayudará a principiantes como nosotros [ Django VS Flask] (https://www.youtube.com/watch?v=zGqmRbkukk8) – Suresh2692

Respuesta

1

Deberías comenzar a jugar con ambos y usar el que más te guste si no estás obligado a usar uno. También tenga en cuenta que aprender uno de ellos probablemente hará que sea más fácil aprender el otro.

12

En mi humilde opinión, iría directamente a Django. Es muy posible que sea más difícil de aprender para una aplicación simple o sitio web, sin embargo, diría que la cantidad de soporte y documentos que están disponibles en línea supera con creces cualquier otro marco web de Python.

Además, como dices, Django es un marco de uso del mundo real. Si planea usar eso, podría ser una pérdida de tiempo aprender algo más y luego desaprenderlo para aprender a Django. (como cualquier cambio de tecnología implica algo de desaprendizaje)

Esto es todo subjetivo y solo mi opinión.

15

Frasco es un micro-marco, pero esto no lo hace más simple.

Simplemente no hace muchas suposiciones sobre el ecosistema/librerías que va a utilizar. Te lo deja a ti.

Que a su vez, creo que esto significa que está dirigido a desarrolladores mucho más experimentados .

Django tiene una curva de aprendizaje más pronunciada porque, como dijiste, es full-stack. Aplica sobre usted su propio ORM, marco de formulario, etc. Pero abstrae mucha complejidad que de lo contrario tendría que tratar.

Estoy de acuerdo con Daniel. Iría directamente a Django si estuviera en tu posición.

145

Yo recomendaría que empiece con Flask. Con Flask, redactará explícitamente sus propias funciones de ruta, hará que sus rutas representen plantillas, etc. Todas usarán las funciones de Python con las que ya está familiarizado. Hay poca "magia". Puede ver exactamente cómo está sucediendo todo y comprender por qué está sucediendo. La documentación de Flask también es bastante agradable y concisa para que pueda leerla y aprender Flask en unas pocas horas, pasar varias tardes aprendiendo a hacer una solicitud completa, y luego pasar a Django. La inversión de tiempo es pequeña, le dará una excelente preparación para Django, y habrá aprendido acerca de un gran micro-marco. A veces hago prototipos de proyectos en Flask antes de construirlos en Django.

Django, si bien es más completo, tiene una estructura y una convención definidas, por lo que puede ser un poco más misterioso para un principiante descubrir cómo encaja todo. Si eres nuevo en el desarrollo web, es posible que tengas cierta confusión sobre si estás haciendo algo porque es una convención de desarrollo web o si lo estás haciendo porque es parte de la convención/organización de Django.

Si puede pasar unos días o una semana jugando con Flask antes de pasar a aprender Django (su objetivo original), creo que vale la pena. Ambos son excelentes marcos. Bienvenido al mundo del desarrollo web.

+4

Hmmm, ya comencé en django. Hice algunas páginas dinámicas y estáticas, comencé a tener una buena comprensión de las cosas en él. Entonces, ¿tienes un enlace que explique qué sucede debajo del capó, en lugar de aprender el matraz? Porque eres un conversador convincente: D –

+1

No tengo un resumen bajo el capó de Django, desafortunadamente. Una cosa que los desarrolladores nuevos a menudo se confunden es cómo funciona el enrutamiento. Aquí está la descripción para el enrutamiento de Django https://docs.djangoproject.com/en/dev/topics/http/urls/ y aquí está la descripción para el enrutamiento de Flask http://flask.pocoo.org/docs/quickstart/#routing Parece que ya has comenzado bien en Django. Comprueba el tutorial de Django si aún no lo has hecho, es bastante decente. – dghubble

+3

@dghubble Muchas gracias por su respuesta bien razonada y bien escrita. Sé que esta pregunta se cerró como "no constructiva", pero tengo que decirte que tu respuesta me ayudó a descubrir qué es Flask, y cómo podría abordar las cosas moviéndose a Python como mi lenguaje webdev principal. ¡Rock! :-) –

6

Por lo tanto, no estoy seguro si está comparando manzanas con Pommes aquí. Soy un usuario experimentado de Django y recién comencé a usar Flask. La filosofía de Django desde el principio fue que debería ser un armazón incluido con baterías, mientras que Flask es mucho más que un método de búsqueda de baterías. La pregunta es, ¿quieres tener un marco, que es todo lo que necesitas por el momento para aprender a construir sitios web ricos, o quieres un marco que sea lo más básico y te sientas cómodo sopesando las opciones que existen? para todos los tornillos y tuercas?

Además, declara que está buscando una carrera en desarrollo web y una caja de herramientas para su uso. Encuentro que incluso hoy en día los empleadores a menudo simplemente oyen hablar de 'Django'. Convencer a alguien para que lo emplee a usted y su marco de referencia es Flask puede ser una venta aún más difícil.

Mis 2cents consistirían en engancharse a Django y construir sitios sencillos (encuestas, blogs, etc.) y luego, cuando se sienta cómodo, retroceder y construirlos de nuevo con Flask. Al final, es todo Python.

25

Tuve la misma situación cuando quería probar Python para el desarrollo web :) Y fui con Django. Aunque a veces es difícil entender toda la magia detrás de Django, es agradable y está lleno de cosas muy útiles. Si te gustan los ORM, entonces Django tiene uno bueno. También tiene panel de administración. Las vistas genéricas también son buenas :) Básicamente es un marco muy bueno y cuando ejecutará su primera aplicación en línea, el desarrollo del segundo será divertido :)

Pero después de un tiempo, encontré Flask. Y ahora estoy trabajando con eso. ¿Por qué? Porque a veces solo me gusta construir y crear cosas por mi cuenta, quiero aprender y saber cómo funcionan las cosas. Frasco es algo minimalista y crearás toda la "magia" que Django ya tiene. Estoy feliz de haber empezado con Django, solo porque ahora puedo usar algunos principios en mis aplicaciones de Flask. Flask tiene menos usuarios, pero hasta ahora no era un gran problema para mí. También tiene extensiones que ya te ayudan con algunas cosas. Y aunque ORM no está integrado tan profundamente como en Django, me gusta, porque odio los ORM (llámame anticuado, pero todavía creo que el SQL en bruto es mucho más efectivo en mis casos).

Lo mejor sería probar ambas y elegir la que más te guste. Los muchachos experimentados pueden dar consejos de que uno es mejor que otro, pero yo diría, ¡prueba! Si ves que te estás rompiendo las piernas con Django, quizás Flask te ayude. O de otra manera.

¡Diviértete!

+0

El Panel de administración de Django tiene ventajas (CRUD fuera de la caja) y desventajas (código "oculta"). Creo que Flask y Django son geniales, así que estoy de acuerdo con Ignas. – Timo

Cuestiones relacionadas