Datos personales

Mi foto
http://es.linkedin.com/in/raulgarciacarretero

30 de noviembre de 2010

MIB (29/11/2010): XHTML, JAVASCRIPT, FLAHS, HTML5,...

Hoy hemos avanzado viendo más elementos que se ejecutan en el navegador tales como:
  • XHTML y CSS: modelo que separa la estructura (XHTML) de su presentación (CSS) y que conforma el estándar de la programación HTML de calidad, respaldado por el W3C. Sus principales ventajas son que mejora notablemente el SEO, utiliza el mismo HTML para diferentes formatos de presentación, mejora la legibilidad de ambos documentos y ofrece mayor facilidad de mantenimiento y evolución.
  • JAVASCRIPT: lenguaje de programación basado en scripting que se usa en el navegador para dotar de interactividad a la página sin necesidad de comunicar con el servidor. Sus usos más frecuentes son en efectos gráficos, comprobaciones de campos de formularios, pop-ups, integración de servicios, tags de tracking,...
  • FLASH: formato propietario que permite un gran nivel de interacción y de efectos gráficos. Es más complejo y técnico que el HTML. Se descarga en el servidor y se ejecuta en el navegador donde precisa que se instale un plug-in. Sus usos frecuentes son en banners interactivos y rich media, microsites publicitarios, video, juegos on-line, etc. Es muy efectivo para meter videos en streaming.
  • APPLETS JAVA
También hemos visto qué es el HTML5, en desarrollo desde 2004, y que representa la quinta versión del estándar HTML realizada por el W3C y que integra en el estándar nuevas posibilidades de programación que actualmente solo son posibles mediante el uso de plug-ins de terceros. Las principales novedades que aporta:
  • Soporte nativo de streaming (video y audio).
  • Especialización de las etiquetas HTML, eliminando las etiquetas “genéricas” como <div>, <span> o <object>.
  • Incorporación de etiquetas relacionadas con la estructura.
  • Soporte de comandos y etiquetas interactivos.
  • Modo off-line.
Con esto Marcelo ha dado por finalizada la parte dedicada a la programación en el lado cliente (navegador) para entrar de lleno en  la programación en el lado servidor. Y para ello, nos ha explicado el motivo que impulsa al uso de servidores de aplicación: se colocan “detrás” del servidor Web y permiten manipular el código HTML antes de ser entregado, introduciendo lógica en la construcción de la página. Son “páginas dinámicas”.

Cuando un servidor Web recibe una solicitud de una página con extensión dinámica (por ejemplo .php), en lugar de servirla directamente, le pasa la solicitud al servidor de aplicación, que ejecutará la lógica para generar el código HTML resultado.

Dentro de los servidores de aplicación podemos encontrar programación pesada (JAVE/J2EE y .NET), caracterizada por ser un sistema de programación que sigue unos procedimientos muy estrictos; que emplea arquitecturas de programación que separa los tres “tiers” presentación, lógica y datos; que requiere programadores con sólidos conocimientos y que permiten la escalabilidad.

Igualmente podemos encontrar programación ligera (PHP), entendiendo que un entorno es ligero por ser un lenguaje de scripting de alto nivel con pocos elementos estrictos, pocas dificultades de arquitectura y corta curva de aprendizaje. Si se une a un framework de desarrollo sólido, el PHP es un entorno de programación tan potente como el que más.

En cuanto a las bases de datos, no son más que una forma estructurada de guardar los datos. Representan un conjunto de datos pertenecientes a un mismo contexto y almacenados ordenadamente para su uso a través de un SGBD (Sistema de Gestión de Bases de Datos). Las aplicaciones se comunican con las bases de datos en tiempo de ejecución y solicitan los datos que necesitan para generar el HTML.

Y en lo relativo a la interacción cliente/servidor, esta puede ser asíncrona (AJAX) y su base estriba en dotar a la página “estática” de capacidad para comunicarse directamente con el servidor, de manera que sea posible modificar contenidos de la página sin necesidad de realizar una solicitud http “normal”; o interacción en Flash con PHP.

Como colofón y haciendo hincapié en que se trata de un tema de vital importancia, la sesión de hoy ha acabado con la seguridad en programación, la cual se ve comprometida en Internet debido a la exposición pública de las aplicaciones. A este nivel, es fundamental proteger el código y la arquitectura, la base de datos así como encriptar aquellos datos que sean sensibles y adoptar una serie de medidas de seguridad básicas que, entre otras cosas, ayudarán a evitar el hacking:
  • Priorizar la seguridad en los desarrollos.
  • Usar contraseñas fuertes en los usuarios FTP.
  • Usar SSL (https) y certificados de seguridad.
  • Utilizar aplicaciones de detección de agujeros de seguridad.
  • Desarrollar código de calidad.

Hasta mañana.

No hay comentarios: