jueves, 30 de abril de 2015

1.1 ARQUITECTURA




1.1 Evolución de las aplicaciones web 


La programación web es un término adecuado para describir el proceso general que engloba el diseño y la creación de un sitio web.

Hace algunos años, los sitios web no eran mucho más que folletos digitales. Actualmente los sitios son más grandes y complejos. 

Con la introducción de comercio electrónico y las páginas dinámicas, los sitios ya han dejado atrás los folletos y han pasado a ser auténticas aplicaciones de software.






La web 1.0



La Web 1.0 (1991-2003) es la forma más básica que existe, con navegadores de sólo texto bastante rápidos ya que es de sólo lectura. El usuario no puede interactuar con el contenido de la página (nada de comentarios, respuestas, citas, etc), estando totalmente limitado a lo que el Webmaster sube a ésta.





Algunos elementos de diseño típicos de un sitio Web 1.0 incluyen:

Páginas estáticas en vez de dinámicas por el usuario que la visita
El uso de framesets o Marcos.
Extensiones propias del HTML como <bilnk> y <marquee>, etiquetas introducidas durante la guerra de navegadores web.
Libros de visitas online o guestbooks
botones GIF, casi siempre a una resolución típica de 88x31 pixels en tamaño promocionando navegadores web u otros productos.
formularios HTML enviados vía email. Un usuario llenaba un formulario y después de hacer clic se enviaba a través de un cliente de correo electrónico, con el problema que en el código se podía observar los detalles del envío del correo electrónico.
No se podian adherir comentarios ni nada parecido
Todas sus páginas se creaban de forma fija y muy pocas veces se actualizaban.
No se trata de una nueva versión, sino de una nueva forma de ver las cosas.




La web 2.0


El término Web 2.0 comprende aquellos sitios web que facilitan el compartir información, la interoperabilidad, el diseño centrado en el usuario y la colaboración en la World Wide Web. Un sitio Web 2.0 permite a los usuarios interactuar y colaborar entre sí como creadores de contenido generado por usuarios en una comunidad virtual, a diferencia de sitios web estáticos donde los usuarios se limitan a la observación pasiva de los contenidos que se han creado para ellos. Ejemplos de la Web 2.0 son las comunidades web, los servicios web, las aplicaciones Web, los servicios de red social, los servicios de alojamiento de videos, las wikis, blogs, mashups y folcsonomías.



Servicios asociados:

  1. Blogs: Un blog es un espacio web personal en el que su autor puede escribir cronológicamente artículos, noticias...(con imágenes y enlaces).
  2. Wikis: Una wiki es un espacio web corporativo, organizado mediante una estructura hipertextual de páginas donde varias personas elaboran contenidos de manera asíncrona. 
  3. Redes sociales: Sitios web donde cada usuario tiene una página donde publica contenidos y se comunica con otros usuarios. Ejemplos: Facebook, Twitter, Tuenti, Hi5, Myspace, etc. 
  4. Entornos para compartir recursos: Entornos que nos permiten almacenar recursos o contenidos en Internet, compartirlos y visualizarlos cuando nos convenga. Existen de diversos tipos, según el contenido que albergan o el uso que se les da:
  5. Documentos: Google Drive y Office Web Apps (SkyDrive), en los cuales podemos subir nuestros documentos, compartirlos y modificarlos.
  6. Videos: Youtube, Vimeo, Dailymotion, Dalealplay... Contienen miles de vídeos subidos y compartidos por los usuarios.
  7. Fotos: Picassa, Flickr... Permiten disfrutar y compartir las fotos también tenemos la oportunidad de organizar las fotos con etiquetas, separándolas por grupos como si fueran álbumes, podemos seleccionar y guardar aparte las fotos que no queremos publicar.
  8. Agregadores de noticias: Digg, Meneame... Noticias de cualquier medio son agregadas y votadas por los usuarios.
  9. Almacenamiento online: Dropbox, Google Drive, SkyDrive
  10. Presentaciones: Prezzi, Slideshare.
  11. Plataformas educativas
  12. Aulas virtuales (síncronas)
  13. Encuestas en línea



La web 3.0





