Mostrando entradas con la etiqueta Navegadores Web. Mostrar todas las entradas
Mostrando entradas con la etiqueta Navegadores Web. Mostrar todas las entradas

Firefox Environment Backup Extension 6 para Firefox 3

jueves, 10 de julio de 2008

FEBE es una extensión para Firefox de uso muy popular e inmensamente útil porque nos permite hacer un backup de todos los datos y configuraciones de nuestro navegador, desde el historial, hasta las extensiones y temas que tenemos instalados. Una de las características que lo destacan es que hace la salva de estos datos de manera automática a una hora preestablecida, así podemos olvidarnos de esta tarea ya que el plug-in se encargará de esto de forma segura. Hasta la versión 5 los datos de las salvas se almacenaban en nuestro disco duro. A partir de la versión 6 podremos guardarlos de manera opcional, en el servicio online de almacenamiento Box.net que nos brinda la posibilidad de mantener nuestros datos en servidores seguros; para recuperarlos en el momento necesario y desde cualquier parte del planeta. Los que instalamos la versión 3 de Firefox no pudimos seguir utilizando la extensión porque la versión 5 de FEBE sólo da soporte hasta la beta 2 de Firefox 3, por lo que tuvimos que resignarnos a esperar, porque en el sitio de addons de Mozilla no aparece otro complemento que implemente de forma tan bien lograda las salvas. La solución al problema es instalar FEBE desde el sitio oficial de la extensión, que se mantienen desarrollando en fase beta la nueva versión 6.0 y funciona perfectamente en la última entrega de Firefox. Continuar leyendo

Conociendo las posibilidades de la extensión de Google Gears y su API

viernes, 27 de junio de 2008

Google Gears crea una caché del sitio en nuestro ordenador que nos da la posibilidad de seguir trabajando sobre nuestras aplicaciones web mientras estamos desconectados de la red. Con esta extensión actualmente disponible para los navegadores Internet Explorer y Firefox podremos seguir navegando por la web cuando no estemos conectados a Internet y además tiene su propia API que brinda mayores opciones a los desarrolladores y usuarios. Lea el artículo completo Continuar leyendo

Lanzamiento oficial de Firefox 3 Gran Paradiso

sábado, 14 de junio de 2008

En el día de hoy, Mozilla ha hecho pública la fecha del Download Day de Firefox. El día del lanzamiento de la versión 3 del popular navegador será oficialmente el:

Este día podremos por fin descargar la versión final de Firefox 3 - Gran Paradiso. Además de la ya conocida excelente seguridad con que cuenta este navegador, también promete para esta nueva versión varias características novedosas y muy útiles; entre las que se destacan: -Más eficiente la descargas de archivos Anteriormente cuando estábamos descargando un archivo y se bloqueaba el navegador era necesario reiniciar todo de nuevo. En cambio, con la nueva versión de Firefox, esto no ocurre. Ahora tras iniciar de nuevo el navegador, él sólo retoma la transferencia donde se interrumpió, como si no hubiera sucedido nada. Es posible hacer la prueba cerrando la aplicación firefox.exe durante una descarga para ver los resultados. -Barra de direcciones mejorada Los desarrolladores también han realizado mejoras en la función “Autocompletar” de la barra de direcciones, y hay que decir que es algo impresionantemente útil. En Firefox 3, el resultado de “Autocompletar” no sólo ofrece una lista de direcciones URL que se han visitado, sino que ahora también incluye las dirección de favoritos. También se muestra la dirección URL con un texto más grande y más fácil de leer, por lo que será más sencillo encontrar aquella web que ya hemos visitado anteriormente. -Un organizador de marcadores más efectivo El historial y marcadores antes iban en barras independientes. Ahora ambos han sido sustituidos y en su lugar Firefox cuenta con un único espacio, que utiliza un formato familiar al árbol del navegador de Windows . Ofrece una forma sencilla y rápida para leer y administrar el historial y los marcadores. Va incluida la capacidad para editar un nombre de un marcador, su ubicación y las etiquetas, todo esto en lugar de tener que entrar en el cuadro de propiedades. -Registro de marcadores más fácil Firefox 3 cuenta con pocas características nuevas que implican a los marcadores, pero algunas son pequeñas pero muy útiles. Por ejemplo, ahora se puede crear rápidamente un marcador haciendo doble clic en una estrella que aparece en la parte derecha de la barra de direcciones. También se pueden agregar etiquetas a los marcadores, que se podría utilizar bien como una herramienta de la organización. También hay nueva carpeta denominada Smart Bookmarks en la barra de herramientas; ésta ofrece tres categorías de los marcadores: Páginas visitadas más recientemente y etiquetas recientes que se rellena automáticamente durante el transcurso de las sesiones web. Como la mayoría de las personas, tenemos una serie de sitios que visitamos con regularidad, y ahora podremos ver cómo algo como la lista de páginas más visitadas; podría resultar útil como un recurso para nuestras sesiones diarias. Podríamos crear nuestra propia carpeta para estas webs, pero es mucho más fácil dejar que Firefox lo haga ahora con esta herramienta. -Una mejor administración de memoria Para los que utilizamos Firefox desde hace algún tiempo, son conocidos los problemas que tenía Firefox con el empleo de memoria y quizás alguna que otra vez más de uno ha debido considerar volver a Internet Explorer debido a este problema. Habían momentos en los que resultaba frustrante ver como el Firefox llegaba a utilizar 250 MB de memoria RAM. Y más frustrante todavía cuando Mozilla no reconocía que tenía un problema de consumo de memoria. En esta versión han reconocido este problema y nos aseguran que han trabajado para solucionarlo. Por lo que esta nueva versión será más liviano el navegador. Estas son algunas de las mejoras que hemos apreciado durante la utilización de las versiones beta de la nueva versión. Si aún no utilizas Firefox te recomendamos que te sumes al Download Day y pruebes este útil navegador que nos ofrece Mozilla de forma gratuita. Por la cantidad de agregados, temas visuales y características útiles para los navegantes, con que cuenta se ha convertido en uno de los más populares y ampliamente utilizado en el mundo actualmente. Si ya lo has probado y encontraste alguna característica interesantes que no esté aquí coméntanos sobre ella. Continuar leyendo

