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.