Web 3.0 es una expresión que se utiliza para describir la evolución del uso y la interacción de las personas en internet a través de diferentes formas entre los que se incluyen la transformación de la red en una base de datos, un movimiento social hacia crear contenidos accesibles por múltiples aplicaciones non-browser, el empuje de las tecnologías de inteligencia artificial, la web semántica, la Web Geoespacial o la Web 3D.





Se basa en la idea de añadir metadatos semánticos y ontológicos a la World Wide Web. Esas informaciones adicionales —que describen el contenido, el significado y la relación de los datos— se deben proporcionar de manera formal, para que así sea posible evaluarlas automáticamente por máquinas de procesamiento. El objetivo es mejorar Internet ampliando la interoperabilidad entre los sistemas informáticos usando "agentes inteligentes". Agentes inteligentes son programas en las computadoras que buscan información sin operadores humanos. Con la web 3.0 se busca que los usuarios puedan conectarse desde cualquier lugar, cualquier dispositivo y a cualquier momento.


Entre sus innovaciones destacan:



  • Bases de datos
  • Inteligencia artificial
  • Web semántica y SOA
  • Evolución al 3D



La web 4.0


las aplicaciones ya no estarán en nuestras PC’s, estarán en la internet y por ende en todos lados. Pasaremos de una red “tonta” a una red “inteligente” donde el objetivo primordial será el de unir las inteligencias donde tanto las personas como las cosas se comuniquen entre sí para generar la toma de decisiones. Para el 2020 o quizás antes se espera que haya “agentes” en la Web que conozcan, aprendan y razonen como lo hacemos las personas.

La Web Ubicua es un concepto que está aún en desarrollo, pero me llama curiosamente la atención como se van complementando algunas tecnologías que nos permiten imaginar o soñar lo que podemos esperar en un futuro no muy lejano. Imagínese recibir información en su celular en la calle por la que camina y que su propio equipo le haga una reservación en el restaurant de la esquina con solo saber sus gustos.


FUENTES:

miércoles, 29 de abril de 2015

6.1 SERVICIOS WEB



6.1 Conceptos generales.





¿Qué puedo hacer con los servicios web?

Aunque los servicios web permitan que todos esos dispositivos dinámicos combinen varios servicios en aplicaciones, aun así es necesario construir los servicios primero. Los lenguajes de programación en la Ciencia de la Computación están en continua evolución. Se comenzó hace décadas con la idea de una función en la cual uno la proporciona algunos parámetros, la función ejecuta alguna operación con los parámetros y retorna un valor basado en los cálculos. Con el tiempo, ese primer concepto evolucionó al objeto en el cual cada objeto no sólo tenía varias funciones que podía realizar, sino también sus propias variables de datos privados, en lugar de basarse en variables externas de todo el sistema, que anteriormente hacían más complejo el desarrollo de aplicaciones. A medida que las aplicaciones comenzaron a comunicarse, el concepto de interfaces universales definidas para objetos se hizo importante, para permitir que objetos de otras plataformas se comuniquen aunque hayan sido escritos en lenguajes de programación distintos y operen en otros sistemas operativos.

Los servicios web se acercaron al concepto de interfaces y comunicaciones definidas en XML, para finalmente unir aplicaciones de cualquier tipo, además de proporcionar la libertar de cambiar y evolucionar a lo largo del tiempo, a condición de que estén diseñadas para la interfaz adecuada. Lo que distingue los servicios web de las tecnologías que componen la generación anterior es la versatilidad de XML. Permite separar la estructura gramatical (sintaxis) del significado gramatical (semántica) y posibilita la separación de la forma que cada servicio del entorno procesa y entiende eso. Por tanto, ahora, los objetos pueden ser definidos como servicios que se comunican con otros servicios en la gramática definida por XML, donde cada servicio traduce y analiza el mensaje de acuerdo con la implementación local y el entorno. Por tanto, una aplicación conectada en red puede efectivamente estar compuesta por varias entidades con varias construcciones y diseños diferentes, a condición de que cumplan con las reglas definidas por su arquitectura orientada a servicios.


Permite el acoplamiento flojo, lo que significa que las interacciones entre aplicaciones de servicio no se rompen siempre que haya un cambio en la forma de diseño o implementación de un servicio o más.
Adaptar las aplicaciones ya existentes a las cambiantes condiciones empresariales y necesidades de clientes.
Proporcionar aplicaciones de software ya existentes o legadas con interfaces de servicio sin cambiar las aplicaciones originales, lo que permite operar totalmente en el entorno de servicios.
Introducir otras funciones administrativas o de gestión de operaciones como confiabilidad, rendición de cuentas, seguridad, etc., independientemente de la función original, lo que aumenta su versatilidad y utilidad en el entorno de computación empresarial.