Tecnologías del lado del cliente: Lenguaje Visual Basic Script (VBScript)

domingo, 9 de marzo de 2008

VBScript (abreviatura de Visual Basic Script) es un lenguaje interpretado por el Windows Scripting Host de Microsoft. Su sintaxis refleja su origen como variación del lenguaje de programación Visual Basic. Ha logrado un apoyo significativo por parte de los administradores de Windows como herramienta de automatización, ya que, conjunta y paralelamente a las mejoras introducidas en los sistemas operativos windows donde opera fundamentalmente, permite gran margen de actuación y flexibilidad. VBScript es interpretado por el motor de scripting vbscript.dll, que puede ser invocado por el motor ASP asp.dll en un entorno web, por wscript.exe en un entorno Windows de interfase gráfica, por cscript.exe es un entorno de línea de comandos y por iexplorer.exe cuando se trata de scripts a nivel de cliente (similar al javascript). Cuando el código fuente VBScript se guarda en ficheros independientes, éstos tienen típicamente la extensión .vbs. Cuando se emplea en Internet Explorer, VBScript funciona de forma muy similar a JavaScript, procesando código contenido en el documento HTML. VBScript también puede usarse para crear aplicaciones HTML independientes (extensión .hta), que necesitan Internet Explorer 5.0 o superior para poder ser ejecutados. Los desarrolladores de aplicaciones en web suelen preferir JavaScript debido a su mayor compatibilidad con otros navegadores de Internet, ya que VBScript sólo está disponible para el navegador de Microsoft Internet Explorer, y no en otros como Firefox o Opera. VBScript es el lenguaje usado para escribir algunos famosos gusanos de red, como I Love You. Esto se debe a varias razones. Primero, el icono parecido a un pergamino que representa a los ficheros .vbs puede llevar a pensar a los usuarios inexpertos que se trata de un fichero de texto. Segundo, es fácil escribir un gusano informático en VBScript que se propague por correo electrónico (se necesitan pocas líneas de código) aunque en la actualidad Microsoft ha solucionado los agujeros de seguridad explotados por dichos programas maliciosos. Este solucionado no significa erradicado, solo ha complicado el proceso; pues si por ejemplo el I Love You se propagaba a traves del Outlook, ahora si se utiliza el mismo método sale un mensaje de advertencia, por lo que se suele emplear métodos como el envío mediante un servidor smtp (bastante más complejo de programar que por el otro método). Las variables en VBScript no necesitan ser declaradas para usarlas, pero es una buena costumbre hacerlo, pues en todos los demás lenguajes es necesario. Option Explicit sirve para que las variables deban ser declaradas si o si. Al no declarar las variables se deja el código a libre albedrío del intérprete. Al declarar las variables se Deja de Manera Explicita la única manera de proceder. Ejemplos A continuación vamos a ver un ejemplo de script en una página web. El objetivo de este script es mostrar la fecha de la última modificación del documento.

<html> <head> <title> La última modificación del documento</title> </head> <body> <h1>Script de la última modificación de un documento</h1> <script language="VBScript"> document.write "Este documento fue actualizado por última vez en: " document.write document.lastmodified </script> </body> </html>
La sentencia document.write es un procedimiento que escribe en la página web el texto que recibe por parámetro, el texto que esta después de la sentencia. La variable document.lastmodified almacena la fecha y la hora de la última actualización. Este script dará como resultado que el documento informe de su última actualización. Continuar leyendo

Tecnologías del lado del cliente: Lenguaje Javascript

sábado, 8 de marzo de 2008

