Primeros avances con Django

Hace unos días comente que estabamos iniciando un nuevo proyecto, que para este proyecto nos estabamos planteando cambiar desde Java hacia Python y vuestras opiniones eran favorables a ir cambiando paulatinamente y comenzar con lo que ya conocemos. Vamos a trabajar sobre nuestra web, que necesita algo más que un lavado de cara, con Django y con la experiencia adquirida veremos si comenzamos el nuevo projecto con la archiconocida combinación Java+JPox+Servlets+GWT o nos pasamos a Python+Django.

Java tiene un amplio abanico de librerias que te permiten hacer casi de todo, cada libreria con sus dependencias y sus incompatibilidades. Python tiene menos opciones, pero para todo lo que he necesitado hasta el momento he encontrado una libreria.

Pero la gran diferencia no esta en el lenguaje de programación, donde las diferencias entre un lenguaje tipado y uno dinámico están más que discutidas, sino en Django. JPox+Servlets+GWT es una arquitectura ad-hoc, en cambio el marco de trabajo (tal vez la traducción sea demasiado literal, pero no he visto una que me convenza más) tiene toda una serie de ventajas que hemos podido disfrutar desde el primer momento, hay cientos de aplicaciones, unas muy buenas otras no tanto, ya desarrolladas que encajan perfectamente entre ellas. Tienes recursos (1, 2) en los que poder encontrar aplicaciones que te llevarán a no tener que reinventar la rueda.

En nuestra web comenzamos con un pequeño CMS de creación propia, extremadamente sencillo que nos demostró la potencia de Django. Después hemos buscado un CMS existente que se encargará de servir los contenidos, hemos encontrado aplicaciones de foros, blogs o tienda on-line que nos llevarán a tener una web completamente integrada en unos días. La verdadera revolución es lo sencillo que resulta rehusar el trabajo de otros para dedicarte a lo realmente importante, en este primer proyecto, mostrar nuestro producto.

A medida que se incremente la dificultad de lo que queremos hacer iremos encontrando las piedras, espero tener oportunidad de ir compartiendo nuestros avances.

Anuncios

Un comentario en “Primeros avances con Django

  1. Python tiene un abanico de librerías impresionante, sólo que no hay tanto hipe de arquitecturas. La regla KISS al igual que la DRY es parte de la filosofía de los programadores Python, por lo que además de las librerías puramente desarrolladas en Python hay multitud de ellas que son un envoltorio de librerías ya existentes desarrolladas en C o C++, ahora con Jython incluso de Java.

    Hay tres cosas que a mi entender hacen de Django una elección perfecta para la web:

    * Su sistema de aplicaciones. La reutilización se hacen a nivel de aplicación y es muy sencillo reaprovechar código de aplicaciones existentes, como bien explicas en el post.
    * Su orientación a la tarea y a la escalabilidad. Django soluciona problemas *reales* con los que los desarrolladores nos encontramos día a día y lo hace pensando en que las webs que se desarrollen en Django deben poder aguantar cientos de miles de visitas, ser indexables, ser mantenibles. Cuando te encuentras un problema normalmente ves que el framework ya ha previstos una solución, y eso no es mágia, es sencillamente que desde sus incios se ha estado utilizando en proyectos reales de gran envergadura.
    * Python.Programar en Python es divertido y además rápido. La productividad se dispara y cuando necesitas algo que Django no tenía previsto allí está Python al rescate para proporcionar el plus que se necesita, des de la generación de Pdfs hasta consumir servicios web con librerías como ZSI.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s