W3C define un "servicio web" como "un sistema de software diseñado para soportar la interacción interoperable de máquina a máquina en una red". Cuenta con una interfaz descrita en un formato procesable por máquina (específicamente Servicios Web de lenguaje de descripción, conocido por el acrónimo WSDL). Otros sistemas interactúan con el servicio Web de una manera prescrita por su descripción utilizando mensajes SOAP, típicamente transportados utilizandoHTTP con una serialización XML en conjunción con otros estándares relacionados con la Web - Figura 6.1.








Básicamente, un servicio web (webservice) es un sistema de entrada/salida, al que se le puede pasar una serie de parámetros con el fin de obtener un resultado en concreto y recuperarlo para ser mostrado en una aplicación.







La tecnología de los servicios web es relativamente reciente, y está basada en el protocolo SOAP (Simple Object Access Protocol), consistente en un simple documento XML que habilita el intercambio de información vía HTTP entre diversas aplicaciones.


La ventaja de este protocolo radica en una comunicación efectiva independiente del lenguaje de programación que defina a la aplicación.


WSDL (Web Services Description Language) es el nombre del lenguaje utilizado para describir un servicio web. El mismo utiliza el formato wsdl como extensión para sus archivos. Estos últimos son referenciados desde una URL, e incluyen una serie de métodos y operaciones que serán llamados desde la aplicación central del lado del cliente.

Definidos por nuevos estándares – como SOAP (Simpla Object Access Protocol), WSDL (Web Services Description Language), y UDDI (Universal Discovery Description and Integration) – los Servicios Web ofrecen un nuevo modelo para la creación de aplicaciones e-Business a partir de módulos reutilizables de software a los que se tiene acceso a través de la Web (Figura 6.3).

Figura 6.3. Flujo de un servicio Web

Beneficios de los Servicios Web

Desde un punto de vista técnico, los Servicios Web ofrecen una manera más fácil de desarrollar aplicaciones a las que se requiera tener acceso a través de la Web. Es importante anotar que los servicios Web no resuelven todos los requerimientos de integración –  sólo la habilidad de comunicarse con otros módulos de software a través de la red pública. Se requieren tecnologías adicionales de integración para manejar la integración de datos, aplicaciones y procesos del negocio. También se requieren características de clase empresarial para complementar los Servicios Web, permitiéndoles ser seguros y escalable
Desde el punto de vista del negocio, los Servicios Web le permiten a una compañía concentrar los esfuerzos de desarrollo en los recursos computacionales que le representan ganancia. Los modelos y relaciones empresariales son desarrollados en la medida en que es necesario, los costos de integración son reducidos, las interacciones con otros mercados son establecidas más efectivamente, y las funciones del negocio son entregadas a un conjunto más amplio de clientes y asociados.
Más aún, la tecnología de Servicios Web permite la contratación de servicios que no brindan un beneficio al negocio. Dado que los Servicios Web separan aplicaciones de infraestructura, una compañía puede rápidamente componer y desplegar soluciones basadas en componentes reutilizables provenientes del proveedor que ofrezca un menor costo, sea éste interno o externo. Estas soluciones pueden cambiar el enfoque e incluso la naturaleza de las interacciones, en respuesta a condiciones cambiantes del negocio. En consecuencia, los e-Business pueden explotar modelos de negocio flexibles y dinámicos – maximizando su alcance a clientes, asociados, proveedores y mercados, al mismo tiempo que minimizan sus costos y tiempo de mercadeo.

