Por que no usar django. Breve comparativa entre django, ruby y Mono ASP.Net con MVC

20 diciembre, 2011 por Juan Dejar una respuesta »

Hace un tiempo empecé a oír hablar de django y empecé a interesarme por el. La verdad que al principio me llamaba mucho la atención porque la gente no hacia mas que alabar las virtudes de django. Investigando encontraba mas y mas alabanzas, incluso expertos que comparaban django con otros entornos como Mono ASP.Net con MVC o ruby.

A veces las comparaciones son odiosas y esto es que lo les pasa a los demás entornos cuando los comparamos con django. Al comparar django con Mono ASP.Net con MVC, comentaban como un mismo proyecto realizado por programadores expertos en django, realizaban muchas mas tareas que los expertos en ASP.Net en el mismo tiempo y que el resultado final del proyecto es que era mas rápido y consistente el desarrollo en django que en ASP.Net. Yo no digo que django sea un mal entorno, ni que los programadores de ASP.Net sean malos, pero la calidad de un programador de .Net realizando una web deja un poco que desear en la mayoría de los casos, no asi un programador friki de python que ha decidido hacer webs y que seguramente sea mucho mas versátil que uno de asp.net aunque hiciera la web en php y para mi esto no es comparable. Por otro lado comparaban django con ruby y no me gusto nada la comparación, ya que al comparar, decían que ruby on rails era para “nenas” y django para “hombre de pelo en pecho”. La verdad que esta comparación, es un poco ridícula, hasta llego a hacerme gracia a pesar de no gustarme.

Ahora vayamos a mi experiencia personal. Decidí instalarme django, ruby y Mono ASP.Net con MVC. Al buscar información, tutoriales o algo de guía para instalar e iniciar django, me encuentro con poca información y además centrada para linux, seguía las guías para mac y me costo sudor y lágrimas hacerlo correr (mi amigo @saikus no fue capaz). Cuando ya conseguí, intente hacer una prueba pero fui incapaz, bastante complicado para empezar sin un libro o sin que alguien te enseñe. Aun así, vi que utiliza una especie de servidor propio, por lo que para por ejemplo hacerlo correr en apache, hay que arrancarlo desde ssh y enlazarlo por un fastcgi o similar con apache, pero la cuestión es, cuanta comunidad puede generar algo que es muy muy muy dificil que sin ser pro y sin gastar un dineral en hosting, puedan hacer pruebas (yo en mi hosting no puedo instalarlo de momento).

Por ejemplo, mi experiencia con ruby o asp.net es muy mas satisfactoria, puesto que ruby es tan fácil como instalarlo desde algún apt-get, ports, descargable, etc y luego instalar las mil y una gemas necesarias. De una forma rápida y fácil puedes hacer funcionar un ejemplo o programar algo no solo en linux, sino en MacOSX, que es importante, ya que cada vez hay mas gente que usa este sistema. Por otro lado Mono ASP.Net con MVC es también muy fácil, quizás algo mas complejo que ruby, pero tan fácil como bajarse el instalable o en el peor de los casos las fuentes de la web de mono y compilar. Mono ya tiene XSP que es su propio server como ocurre con django y rails, y con mod_mono lo compilamos e instalamos en un periquete en apache.

Por que me gusta mas usar Mono ASP.Net con MVC que usar ruby o django. Django lo descarto por el costo de su instalación, porque no tengo un buen IDE donde poder programarlo y si quisiera pagar aunque fuera poco por los IDES, ¿Por qué no volverme a Windows y usar Visual Studio? Ruby es un poco parecido, es mas fácil de instalar y trabajar, pero falta un buen IDE, Netbeans tiene soporte, al igual que Eclipse para django, pero son plugins para mi gusto no estan muy muy depurados. Por el lado de Mono ASP.Net con MVC tenemos la opción de monodevelop, que si bien es cierto que sus primeras versiones eran como los plugins antes mencionados, las ultimas han mejorado sustancialmente y no hay que olvidar que en lugar de ser un IDE de java con plugins para python o ruby, es un IDE de .Net (dotnet), por lo que mvc esta soportado nativamente.

En conclusión, a django le veo demasiadas pegas que ensombrecen las virtudes que tiene. Ruby es quizás el mas equilibrado en cuanto a potencia y tiempo de desarrollo y Mono ASP.Net con MVC es mas lento en cuanto a desarrollo pero muy potente, además de no ser un framework añadido a un lenguaje (mvc si, pero no asp) sino todo un entorno preparado para la web, donde con un par de clicks es muy fácil generar clientes de servicios web, o crear un servicio web xml, una pagina web o mil cosas mas. Es por esto que yo personalmente me quedo con Mono ASP.Net con MVC.

Publicidad

