Download Lenguajes de programación Web
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.