Proveedores destacables de servicios web

  • Amazon Web Services. Amazon Web Services ofrece varios servicios de informática basada en la nube, incluida una amplia selección de instancias informáticas cuyo escalado se puede aumentar y reducir automáticamente para satisfacer las necesidades de su aplicación, un servicio de equilibrio de carga gestionado y escritorios totalmente gestionados en la nube.
  • Google Apps for Education. Con Google Apps for Education, todo se guarda automáticamente en la nube, lo que representa una tecnología 100% web. Esto significa que se puede acceder (y editar) a todos los mensajes de correo electrónico, documentos, calendarios y sitios con prácticamente cualquier dispositivo móvil o tableta, en cualquier momento y en cualquier luga.
  • iCloud- Ahora tienes la libertad de trabajar con el archivo que quieras, en el dispositivo que quieras. Con iCloud Drive puedes almacenar de manera segura todas tus presentaciones, hojas de cálculo, archivos PDF, imágenes y todo tipo de documentos en iCloud, y acceder a ellos desde tu iPhone, iPad, iPod touch, Mac o PC. Tienes 5 GB de almacenamiento gratuito en iCloud, y puedes obtener otros planes de almacenamiento desde $12 al mes.
  • Oracle. Oracle Web Services Manager ofrece una solución completa y fácil de usar para la gestión de la política y la seguridad de la infraestructura de servicios. Proporciona visibilidad y control de las políticas a través de una interfaz de administración centralizada que ofrece Oracle Enterprise Manager.
  • Salesforce. Servicios de atención al cliente en la nuble
  • Meltwater GroupMeltwater ayuda a las empresas a generar crecimiento y construir marcas. La plataforma de inteligencia on-line de Meltwater analiza a diario miles de millones de documentos digitales para extraer de ellos información empresarial oportuna que ayuda a más de 20.000 empresas a conocer sus mercados, a favorecer la interacción de sus clientes y a dominar el nuevo entorno de la empresa en medios sociales. Con oficinas en 27 países, Meltwater ofrece un servicio global pero personalizado, basado en la experiencia local.

FUENTES:


lunes, 20 de abril de 2015

5.1 PROGRAMACION DEL LADO DEL SERVIDOR


5.1 INTRODUCCIÓN AL LENGUAJE

La programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar paginas dinamicamente como respuesta. Los primeros servidores web permitian visualizar exclusivamente informacion estatica. Esto presento pronto una limitacion; sobre todo desde el momento en el que la actividad publicitaria y comercial comenzo a concentrarse tambien en Internet.


La primera solucion tecnica realizada fue la posibilidad de que el servidor web ejecutase programas residentes en la maquina de servicio. Esta tecnologia, conocida como Common Gateway Interface (CGI) permitia lanzar programas escritos principalmente en C o Perl.

Si bien la tecnologia CGI resolvia el problema de la presentacion exclusiva de informacion estatica, al mismo tiempo presentaba dos limitaciones importantes: el problema de seguridad que podia representar el hecho de que mediante una peticion se pudiesen ejecutar programas indeseados en el servidor y la carga del servidor (si una pagina que lanzaba un programa era llamada desde 100 clientes simultaneamente, el servidor ejecutaba 100 procesos, uno por cada cliente que solicitaba dicha pagina).


Para resolver estos problemas, se busco desarrollar una tecnologia que permitiera ejecutar, en un unico proceso del servidor, todos los pedidos de ejecucion de codigo sin importar la cantidad de clientes que se conectaban concurrentemente. Asi surgieron los denominados servlets, basados en la tecnologia Java de Sun Microsystems, y los filtros ISAPI de Microsoft. Estos permitian ejecutar codigo en un unico proceso externo que gestionaba todas las llamadas realizadas por el servidor web, impidiendo al mismo tiempo que el servidor web pueda ejecutar programas del sistema operativo.

No obstante, de este modo se limitaron los problemas de prestacion y seguridad de la tecnologia CGI, y no se resolvio el problema representado por un desarrollo demasiado costoso en terminos de tiempo. Asimismo, se hizo necesario que dos figuras profesionales distintas trabajen en un unico proyecto: el programador (que conoce el lenguaje de programacion utilizado del lado del servidor) y el disenador web (que conoce la parte grafica y el lenguaje HTML). Para resolver estas limitaciones, fueron desarrollados lenguajes que pueden ser incluidos al interno de archivos HTML. Estos comandos pueden ser interpretados (como por ejemplo las paginas ASP o PHP) o precompilados (como en las paginas JSP o ASP.NET).Con la utilizacion de esta tecnologia se buscaba, tambien, desarrollar aptitudes de disenador web en los programadores y de programador en los disenadores (se esperaba con ello el hacer mas facil y veloz el desarrollo de scripts del lado del servidor).

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente.
Los lenguajes de lado servidor más ampliamente utilizados para el desarrollo de páginas dinámicas son el ASP, JSP, PERL y PHP