Javascript es un lenguaje de programación utilizado para crear pequeños programas encargados de realizar acciones dentro del ámbito de una página web. Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado. Con Javascript podemos crear efectos especiales en las páginas y definir interactividades con el usuario. El navegador del cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el único, con que cuenta este lenguaje es el propio navegador. Javascript es el siguiente paso, después del HTML, que puede dar un programador de la web que decida mejorar sus páginas y la potencia de sus proyectos. Es un lenguaje de programación bastante sencillo y pensado para hacer las cosas con rapidez, a veces con ligereza. Incluso las personas que no tengan una experiencia previa en la programación podrán aprender este lenguaje con facilidad y utilizarlo en toda su potencia con sólo un poco de práctica. Entre las acciones típicas que se pueden realizar en Javascript tenemos dos vertientes. Por un lado los efectos especiales sobre páginas web, para crear contenidos dinámicos y elementos de la página que tengan movimiento, cambien de color o cualquier otro dinamismo. Por el otro, javascript nos permite ejecutar instrucciones como respuesta a las acciones del usuario, con lo que podemos crear páginas interactivas con programas como calculadoras, agendas, o tablas de cálculo. Javascript es un lenguaje con muchas posibilidades, permite la programación de pequeños scripts, pero también de programas más grandes, orientados a objetos, con funciones, estructuras de datos complejas, etc. Además, Javascript pone a disposición del programador todos los elementos que forman la página web, para que éste pueda acceder a ellos y modificarlos dinámicamente. Con Javascript el programador, que se convierte en el verdadero dueño y controlador de cada cosa que ocurre en la página cuando la está visualizando el cliente. Ejempos A continuación veremos unos ejemplos que nos pueden dar una idea más clara de las capacidades y potencia del lenguaje que nos vendrán bien para tener una noción más exacta de lo que es JavaScript.

<script> window.open("http://www.google.com","","width=550,height=420,menubar=no") </script>
Con una línea de Javascript podemos hacer cosas bastante atractivas. En el ejemplo anterior podemos ver cómo abrir una ventana secundaria sin barras de menús que muestre el buscador Google.
<script> document.write(new Date()) </script>
Con el script anterior podemos mostrar la fecha de hoy. A veces es muy interesante mostrarla en las webs para dar un efecto de que la página está al "al día", es decir, está actualizada. Estas líneas deberían introducirse dentro del cuerpo de la página en el lugar donde queramos que aparezca la fecha. Otro ejemplo rápido se puede ver a continuación. Se trata de un botón para volver hacia atrás, como el que tenemos en la barra de herramientas del navegador. Ahora veremos una línea de código que mezcla HTML y Javascript para crear este botón que muestra la página anterior en el historial, si es que la hubiera.
<input type=”button” value=”Atrás” onclick="history.go(-1)">
Como diferencia con los ejemplos anteriores, hay que destacar que en este caso la instrucción Javascript se encuentra dentro de un atributo de HTML, onclick, que indica que esa instrucción se tiene que ejecutar como respuesta a la pulsación del botón. Applet vs. JavaScript
JavaScript Applet
Interpretado por el cliente (No compilado) Cargado en el servidor antes de ejecutarse en el cliente
Basado en objetos El código consiste en clases con herencia
Código integrado e incrustado en HTML Los applets son llamados desde una página HTML
Tipos de variables no declaradas Los argumentos deben ser de un tipo específico
Continuar leyendo

Tecnologías del lado del cliente: HTML Dinámico (DHTML)

viernes, 7 de marzo de 2008

A medida que vamos avanzando en la programación de páginas web nos vamos fijando nuevos objetivos para crear cada día webs más excitantes. Siguiendo este camino, llega un momento que el lenguaje HTML se nos queda corto y tenemos que servirnos de alguna tecnología superior, que nos permita realizar esos desarrollos más complejos y dinámicos. DHTML no es precisamente un lenguaje de programación. Más bien se trata de una nueva capacidad de la que disponen los navegadores modernos, por la cual se puede tener un mayor control sobre la página que antes. Cualquier página que responde a las actividades del usuario y realiza efectos y funcionalidades se puede englobar dentro del DHTML, pero en este caso nos referimos más a efectos en el navegador por los cuales se pueden mostrar y ocultar elementos de la página, se puede modificar su posición, dimensiones, color, etc. DHTML nos da más control sobre la página, gracias a que los navegadores modernos incluyen una nueva estructura para visualizar en páginas web denominada capa. Las capas se pueden ocultar, mostrar, desplazar, etc. Para realizar las acciones sobre la página, como modificar la apariencia de una capa, seguimos necesitando un lenguaje de programación del lado del cliente como Javascript o VBScript. Estos lenguajes no permiten el desarrollo de cualquier proyecto en Internet, ya que al ser ejecutados en el navegador del cliente, no tienen acceso a todos los recursos del sistema del usuario, para evitar agujeros de seguridad, ni a los recursos del servidor donde están alojadas las páginas. Esta limitación, añadida a la ya comentada de su dependencia del navegador, los hace insuficientes para desarrollos avanzados, siendo más bien un complemento de programación que el núcleo de verdaderas aplicaciones en el web. Hojas de estilo (CSS) Dentro del concepto de DHTML se engloban también las Hojas de Estilo en Cascada o CSS (Cascade Style Sheets) CSS, es una tecnología que nos permite crear páginas web de una manera más exacta. Gracias a las CSS somos mucho más dueños de los resultados finales de la página, pudiendo hacer muchas cosas que no se podía hacer utilizando solamente HTML, como incluir márgenes, tipos de letra, fondos, colores, etc. Las Hojas de Estilo en Cascada se escriben dentro del código HTML de la página web, en algunos casos avanzados se pueden escribir en un archivo a parte y enlazar la página con ese archivo. Una de las características más potentes de la programación con hojas de estilo consiste en definir los estilos de todo un sitio web. De este modo, todas las páginas comparten una misma declaración de estilos y, por tanto, si la cambiamos, cambiarán todas las páginas. Ejemplos Podemos ver un ejemplo a continuación:

