HISTORIA DE PYTHON EN LA WEB ESTUDIANTE: Juan Camilo Herrera Ardila CÓDIO: !"##!"!""$! ASINATURA: PYTHON WEB
El obje objeti tivo vo prin princi cipa pall es adqu adquir irir ir nuev nuevos os cono conoci cimi mien ento toss acer acerca ca de la util utiliz izac ació ión n del del lenguaje lenguaje de programac programación ión Python Python orientado orientado al desarrollo web.
ochenta por 1uido 1uido van 5ossum en el 6entro para las 7atemticas y la 8nformtica 96:8! 6entrum :iskund :iskundee ; 8nformat 8nformatica< ica
Abstract
El nombre del lenguaje proviene de la afición de su creador por los humoristas britnicos 7onty Python.
The main objective is to acquire new knowledge abou aboutt the the use use of the the Pyth Python on prog progra ramm mmin ing g language oriented web development.
>an 5ossum es el principal autor de Python! y su continuo rol central en decidir la dirección de Pyth Python on es recon econoc ociido! do! refir efirii+ndo +ndose se a +l como= como=enevo nevole lent ntee ?icta ictado dorr >itali talici cio o 9en ingl+s@ =enevolent ?ictator for /ife! =?/<.
1. Intr Introd oduc ucci ción ón
Python es en la actualidad uno de los lenguajes de progra programac mación ión dinm dinmico icoss ms popul populare ares! s! " pesar de ser a menudo visto como un lenguaje de En 4AA4! van 5ossum publicó el código de la #scr #scrip ipti ting ng$! $! es en real realid idad ad un leng lengua uaje je de versió versión n B.A.B B.A.B en alt.sources. En esta esta etap etapaa del del programación de propósito general! Python es des de s arr ar r oll ol l o y a esta es taba ban n pre pr e sent se ntes es clas cl ase es usado para todo! desde scripts que luego se tiran con herencia! herencia! manejo de e,cepciones! funciones e,cepciones! funciones y hasta servidores servidores web de alta escalabilid escalabilidad ad que los tipos tipo s modulare modu lares! s! como@ como @ str! str! list! list! dict! entre entre proveen servicio ininterrumpido ininterrumpido %&'(. Permite otros. "dems en este lanzamiento inicial aparec)a crear interfaces de usuario! programar con bases un sistem sistemaa de módul módulos os adopta adoptado do de 7odulaCD de 7odulaCD de datos! realizar programación web tanto del lado del del servi ervid dor como omo del clien liente te y teste estear ar van 5ossum describe el módulo como #una de las mayores unidades de programación de apli aplica caci cion ones es.. Es usad usado o por por cien cient) t)fi fico coss que que Python$. El modelo de e,cepciones en Python es escr escrib iben en apli aplica caci cion ones es para para las las ms ms rpi rpida dass parecido al de 7odulaCD! con la adición de una supercomp supercomputado utadoras ras del mundo mundo y por ni*os que clusula else. En el a*o 4AA& se estn aprendiendo a programar. programar. formó comp.lang.python! el foro foro de disc discus usió ión n principal de Python! marcando un hito en el 2. ¿QUE ¿QUE ES PYTH PYTHON ON? ? crec crecim imie ient nto o del del grup grupo o de usua usuari rios os de este este Python hon es un leng lengua uaje je de prog progra rama maci ción ón lenguaje. interpretado cuya interpretado cuya filosof)a hace hincapi+ en una sinta,is muy limpia y que favorezca un código legible.
Python alcanzó la versión 4.B en enero de 4AA&. 3na caracter)stica de este lanzamiento fueron las herramientas de la programación funcional@ funcional@ lambda!r lambda!red educ uce! e! filt filter er y map. map. >an 5oss 5ossum um e,pl e,plic icó ó que que #hac #hacee 4% a*os a*os!! Pyth Python on adqu adquir irió ió lamb lambda da!! redu reduce ce9< 9
-e trata de un lenguaje de programación multiparadigma multiparadigma!! ya que soporta orien rienttació ación n a obje objeto tos! s! programación programación imperativa y! en meno menorr medi medida da!! programación funcional. Es un leng lengua uaje je inte interp rpre reta tado! do! usa tipado dinmico y es multiplataforma. multiplataforma. Es administrado por la Py la Python thon -oftware -oftware oundati oundation on.. Pose Poseee una una licencia licencia de código código abierto! abierto! denominada Python denominada Python -oftware oundation /icense! /icense! que es compatible con la /icencia p0blica general de 123 a 123 a partir partir de la versió versión n %.4.4! %.4.4! e incomp incompati atible ble en ciert ciertas as versiones anteriores.
/a 0ltima versión liberada proveniente de 6:8 fue Python 4.%. En 4AAF! van 5ossum continuó su trabajo en Python en la 6orporation la 6orporation for 2ational 5esearch 8nitiatives 8nitiatives 96258 96258<< en 5eston! 5eston! >irginia >irginia!! donde lanzó varias versiones versiones del software. 3na innovación mayor en Python fue la unificación de los tipos en Python 9tipos escritos en 6
3. HISTOIA Este ste Pytho thon fue crea creado do a final inales es de los 1
Python puro y consistente. Tambi+n fueron agregados los generadores que fueron inspirados por el lenguaje 8con. /as adiciones a la biblioteca estndar de Python y las decisiones sintcticas fueron influenciadas fuertemente por Gava en algunos casos@ el package logging! introducido en la versión %.D! est basado en log&j el parser -"H! introducido en %.B el package threading!4& cuya clase Thread e,pone un subconjunto de la interfaz de la clase homónima en Gava.
2o es tan estndar como 618 2o es fcil encontrar hosting 9como con Jope<.
4.3.1 ¿QUÉ ES WEBWARE Es un lenguaje escrito y pensado en Python! orientado a objetos! de arquitectura modular! open -ource y 7ultiplataforma 9/inu,LMni, C :indows 2TL%kLHPL%BBD<.
4.3.2 !o"#$o% W&'(ar& !. PO"A#A$ION %E& /a funcionalidad de :ebware se organiza en modulos independientes@
4.1 CGI 6ommon 1ateway 8nterface
N :ebKit@ servidor de aplicaciones
♦ A favor Tecnolog)a veterana y muy probada
N P-P@ Python -erver Pages! parecido a G-P
=astante simple
N 3serKit@ manejo de usuarios
7uy fcil encontrar servicios de hosting.
N 7iddleKit@ middleware 9objectLrelational mapper<
I En contra 7enor eficiencia que otras alternativas
N TaskKit@ gestión de tareas periódicas
2os hace programar quickCnCdirty. N 6heetah@ motor e,terno de plantillas
4.2 ZOPE ♦ A favor
F.
7uy alto nivel
4.3.3 W&')*t
?ise*o orientado a objetos
Es un servidor de aplicaciones rpido y sencillo! utiliza hebras para la concurrencia! la gestión de persistencia es muy simple! funciona bien en /inu,LM28H y :indows! estable y maduro! acepta diferentes modelos de desarrollo web 9-ervletsL Python -erver Pages<.
♦ En contra Elevada curva de aprendizaje Edición por web ?T7/
4.3.4 S&rv$&t%
6onsume muchos recursos
N -on objetos que se ejecutan dentro de :ebKit
Escasa documentación avanzada
N -e cargan en memoria en la primera petición
4.3 WEBWARE
N 7s rpidos que los 618
♦ A favor
N Pueden mantener estado en el servidor de
7s rpido que 618 y ms simple que Jope
"plicaciones.
6ompleto framework orientado a objetos
N Equivalentes a los servlets de G%EE
"cepta diferentes modelos de desarrollo -ervlets 9con o sin plantillas<
N Oeredan de :ebKit.-ervlet o de cualquiera de sus descendientes
P-P@ Python -ervlets Pages
N :ebKit.OTTP-ervlet
8ntegración basadas en
sencilla
de
soluciones
antiguas
N :ebKit.Page
4.4 PSP+ P,t-on S&rv&r Pa&%
618 9618Kit<
"lgunas caracter)sticas de P-P
♦ En contra
N -inta,is inspirada en G-P 2
N =asado en Python
[email protected]
N "cceso al "P8 de :ebKit N le,ible P-P =ase 6lass framework N -e pueden a*adir m+todos a las clases generadas por P-P N 6uando se hace una petición a un P-P@ N -e compila una clase derivada de :ebKit.Page N Por defecto se incluye todo el contenido en el m+todo writeOT7/9<
4.4 C-&&ta N frece mayor separación 6ódigoLPresentación. N Estructura de Plantillas 9Pginas OT7/< con un sublenguaje de acceso a datos en Python. N Puede utilizarse integrado en :eb:are y como módulo independiente. N /enguaje cil de aprender. N -istema "vanzado de 6ach+. N "dmite división jerrquica de las plantillas.
4.4.1 Co/o f#nc*ona C-&&taEstructura de las pginas en dos partes@ C
Part& "*n0/*ca &n S&rv$&t+
5ealiza las operaciones que desee 9acceso a =ase de ?atos! identificación del usuario! etc<. 1uardar los datos que afectan a la presentación 9usuario! theme elegido! etc< en variables de comunicación con la plantilla. ?evolver como salida la aplicación de la plantilla. C
Part& "& Pr&%&ntac*n &n #n f*c-&ro &t&rno .t/$
6ódigo OT7/ con parte dinmica que utilizan dichas variables para generarse.
'. ()(r(ncias N Pgina principal del proyecto :ebware
[email protected] N ?ocumentación introductoria
[email protected] N :iki del proyecto
[email protected]:ikiL N 7otor de plantillas 9e,terno a :ebware<
[email protected] N >alidador automtico de formularios 9e,terno a :ebware< 3