La programación del lado servidor que son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente en un formato comprensible para él. Existe una multitud de lenguajes concebidos o no para Internet. Cada uno de ellos explota más a fondo ciertas características que lo hacen más o menos útiles para desarrollar distintas aplicaciones. Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. Los lenguajes de lado servidor más ampliamente utilizados para el desarrollo de páginas dinámicas son el ASP, JSP, PERL y PHP. La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar páginas HTML dinámicamente como respuesta. Todo lo que suceda dentro del servidor es llamado procesamiento del lado del servidor, o serverside processing. Cuando tu aplicación necesita interactuar con el servidor (por ejemplo, para cargar o guardar datos), ésta realiza una petición del lado del cliente (client-side request) desde el navegador, a través de la red usando invocaciones remotas a métodos (remote procedure call, RPC). Mientras se está procesando una llamada RPC, tu servidor está ejecutando código del lado del servidor. La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Cuando se utiliza un servicio en Internet, como consultar una base de datos, transferir un archivo o participar en un foro de discusión, se establece un proceso en el que entran en juego dos partes. Por un lado, el usuario, quien ejecuta una aplicación en procesador local: el denominado programa cliente. Este programa cliente se encarga de ponerse en contacto con el procesador remoto para solicitar el servicio deseado. El procesador remoto por su parte responderá a lo solicitado mediante un programa que está ejecutando. Este último se denomina programa servidor. Los términos cliente y servidor se utilizan tanto para referirse a los programas que cumplen estas funciones, como a las computadoras donde son ejecutados esos programas. El programa o los programas cliente que el usuario utiliza para acceder a los servicios de Internet realizan dos funciones distintas. Por una parte, se encargan de gestionar la comunicación con el computador servidor, de solicitar un servicio concreto y de recibir los datos enviados por éste; y por otra, es la herramienta que presenta al usuario los datos en pantalla y que le ofrece los comandos necesarios para utilizar las prestaciones que ofrece el servidor.


miércoles, 15 de abril de 2015

4.1 Procesamiento del lado del cliente.


Lenguaje Script del cliente Programacion en Javascript.

 4.1Introduccion al lenguaje





Es la programación de scripts y programas, generalmente en JavaScript, que se ejecutan en el cliente web o navegador, para crear lo que se llaman aplicaciones enriquecidas del lado del cliente
Javascript

•Se utilizará Javascript pues es el lenguaje estándar que interpretan los diferentes navegadores Web.

•JavaScript es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C. Fue desarrollado por Netscape y Sun Microsystems, y se puede usar en los clientes Web de Netscape (a partir de la versión 2.0) y Microsoft (a partir de la versión 3.0); hay ligeras diferencias en los intérpretes JavaScript de cada plataforma



Ejemplo de programa Javascript
¿Qué podemos hacer con JavaScript?

•Páginas dinámicas (DHTML)
•Comprobación de datos (Formularios)
•Uso de los elementos de la página web
•Intercambiar información entre páginas web en distintas ventanas
•Manipulación de gráficos, texto, etc...
•Comunicación con plug-ins: Flash, Java, Shockwave, etc...



Un script en el lado del cliente es un programa que puede acompañar a un documento HTML o que puede estar incluido en él. El programa se ejecuta en la máquina del cliente cuando se carga el documento, o en algún otro instante, como por ejemplo cuando se activa un vínculo. El soporte de scripts de HTML es independiente del lenguaje de scripts. Hay dos tipos de scripts que los autores pueden asociar a un documento HTML, los que se ejecutan una sola vez cuando el agente de usuario carga el documento, y los que son ejecutados cada vez que ocurre un determinado evento..


Lenguajes del lado cliente 



*HTML


*JAVASCRIPT


*APPLETS DE JAVA


*VISUAL BASIC SCRIPT


*FLASH


*CSS



Lenguajes del lado servidor



*CGI

*PERL

*ASP

*PHP

*DHTML

*XML





Variables.

Se tienen cuatro tipos basicos:

Numeros (enteros, decimales, etc...)

Letras y numeros (cadenas de caracteres)

Valores logicos (True y False)

Objetos (una ventana, un texto, un formulario, el
navegador, el historial, etc...)







  Variables
Definicion de variables en JavaScript