P { font-size : 12pt; font-family : arial,helvetica; font-weight : normal; } H1 { font-size : 36pt; font-family : verdana,arial; text-decoration : underline; text-align : center; background-color : Teal; } BODY { background-color : #006600; font-family : arial; color : White; }
Veamos una página web entera que enlaza con la declaración de estilos anterior
<html> <head> <link rel="STYLESHEET" type="text/css" href="estilos.css"> <title>Página que lee estilos</title> </head> <body> <h1>Página que lee estilos</h1> <p> Esta página tiene en la cabecera la etiqueta necesaria para enlazar con la hoja de estilos. </p> </body> </html>
Las Hojas de Estilo en Cascada son un estándar muy amplio, con unas especificaciones y posibilidades muy grandes. Sin embargo, lo mejor para trabajar con esta tecnología es conocerla bien, gracias a ello, los resultados serán mucho más sorprendentes. No podemos hablar de DHTML sin tocar el tema de los lenguajes de script que veremos en el próximo capítulo. Continuar leyendo

Tecnologías del lado del cliente: Applet

jueves, 6 de marzo de 2008

Un applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por applets. A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. Cuando un Navegador carga una página Web que contiene un Applet, este se descarga en el navegador Web y comienza a ejecutarse esto nos permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la página Web en su navegador. Ejemplos comunes de applets son las Java applets y las animaciones Flash. Otro ejemplo es el Windows Media Player utilizado para desplegar archivos de video incrustados en los navegadores como el Internet Explorer. Otros plugins permiten mostrar modelos 3D que funcionan con un applet. Applet de Java Un Java applet es un código Java que carece de un método main, por eso se utiliza principalmente para el trabajo de páginas web, ya que es un subprograma o pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta. Por otra parte, la diferencia entre una aplicación Java y un applet radica en cómo se ejecutan. Para cargar una aplicación Java se utiliza el intérprete de Java. En cambio, un applet se puede cargar y ejecutar desde cualquier explorador que soporte Java (Nescape, Internet Explorer de Windows, Mozilla Firefox, etc.). Entre sus características podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles, por ejemplo no pueden escribir archivos, a menos que uno mismo le dé los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario común, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fácil de ejecutar aplicaciones desde el navegador web. Ventajas de los applet de Java • Funcionan en Linux, Windows y Mac OS, son multiplataforma • El mismo applet pueden trabajar en "todas" las versiones de Java, y no sólo la última versión del plug-in. Sin embargo, si un applet requiere una versión posterior de la JRE, el cliente se verá obligado a esperar durante la gran descarga. • Es soportado por la mayoría de los navegadores Web • Puede ser almacenado en la memoria cache de la mayoría de los navegadores Web, de modo que se cargará rápidamente cuando se vuelva a cargar la página Web, aunque puede quedar atascado en la caché, causando problemas cuando se liberan nuevas versiones. • Puede tener acceso completo a la máquina en la que se está ejecutando, si el usuario lo permite • Puede ejecutarse con velocidades comparables (pero en general más lento) a la de otros lenguajes compilados, como C + +, pero muchas veces más rápida que la de JavaScript • Puede trasladar el trabajo del servidor al cliente, haciendo una solución Web más escalable tomando en cuenta el número de usuarios / clientes Desventajas de los applet de Java • Requiere el plug-in de Java, que no está disponible por defecto en todos los navegadores web. • Sun no ha creado una implementación del plug-in para los procesadores de 64 bits • No puede iniciar la ejecución hasta que la Máquina virtual de Java está en funcionamiento, y esto puede tomar tiempo la primera vez que se ejecuta un applet. • Si no esta firmado como confiable, tiene un acceso limitado al sistema del usuario - en particular no tiene acceso directo al disco duro del cliente o al portapapeles. • Algunas organizaciones sólo permiten la instalación de software a los administradores. Como resultado, muchos usuarios (sin privilegios para instalar el plug-in en su navegador) no pueden ver los applets. • Un Applet podría exigir una versión específica del JRE. Cómo crear un applet de java Para crear un applet necesitamos escribir una clase que herede de la clase Applet del paquete java.applet.*;

import java.applet.*; public class MiApplet extends Applet { //Cuerpo del ''applet''. }
El código anterior declara una nueva clase MiApplet que hereda todas las capacidades de la clase Applet de Java. El resultado es un fichero MiApplet.java. Una vez creada la clase que compone el applet, escribimos el resto del código y después lo compilamos, obteniendo el fichero MiApplet.class. Para poder crear el applet se necesita compilar el código Java en un intérprete.
import java.applet.*; import java.awt.*; import java.util.*; import java.text.DateFormat; public class MiApplet extends Applet implements Runnable { private Thread hilo = null; private Font fuente; private String horaActual = "00:00:00"; public void init() { fuente = new Font("Verdana", Font.BOLD, 24); } public void start() { if (hilo == null) { hilo = new Thread(this, "Reloj"); hilo.start(); } } public void run() { Thread hiloActual = Thread.currentThread(); while (hilo == hiloActual) { //obtener la hora actual Calendar cal = Calendar.getInstance(); Date hora = cal.getTime(); DateFormat df = DateFormat.getTimeInstance(); horaActual = df.format(hora); repaint(); try { Thread.sleep(1000); } catch (InterruptedException e){} } } public void paint(Graphics g) { //Dibujar un rectangulo alrededor del contenedor g.draw3DRect(1, 1, getSize().width-3, getSize().height-3, false); //Establecer la Fuente g.setFont(fuente); //mostrar la Hora g.drawString(horaActual,14,40); } public void stop() { hilo = null; } }
Finalmente, para ejecutar el applet hay que crear una página Web que haga referencia al mismo. La etiqueta HTML que permite hacer eso es <applet>:
<html> <applet code="MiApplet.class" width="370" height="270"> </applet> </html>
Los parámetros "MiApplet.class", "370" y "270" correspondientes a la ubicación del archivo que contiene la clase, el ancho y el alto del applet, se pueden modificar. Continuar leyendo

Tecnologías del lado del cliente: Java Virtual Machine Plugin

miércoles, 5 de marzo de 2008

Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java. El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun Microsystems. La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final. La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes arquitecturas y así un programa .class escrito en un Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java, "escríbelo una vez, ejecútalo en cualquier parte", o "Write once, run anywhere". La máquina virtual de Java puede estar implementada en software, hardware, una herramienta de desarrollo o un Web browser; lee y ejecuta código precompilado bytecode que es independiente de la plataforma multiplataforma. La JVM provee definiciones para un conjunto de instrucciones, un conjunto de registros, un formato para archivos de clases, la pila, un heap con recolector de basura y un área de memoria. Cualquier implementación de la JVM que sea aprobada por SUN debe ser capaz de ejecutar cualquier clase que cumpla con la especificación. Existen varias versiones, en orden cronológico, de la máquina virtual de Java. En general la definición del Java bytecode no cambia significativamente entre versiones, y si lo hacen, los desarrolladores del lenguaje procuran que exista compatibilidad hacia atrás con los productos anteriores. En un sentido amplio, la Máquina Virtual de Java actúa como un puente entre el resultado de la compilación (el bytecode) y el sistema sobre el que se ejecuta la aplicación. Para cada dispositivo debe haber una JVM específica, ya sea un teléfono móvil, un PC con Windows XP, o un microondas. En cualquier caso, cada máquina virtual conoce el conjunto de instrucciones de la plataforma destino, y traduce un código escrito en lenguaje Java (común para todas) al código nativo que es capaz de entender el Hardware de la plataforma. Una arquitectura de maquina virtual permite un control granular fino sobre las acciones que el código puede hacer dentro de la máquina. Esto está diseñado para permitir ejecución segura de código no confiable desde fuentes remotas, un modelo usado muy famoso son las Java applets. Applets se ejecutan dentro de una VM incorporada en el navegador del usuario, ejecutando código descargado desde un servidor HTTP remoto. El código remoto se ejecuta en un entorno cerrado y altamente restringido, llamado también sandbox, el cual está diseñado para proteger al usuario de código erróneo o malicioso. Los Publicadores con recursos financieros suficientes pueden conseguir un certificado con el cual hacer applets con firma digital que las caractericen como seguras ("safe"), dándoles entonces permisos para salir de la sandbox y acceder al sistema de ficheros local y sistema de red, presumiblemente bajo el control del usuario. Continuar leyendo

Tecnologías del lado del cliente: Adobe Shockwave Player Plugin

martes, 4 de marzo de 2008

Adobe Shockwave es un plugin para navegadores web que permite la reproducción de contenidos interactivos como juegos, presentaciones, aplicaciones de formación, etc, anteriormente llamado Macromedia Shockwave, por la empresa que lo creó y que luego fue absorbida por Adobe. A menudo es confundido con el plugin de la misma casa Adobe Flash Player. Esto se debe a una agresiva campaña publicitaria lanzada al final de los noventa. Shockwave es el primer plugin desarrollado por Macromedia y el que, relativamente, ha obtenido menos éxito. En un intento por aumentar su presencia en el mercado y ayudar a promover otros formatos multimedia, todos los players de Macromedia empezaron a utilizar 'Shockwave' en sus nombres, como en Shockwave Flash. Esto llevó a que la línea de cada producto se confundiera. Aunque Flash Player es ahora mismo el más extendido, popular y sobre el que más se desarrolla, Shockwave mantiene una fuerte posición por el número de ordenadores donde está instalado. El motor 3D de Shockwave es todavía el líder indiscutible en su mercado, y hacen que este plugin sea muy popular con un gran número de desarrolladores de juegos online y de jugadores. Los archivos Flash (SWF) pueden ser ejecutados en Shockwave, pero no a la inversa. Otras características no incorporadas por Flash incluyen un motor de render mucho más rápido, junto con aceleración 3D por hardware, acceso directo a píxel en imágenes de mapa de bits, diferentes modos de filtrado para composiciones en capas de los gráficos y soporte para diversos protocolos de red, incluido Internet Relay Chat. Además, a través de los Xtras, los desarrolladores pueden ampliar la funcionalidad de Shockwave con aplicaciones hechas a medida. Adobe Shockwave Player actualmente está instalado en un 50% de los navegadores. Sus ficheros tienen extensión ".DCR" desarrollados con Macromedia Director. Adobe Flash Player, instalado en un 98% de los navegadores. Utiliza ficheros con extensión ".SWF" desarrollados con Macromedia Flash, Macromedia FreeHand, Generator y otras aplicaciones. Continuar leyendo

Tecnologías del lado del cliente: Adobe Flash Player Plugin

lunes, 3 de marzo de 2008

Adobe Flash LogoEn un principio esta fue una tecnología más, con la necesidad de instalar un plug-in para poder visualizarse. Cualquier webmaster es reacio a incorporar a una página web contenidos para los que sea necesario utilizar plug-ins, pues es de suponer que no todos los tendrán y que se va a marginar a una serie de usuarios. Con el tiempo, flash se ha convertido en un estandar, viene en la instalación básica de los exploradores, se instala automáticamente si el navegador no lo tiene y muchas páginas lo utilizan. Como resultado tenemos que los webmasters o diseñadores del web lo vienen utilizando para crear todo tipo de efectos, en la página principal del sitio o diseñando todas las páginas con Flash. La clave de Flash es que es un programa de animación vectorial. Esto significa que se pueden crear animaciones complejas: aumentar y reducir elementos de la animación, mover de posición estos objetos, y otras cosas sin que la animación ocupe mucho espacio en el disco. Los vectores con los que trabaja Flash sólo son, por decirlo de alguna manera, siluetas que casi no ocupan espacio y se pueden modificar fácilmente y sin gasto de memoria en disco. Desde hace tiempo, proliferan los trabajos hechos en Flash y se pueden ver muchas páginas que incorporan animaciones, sonido y efectos realmente interesantes. Flash es un programa que nos permite aplicar toda nuestra creatividad en la web y fulmina muchos de los límites con los que teníamos que enfrentarnos anteriormente en el diseño de webs. Flash Player usa un modelo de seguridad sandbox, lo cual significa que las aplicaciones Flash que están reproduciéndose en un navegador disponen de recursos muy estrictos y limitados disponibles para ellos. Las aplicaciones, por ejemplo, no pueden leer archivos del disco duro (excepto los datos como cookies que ellos mismos hayan escrito, denominadas SharedObjects). A partir del lanzamiento de Flash Player 7, sólo pueden comunicarse con el dominio del que ellos se originaron, a menos que sea permitido explícitamente por otro dominio. ActionScript Es cierto que la interfaz de programación de Flash está basada en JavaScript, pero con base en este lenguaje, fue creado ActionScript. Puede parecer a simple vista que JavaScript y ActionScript son iguales, pero no lo son. Por una parte, JavaScript es un lenguaje de programación estructurada (también llamada programación modular, debido a la característica de poder armar por partes el script) y además se utiliza principalmente para agregarle interactividad a páginas web. Por otra parte, ActionScript, desde su versión 2.0, pasa de ser de programación estructurada a programación orientada a objetos, que trata de ver el entorno de programación como el mundo real, donde cada objeto tiene propiedades como el color, la forma y su ubicación, y métodos (borrar un texto, parar la línea de tiempo, cargar variables u hojas de estilo), y además nos encontramos con un lenguaje más estricto y más amplio donde usted puede crear sus propias clases. Ejemplo de Flash En el ejemplo podemos apreciar el sitio web del canta autor Ricardo Arjona, hecho completamente con Flash. Gracias a las ventajas que nos ofrece esta tecnología se pueden ver fragmentos de sus videos clip directamente en la página, escuchar como fondo musical trozos de su último éxito e interactuar con el contenido del sitio apreciando numerosos efectos visuales. Continuar leyendo

Tecnologías del lado del cliente: Plugins

domingo, 2 de marzo de 2008

Tecnologías del lado del cliente: PluginsUn plugin o plug-in (en inglés "enchufar", también conocido como addin, add-in, addon o add-on) es una aplicación informática que interactúa con otra aplicación para aportarle una función o utilidad específica, generalmente muy específica, como por ejemplo servir como driver (controlador) en una aplicación, para hacer así funcionar un dispositivo en otro programa. Ésta aplicación adicional es ejecutada por la aplicación principal. Los plugins típicos tienen la función de reproducir determinados formatos de gráficos, reproducir datos multimedia, codificar/decodificar emails, filtrar imágenes de programas gráficos, etc. Se utilizan como una forma de expandir programas de forma modular, de manera que se puedan añadir nuevas funcionalidades sin afectar a las ya existentes ni complicar el desarrollo del programa principal. En los navegadores web esto se refleja al intentar abrir un archivo que no posee un plugin en el sistema, como los documentos en PDF o las animaciones en Flash, lo que generará un error y se entrega, generalmente, un enlace para conseguir el plugin que no existe en el navegador. Algunos de los plugins más populares que se ejecutan en las aplicaciones web de lado del cliente son Adobe Flash Player, para ejecutar aplicaciones Flash dentro de las páginas; Adobe Shockwave Player para aplicaciones Shockwave y Java Virtual Machine para la ejecución de los Applet de Java. Continuar leyendo

Tecnologías del lado del cliente: Controles ActiveX

sábado, 1 de marzo de 2008

Antes de la tecnología ActiveX, dos estándares eran los más utilizados en Microsoft Windows. Uno de ellos era OLE (Object Linking and Embedding), y el otro era COM (Component Object Model). Ambos regímenes fueron diseñados para interoperabilidad de software, el primero se centra en la comunicación y la segunda se centra en la aplicación. En 1996, Microsoft combina las tecnologías y el resultado toma el nombre de ActiveX. Microsoft Office Web Components es un ejemplo de software ActiveX del lado del cliente. Usando determinados lenguajes, un programador puede manipular hojas de cálculo y documentos desde el código como si estuviera usando las aplicaciones directamente. ActiveX tiene presencia en la programación del lado del servidor y del lado del cliente, aunque existan diferencias en el uso en cada uno de esos dos casos. ActiveX en el lado del cliente Son pequeños programas que se pueden incluir dentro de páginas web y sirven para realizar acciones de diversa índole. Por ejemplo hay controles ActiveX para mostrar un calendario, para implementar un sistema de FTP, etc. Son un poco parecidos a los Applets de Java en su funcionamiento, aunque una diferencia fundamental es la seguridad, pues un Applet de Java no podrá tomar privilegios para realizar acciones malignas (como borrarnos el disco duro) y los controles ActiveX sí que pueden otorgarse permisos para hacer cualquier cosa. Los controles ActiveX son particulares de Internet Explorer. Otros navegadores como Mozilla Firefox han rechazado completamente la compatibilidad de estos por el riesgo de seguridad que implican para el usuario final de la aplicación; aunque desarrolladores externos a esta empresa ya han liberado un plugin que permite el soporte de este tipo de controles al Zorro de Fuego. Los controles ActiveX se desarrollan con entornos de Microsoft para la creación de aplicaciones Windows, como pueden ser Visual Basic Script o Visual C. Cabe señalar es que existen muchos controles ActiveX tanto del lado del servidor como del cliente, que están ya desarrollados y podemos incluirlos fácilmente en nuestras creaciones. Con ActiveX, los sitios web se pueden animar usando efectos multimedia, objetos interactivos, y aplicaciones sofisticadas que crean una experiencia agradable para el usuario. Los mismos efectos se pueden experimentar con Java, Shockwave, Flash, y otras aplicaciones o programas. La diferencia entre ActiveX y las otras opciones es que ActiveX es un producto exclusivo de Microsoft que hace uso de los controles ActiveX. ActiveX y Java ActiveX provee un mecanismo estándar para extender cualquier lenguaje de programación, incluyendo Java. ActiveX extiende las capacidades del lenguaje Java permitiendo a los programadores de este lenguaje integrar sus applets con la riqueza de ActiveX. ActiveX une los applets con objetos creados en otros lenguajes, de manera que los programadores de Java pueden linkear con controles ActiveX directamente desde sus programas en Java. En el mismo token, los objetos escritos en otros lenguajes pueden linkea a los applets de Java. ActiveX es la soga que ata todo junto, dando a luz a la más alta tecnología en una plataforma abierta e integrada. Provee una forma común de extender y vincular lenguajes de programación, incluyendo Java. ActiveX maximiza los recursos para el desarrollo de sitios interactivos. Continuar leyendo

Tecnologías del lado del cliente: Document Object Model (DOM)

viernes, 29 de febrero de 2008

El Modelo de Objetos de Documento, frecuentemente abreviado DOM, es una forma de representar los elementos de un documento estructurado (tal como una página web HTML o un documento XML) como objetos que tienen sus propios métodos y propiedades. El responsable del DOM es el World Wide Web Consortium (W3C). En efecto, el DOM es una API para acceder, añadir y cambiar dinámicamente contenido estructurado en documentos con lenguajes como Javascript. El DOM se ha diseñado para ser utilizado en cualquier lenguaje de programación. Por ejemplo, considérese esta tabla, tomada de un documento HTML:

<TABLE> <TBODY> <TR> <TD>Shady Grove</TD> <TD>Aeolian</TD> </TR> <TR> <TD>Over the River, Charlie</TD> <TD>Dorian</TD> </TR> </TBODY> </TABLE>
El DOM representa esta tabla de este modo: Representación de HTML con DOM En el DOM, los documentos tienen una estructura lógica que es muy parecida a un árbol. Para ser más precisos, es más bien como un "bosque" o una "arboleda", que puede contener más de un árbol. Sin embargo, el DOM no especifica que los documentos deban ser implementados como un árbol o un bosque, ni tampoco especifica cómo deben implementarse las relaciones entre objetos. El DOM es un modelo lógico que puede implementarse de cualquier manera que sea conveniente. En esta especificación, usamos el término modelo de estructura para describir la representación en forma de árbol de un documento, evitando la utilización de términos tales como "árbol" o "bosque" para evitar la implicación de una implementación en particular. Una propiedad importante de los modelos de estructura del DOM es su isomorfismo estructural: si dos implementaciones cualesquiera del Modelo de Objetos del Documento se usan para crear una representación del mismo documento, ambas crearán el mismo modelo de estructura, con exactamente los mismos objetos y relaciones. Se eligió el nombre "Modelo de Objetos del Documento" porque es un "modelo de objetos" en el sentido tradicional del diseño orientado a objetos: los documentos se modelizan usando objetos, y el modelo comprende no solamente la estructura de un documento, sino también el comportamiento de un documento y de los objetos de los cuales se compone. En otras palabras, los nodos del diagrama anterior no representan una estructura de datos, sino que representan objetos, los cuales pueden tener funciones e identidad. Como modelo de objetos, el DOM identifica: • Las interfaces y objetos usados para representar y manipular un documento. • La semántica de estas interfaces y objetos, incluyendo comportamiento y atributos. • Las relaciones y colaboraciones entre estas interfaces y objetos. El Modelo de Objetos del Documento consiste actualmente de dos partes, el Núcleo del DOM y el DOM HTML. El Núcleo del DOM representa la funcionalidad usada para los documentos XML, y también sirve de base para el DOM HTML. Una implementación conforme del DOM debe implementar todas las interfaces fundamentales del capítulo sobre el Núcleo con la semántica definida. Además, debe implementar o bien el DOM HTML o bien las interfaces extendidas (XML), o ambas, con la semántica definida. Continuar leyendo

Tecnologías del lado del cliente

jueves, 28 de febrero de 2008

Las tecnologías del lado del cliente, es decir, las que se ejecutan en el navegador del usuario son las páginas dinámicas que se procesan en el cliente. En estas páginas toda la carga de procesamiento de los efectos y funcionalidades la soporta el navegador. Usos típicos de las páginas de cliente son efectos especiales para webs como rollovers o control de ventanas, presentaciones en las que se pueden mover objetos por la página, control y validación de formularios, cálculos, etc. El código necesario para crear los efectos y funcionalidades se incluye dentro del mismo archivo HTML y generalmente son scripts, activex o plugins. Cuando una página HTML contiene alguna de las tecnologías de cliente, el navegador se encarga de interpretarlas y ejecutarlas para realizar los efectos y funcionalidades. Las páginas del cliente son muy dependientes del sistema donde se están ejecutando y esa es su principal desventaja, ya que cada navegador tiene sus propias características, incluso cada versión, y lo que puede funcionar en un navegador puede no funcionar en otro. Como ventaja se puede decir que estas páginas descargan al servidor algunos trabajos, ofrecen respuestas inmediatas a las acciones del usuario y permiten la utilización de algunos recursos de la máquina local. Las páginas dinámicas de cliente principalmente se escriben en dos lenguajes de programación: Javascript y Visual Basic Script (VBScript). También se puede hacer uso de las CSS o XML para tecnologías como DHTML o AJAX. Existen tecnologías de cliente que se ejecutan a través plugins instalados en el navegador. Algunas de las más conocidas son Flash y los Applet de Java. Continuar leyendo

Hacks en CSS que te evitarán dolores de cabeza en Internet Explorer

sábado, 2 de febrero de 2008

Debido a la diversidad de navegadores y las diferencias entre versiones es muy útil hacer uso de algunos hacks si queremos que la apariencia de nuestras páginas en Internet Explorer, sea igual que en el resto de los navegadores que soportan los estándares.

A continuación mostramos algunos hacks útiles, que podremos utilizar en nuestros archivos CSS para solucionar problemas que nos suceden a diario con nuestros diseños web cuando se muestran con Internet Explorer.

Lea el artículo completo publicado en Maestros del Web Continuar leyendo