Antecedentes
Aplicaciones cliente servidor instalación separada de componentes.
Dependencia de las apps 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/principiantes/los-diferentes-lenguajes-de-programacion-para-la-web/
http://es.wikipedia.org.