Download Lenguajes de programación Web

Document related concepts
Transcript
Lenguajes de programación
Web
Juan Felipe Muñoz Fernández
Antecedentes
• Aplicaciones cliente – servidor instalación
separada de componentes.
• Dependencia de las app’s cliente servidor
del S.O.
• Multiplicidad de interfaces.
• Aparición del World Wide Web.
• Lenguajes estáticos.
• Dinamismo en las páginas.
Arquitectura común de las
aplicaciones web
NAVEGADOR
LENGUAJE
BASE DE DATOS
HTML
Características
• Lenguaje estático.
• Basado en etiquetas.
• El estándar lo define el W3C (World Wide
Web Constortium).
• Interpretado.
• Extensiones de archivos .html ó .htm.
HTML (cont.)
Ventajas
• Texto estructurado.
• Archivos pequeños.
• Fácil aprendizaje.
• Compatible en todos los exploradores.
Desventajas
• Estático.
• Interpretación diferente dependiendo del
navegador.
• Exceso de etiquetas.
HTML (cont.)
JavaScript
Características
• Interpretado.
• Similar a Java.
• Orientado a objetos.
• El estándar definido y mantenido por W3C
a través del DOM.
Javascript (cont.)
Ventajas
• Lenguaje de scripting seguro y fiable.
• Los scripts tienen capacidades limitadas.
• Se ejecuta en el lado del cliente.
Desventajas
• Código visible por cualquier usuario.
• El código debe descargarse completamente.
• Puede poner en riesgo la seguridad del sitio con
el uso XSS (Cross Site Scripting).
• Problemas en navegadores antiguos.
Javascript (cont.)
PHP
Características
• Interpretado.
• Usado principalmente para sitio dinámicos.
• Del lado del servidor.
• Embebido en HTML.
• Necesita de servidor Web.
• Extensiones de archivo .php.
• Lenguaje libre.
• Multiplataforma.
• Descataca su conectividad con MySQL.
PHP (cont.)
Ventajas
• Fácil de aprender.
• Lenguaje rápido.
• Soporta objetos.
• Capacidad de conexión con la mayoría de
motores de BD.
• Expande su potencial a través de módulos.
• Ampliamente documentado.
• No hay que definir tipos de variables.
• Gran cantidad de funciones.
PHP (cont.)
Desventajas
• Necesita de servidor Web.
• Todo el trabajo se realiza en el servidor.
• La legibilidad del código puede verse afectada.
• Soporte a objetos aún es muy deficiente.
• Dificulta la organización por capas de la
aplicación.
• Hay que asegurar la implementación.
PHP (cont.)
ASP.NET
Características
• Es un framework de desarrollo.
• Comercializado por microsoft.
• Se puede usar C#, VB.NET o J# en los
desarrollos Web.
• Los archivos son extensión .aspx.
• Las aplicaciones necesitan de Framework de
.NET.
• Se ejecuta en el lado del servidor.
ASP.NET (cont.)
Ventajas
• Completamente orientado a objetos.
• Controles de usuario personalizados.
• Permite la división por capas: diseño y código.
• Facilita el mantenimiento de grandes
aplicaciones.
• Rápido en la respuesta del servidor.
• Seguro.
ASP.NET (cont.)
Desventajas
• Mayor uso de recursos
ASP.NET (cont.)
JSP
Características
• Orientado a desarrollar páginas Web en Java.
• Lenguaje multiplataforma.
• Se ejecuta en el lado del servidor.
• Similar a ASP.NET en la potencia de los desarrollos.
• Necesita para su funcionamiento el servidor Tomcat.
• Permite separar el código dinámico del estático.
• Las páginas se compilan en la primera petición.
• La extensión de archivo es .jsp.
• El código JSP se puede incrustar en HTML.
• Utiliza el motor de servlets de Java.
JSP (cont.)
Ventajas
• Ejecución rápida de servlets.
• Multiplataforma.
• Código bien estructurado.
• Se escribe en Java.
• Integridad con los módulos de Java.
Desventajas
• Complejidad en el aprendizaje.
JSP (cont.)
Python
Características
• Lenguaje multipropósito.
• Lenguaje interpretado.
• Lenguaje multiparadigma:
– POO.
– Programación estructurada.
– Programación funcional.
– Programación orientada a aspectos..
Python (cont.)
Ventajas
• Libre y de fuente abierta.
• Lenguaje de propósito general.
• Gran cantidad de funciones y librerías.
• Sencillo y rápido de programar.
• Multiplataforma.
• Orientado a objetos.
• Portable.
Desventajas
• Lento por ser interpretado.
Python (cont.)
Ruby
Características
• Lenguaje interpretado.
• Orientado a objetos.
• Sintaxis similar a la de Perl y Python.
• Distribuido bajo licencia de software libre.
• POO rápida y sencilla.
• Es case-sensitive.
• Dispone de manejo de excepciones.
• Portátil.
Ruby (cont.)
Ventajas
• Desarrollo de soluciones de bajo costo.
• Software libre.
• Multiplataforma.
• Enfocado a la simplicidad y productividad.
Ruby (cont.)
Perl
•
•
•
•
Toma elementos del lenguaje C y shell.
Es interpretado.
Lenguaje de propósito general.
Soporta programación estructurada, POO y
programación funcional.
• Gran cantidad de módulos.
• Rico en sintaxis.
• Poderoso en el manejo de expresiones
regulares.
Perl (cont.)
Referencias y bibliografía
• http://www.maestrosdelweb.com/principian
tes/los-diferentes-lenguajes-deprogramacion-para-la-web/
• http://es.wikipedia.org.