10 comentarios

  1. Alicia dice:

    ¿Por qué criticas un framework que no conoces? :(

  2. perri dice:

    Alicia,
    iluminanos con tu sabiduría, hazte un blog y defiende Django y nos pasas el link a los que seguimos este blog.

    De paso si te curras un buen tutorial para gente inútil como yo que me rendi al intentar configurar Django con Lion pues aún mejor.

    Muestranos el camino ;)

  3. Alicia dice:

    ¿Cuántas páginas debe tener mi nuevo blog para poder responder en éste?
    No creo que el post sea mejor, ni peor, pero podría haber sido un artículo maravilloso si se hubiera titulado “Por qué no me gustó usar django” ;) .

  4. Juan dice:

    Hola Alicia, si bien es cierto que el post se podría haber llamado “Por qué no me gustó usar django”, hago una breve comparativa, a titulo personal de varios entornos, como son asp.net con mvc, django y rails. Tengo que decir que a pesar que mvc de asp.net es mi opción preferida, es porque me parece que creas un código impecable y rápido, ojo que asp.net tradicional no me gusta nada, es muy espaguetti code.

    La ventaja para dictaminar entre uno y otro es, la facilidad de instalación y uso, python y ruby son lenguajes de script que han hecho un framework web, asp.net es un entorno web y mvc un framework. Para hacer una idea, es como php, esta preparado para la web, no es un parche para que funcione ahí. También la facilidad de edición, para asp.net mvc tienes monodevelop, multiplataforma y facil de usar, en django y rails tienes o ides de pago, o ides incompletos y no dedicados exclusivamente a eso.

    Alicia, como seguidora de django o python, entiendo lo que dices y ojo, no digo que sea un mal framework, es cojonudo, pero dificil de hacer un deploy y configurar cuando no tienes una amplia experiencia sobre python y sobre django

  5. dracel dice:

    Creo que mas que no gustarte django es que te dio pereza leer. He tenido la suerte de probar django y una vez que lees un poco el tutorial resulta facil comenzar a trabajar con él. Solo hecho de menos una cosa ¡montar servicios web! Para eso me resulta mas sencillo usar asp.net. Por cierto para instalar django: descomprimes el paquete, y ejecutas sudo python setup.py install y para levantar el servidor de desarrollo ejecutas django-admin.py runserver
    Espero que le des otra oportunidad a django al igual que yo deberia darle la primera a rails :-)
    Saludos

  6. Juan dice:

    Gracias por la aclaración dracel, la verdad es que django limpio fui capaz de levantarlo, es sencillo ponerlo en un entorno de desarrollo, el problema lo tuve con alguna herramienta vease por ejemplo tree.io, que solo me daba problemas, en mi mac lo he conseguido montar pero montar en un entorno linux me han hecho perder un poco el pelo. Aun así, django es un tema muy caliente (a lo que comunidad se refiere) y te aseguro que lo utilizare y cuando aprenda animare a la gente a usarlo :)

  7. Erikson Murrugarra dice:

    Hola, creo que no deberías de hablar así de Django, django es una herramienta muy utilizada y muy fácil, el hecho de que el instalarlo y hacerlo arrancar no te fue tan fácil, no es razón para decir tales cosas..

    Tengo una certificación de microsoft en MVC Framework sin duda .net y el MVC Framework son lo máximo, pero me gusta mucho más Django por su facilidad de uso y rapidez.

  8. Ghost dice:

    Pues si.. el título del artículo está mal, estás críticando un framework que no conoces, yo también creo que te faltó leer, Django tiene muy buena documentación(claro en ingles: https://docs.djangoproject.com/en/1.3/)
    Podrías haber empezado con la guía de iniciación: https://docs.djangoproject.com/en/1.3/intro/

    Que dice como instalarlo:
    https://docs.djangoproject.com/en/1.3/intro/install/

    Es tan fácil como instalar python y luego ejecutar el setup.py de Django, luego bajarte un idea para django y decirle dónde está instalado python.

    Tiene un servidor incluído, pues si, y es para modo dev, para modo producción, te lías con lo de apache, pero :O.. ni siquiera lograste instalarlo =S.

    Creo que ni siquiera has leído algo de python, yo creo que debes poner un update adelante de tu artículo, y aclarar por qué no te gusta en un par de palabras y no escribir un extenso artículo para decir que no lo supiste instalar..

  9. jkmillos21 dice:

    la verdad no creo que puedas comparar las bondades de una plataforma sí ni siquiera pudiste instalará correctamente y crear un proyecto con el. es claro que hay dificultades al no disponer un instalador que haga todo por ti. pero no es gran cosa. yo tambien tuve mis problemas y la verdad el más grande es el idioma lo demas es solo cuestión de leer un poco.

Trackbacks /
Pingbacks

  1. Bitacoras.com

Deja un comentario