La forma general para declarar una
variable es la siguiente:


var nombre_variable

nombre_variable = "valor"

var variableGlobal=0;

function nuevaFuncion() {

var variableLocal=1;

variableGlobal =0;


Fuente:   http://slideplayer.es/slide/4288220/




martes, 14 de abril de 2015

3.1 LENGUAJE DE PRESENTACION


3.1 Introducción


Un lenguaje de presentación define un conjunto de etiquetas y atributos válidos y que ofrecen un significado visual para cada elemento del lenguaje, sino que ofrece un número de reglas sintácticas para poder crear documentos. Uno de los lenguajes más comunes para presentar información web es HTML.
El lenguaje de presentación es aquel que indica el formato del texto. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información.
El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados.
Se puede tratar de averiguar la estructura de un documento de esta clase buscando pistas en el texto. Por ejemplo, el título puede ir precedido de varios saltos de línea, y estar ubicado centrado en la página. Varios programas pueden deducir la estructura del texto basándose en esta clase de datos, aunque el resultado suele ser bastante imperfecto.
CSS es un lenguaje de hojas de estilos creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas.
Separar la definición de los contenidos y la definición de su aspecto presenta numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos y con significado completo (también llamados "documentos semánticos"). Además, mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes.
Al crear una página web, se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los contenidos, es decir, para designar la función de cada elemento dentro de la página: párrafo, titular, texto destacado, tabla, lista de elementos, etc.
Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de cada elemento: color, tamaño y tipo de letra del texto, separación horizontal y vertical entre elementos, posición de cada elemento dentro de la página, etc.

CSS es un lenguaje utilizado en la presentación de documentos HTML. Un documento HTML viene siendo coloquialmente “una página web”. Entonces podemos decir que el lenguaje CSS sirve para organizar la presentación y aspecto de una página web. Este lenguaje es principalmente utilizado por parte de los navegadores web de internet y por los programadores web informáticos para elegir multitud de opciones de presentación como colores, tipos y tamaños de letra, etc.





La filosofía de CSS se basa en intentar separar lo que es la estructura del documento HTML de su presentación. Por decirlo de alguna manera: la página web sería lo que hay debajo (el contenido) y CSS sería un cristal de color que hace que el contenido se vea de una forma u otra. Usando esta filosofía, resulta muy fácil cambiarle el aspecto a una página web: basta con cambiar “el cristal” que tiene delante. Piensa por ejemplo qué ocurre si tienes un libro de papel y lo miras a través de un cristal de color azul: que ves el libro azul. En cambio, si lo miras a través de un cristal amarillo, verás el libro amarillo. El libro (el contenido) es el mismo, pero lo puedes ver de distintas maneras.

Algunas opciones básicas del lenguaje CSS por ejemplo pueden ser el poder cambiar el color de algunas típicas etiquetas HTML como <H1> (h1 es una etiqueta en el lenguaje HTML destinada a mostrar un texto como encabezado, en tamaño grande). Pero también hay funciones algo más complejas, como introducir espaciado entre elementos <DIV> (div es una etiqueta HTML para identificar una determinada región o división de contenido dentro de una página web) o establecer imágenes de fondo.

CSS es muy intuitivo y sencillo una vez se llega a aprender, ya que para su definición siempre se hace uso de un identificador de etiqueta HTML (como por ejemplo <H1>), y luego indicamos con qué aspecto queremos que se muestren todas las etiquetas <H1> que aparezcan en un documento. Al igual que con <H1> podemos definir cómo queremos que se muestren las distintas partes del documento HTML, pudiendo en cada caso definir sus propiedades (color, tipo de fuente, tamaño, espacio, imagen) con algún determinado valor deseado.

Vamos a partir de un ejemplo muy sencillo, que tratará de una página web o archivo HTML donde tan solo tendremos una párrafo de texto y sobre cuya etiqueta <p> iremos realizando cambios e iremos aplicando los conocimientos que vamos a ir adquiriendo y posteriormente veremos los resultados que obtenemos.

Nuestro documento html contendrá el siguiente texto de partida (en este caso se ha llamado ejemplo.html):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>

        <title>Ejemplo aplicación CSS - aprenderaprogramar.com </title>
    </head>
    <body>
<p>Texto de ejemplo para visualizar resultados </p>
</body>
</html>


FUENTES: