martes, 19 de agosto de 2014

Python y Django porque pueden ser "tan geniales"


 
Bueno hace un "tiempo", la verdad que es un buen tiempo, que había estado viendo python desde cero para entenderlo pero por circunstancias de tiempo, estudios, etc,etc lo deje de "lado" por un tiempo.

Pero hace unos días lo retome y logre terminar de "estudiar" al menos lo básico de python, ello lo hice en Codeacademy, una muy buena web de aprendizaje (Al final del post, si es que no lo buscaron por ustedes les dejare el link).

Pero bueno se que con ello no me puedo quedar de manos cruzadas, así que mientras que pienso una idea para plasmarla en algún proyecto, para ir "puliendo" todos los conocimientos que tengo por el momento.

Comencé además a ver "herramientas complementarias" y ya desde tiempo tenia en mente una y era Django.

Pero bueno ya mencione los 2 términos que están por así decirlo como "centro" del titulo de esta nueva entrada, pero de seguro algunos se preguntaran ¿Y que es python? otros quizás se pregunten ¿Y que es Django?.

Para solucionar esas dudas explicaremos porque "son tan geniales" estas dos tecnologías.

Comenzamos con Python....

En primer lugar hay que decir que python es:
  • Un lenguaje de programación interpretado.
  • Un lenguaje de programación multiparadigma.
  • Lenguaje de programacion orientado a objeto.
  • Y en una pequeña pero creciente porción un lenguaje de programación funcional.
Además no hay que olvidar que además es multiplataforma.

Se ve genial no?..


Pero que seria Python sin su filosofía de trabajo, bueno aquí se las presento:
  • Bello es mejor que feo.
  • Explícito es mejor que implícito.
  • Simple es mejor que complejo.
  • Complejo es mejor que complicado.
  • Plano es mejor que anidado.
  • Disperso es mejor que denso.
  • La legibilidad cuenta.
  • Los casos especiales no son tan especiales como para quebrantar las reglas.
  • Aunque lo práctico gana a la pureza.
  • Los errores nunca deberían dejarse pasar silenciosamente.
  • A menos que hayan sido silenciados explícitamente.
  • Frente a la ambigüedad, rechaza la tentación de adivinar.
  • Debería haber una -y preferiblemente sólo una- manera obvia de hacerlo.
  • Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés.
  • Ahora es mejor que nunca.
  • Aunque nunca es a menudo mejor que ya mismo.
  • Si la implementación es difícil de explicar, es una mala idea.
  • Si la implementación es fácil de explicar, puede que sea una buena idea.
  • Los espacios de nombres (namespaces) son una gran idea ¡Hagamos más de esas cosas!
Espero que con esto ya les aya llamado la atención de comenzar a ver python, bueno y a quien no solo con la primera parte yo me emocione, leí su filosofía y me gusto aun más aprenderlo.

Pero bueno ahora es momento de hablar de la "otra parte", es decir, de Django.

Hora de "terminar" con Django...

Para comenzar con el fin, hay que decir que Django es un framework web hecho en python e irónicamente hecho para python, otra cosa que hay que mencionar y si se me estaba olvidando es que Django es de código abierto con licencia BSD.

Si tenias la idea que con python se realizaba una programación súper-legible  y de manera rápida, con este framework te "volverás loco", puesto que también posee esa idea de trabajo.

Con esto quiero decir; que podrás realizar aplicaciones web de manera mucho más rápida, incluso uno se sorprenderá de lo rápido que terminas creándolas (Si lo se es una exageración, pero ya veremos cada uno cuando lo usemos en su debido tiempo).

Hasta ahora genial no lo creen?...


Ya hable mucho creo es momento de mostrarles los puntos "fuertes" de Django, para que se animen a probarlo:

  • Posee una aplicación administrativa que permite la creación, actualización y eliminación de objetos de contenido como también un registro de todas las acciones realizadas sobre cada uno de ellos.
  • Proporciona una interfaz para administrar los usuarios y los grupos de usuarios (incluyendo una asignación detallada de permisos).
  • Una API de base de datos robusta.
  • Soporte de internacionalización, incluyendo traducciones incorporadas de la interfaz de administración.
  • Utiliza la arquitectura del "modelo-vista-controlador" (MVC), que es una forma de desarrollo de software. Que lo que desea expresar es que los datos (el modelo) esté separado de la lógica de negocio (el controlador), que a su vez está separada de la interfaz de usuario (la vista); pero eso si todas estas partes realizan una sinergia para crear la aplicación deseada.
Y hasta aquí es todo, por el momento, quizás luego realice un tuto de instalación para GNU/Linux (Si lo siento es el SO que uso más).

Pero como les "prometí", si les a gustado estas tecnologías y desean comenzar aquí les dejo el link para que comiencen a ver python de una manera sencilla y didáctica en Codeacademy y algunos link's más si desean profundizar algo más:
  • Codeacademy (El registro es súper-sencillo y los cursos son totalmente gratuitos, además ya esta en una traducción latinoamericana).
  • Python, Para todos (Si lo suyo no es los cursos; sino el ser "autodidacta" leyendo esto es para ustedes ).
  • Web de Django (Web "oficial").
  • Web de Django-es (No eres "experto" en ingles, entonces esto te puede servir mejor que el traductor).
  • El libro de Django (Una interesante ayuda también, para complementar la documentación que leas en las web's)

2 comentarios:

  1. django es uno de los frameworks para poderosos para la creación de aplicaciones web, por lo que mientras desarrollas la pagina web crea el modelo en la base de datos, y su filosofía de trabajo es muy bueno, gran articulo Andree (Y)

    ResponderBorrar
    Respuestas
    1. Si eso es un hecho, sobretodo por centrarse de una muy buena manera en lo que es la arquitectura MVC que nos facilita mucho la creación de una aplicación web. Cierto gracias por tu comentario (y)

      Borrar