Internet Explorer 8 : A grandes rasgos

Aproximadamente a las 12am pst del 27/8/08 se lanzaba la beta 2 del Internet Explorer 8 🙂 Os enlazo al blog oficial donde lo han anunciado: http://blogs.msdn.com/ie

Iremos viendo diferentes funcionalidades y en qué puede o no interesarnos cada una de ellas, pero en este post voy a intentar aclarar ese halo que acompaña al producto y al hecho (o no) de que algunas webs no se muestren correctamente si navegamos con IE8. Profundizaremos en los modos de compatibilidad más adelante. Este post esta orientado a las personas que han oido algo, pero que todavía no se han puesto con IE8.

El grupo de IE8 ha hecho un gran trabajo a la hora de incorporar estándares dentro del producto (pasan el acid2, CSS 2.1, ARIA, UIA), al navegar con IE8, por defecto estaremos utilizando un modo de navegación que sigue a rajatabla el estándar a la hora de renderizar una página web.

La implicación directa para los desarrolladores web:

Si tu sitio web no esta desarrollado de acuerdo a los estándares puede que los usuarios que naveguen por tu web vean desplazados los bloques, imágenes… porque por defecto su IE8 va a analizar tu página de acuerdo con el estándar.

Esta beta 2 de IE8 es el momento perfecto para empezar a hacer pruebas de cómo se presenta tu sitio web de acuerdo al estándar.

HORROR!!! todos hemos hecho alguna página que se ve ‘mas ó menos’ en ie y en ffx… qué va a ser de nosotros? %dios% haz que un batallón de duendes retoque todo mi markup para que sea acorde al estándar y no me tenga que poner a cambiarlo todo

RELAX, obviamente, los del grupo de IE no iban a permitir que todo el mundo tenga que rehacer frontales, sería una barbaridad. De modo que si tu página no se renderiza igual en ie8 que en ie7, no pasa nada, no saltes todavía por la ventana con la CPU al cuello. Hay mecanismos tanto del lado del servidor como del lado del cliente para emular la presentación ie7 y que el usuario final no perciba ningún efecto. Estos mecanismos son tan complicados como hacer click en un botón ó añadir una línea en el webconfig o en la cabecera del html 🙂

Este tema de la navegación en modo estándar puede ser de lo más comentado, pero no es lo único nuevo que trae IE8, hay numerosas funcionalidades nuevas, interesantes tanto para perfiles de desarrollo, como para perfiles de IT, como para usuarios finales. Por ejemplo:

InPrivacy Browsing… Mecanismos para poder realizar una navegación en modo privado. No se guarda el historial, las cookies…

InPrivacy Blocking… Evita que sitios de terceros puedan perfilarnos en Internet sin nuestro consentimiento.

Accelerators… Selecciona texto en una página web, y a través de un menú de contexto puedes escoger que ese texto sea el parámetro de un serviico web al que invocas. Seleccionas el texto y ‘Buscar en Live’ o ‘buscar en google’ ó ‘definir en wikipedia’ ó ‘posicionar en un mapa’ !! veréis en un post futuro lo fácil que es construir estos aceleradores

y bastantes más: Web Slices, Mejoras en rendimiento de Javascript, Herramientas integradas para desarrolladores, Domain Hjighlighting, SmartScreen, Nuevas clases para potenciar AJAX, soporte de ARIA e UIA

Venga… a bajarlo y a probarlo todos! 🙂  Iré comentando por aqui algunas de esatas funcionalidades y cómo sacarles partido.

happy browsing!

Cazadores de Mitos : Firefox desarrollará un plugin para tumbar IE

Halaaaaaa… vengaaaaa.. quién da mas?

Este tipo de comentarios que se ven últimamente en internet son el efecto bola de nieve en su máxima expressión, en la medida en la que pueda intentaré ir matando alguno de esos mitos, el problema es que lleva muy poco tiempo postear el mito y agrandarlo, pero bastante el buscar las fuentes y contrastarlo :_)

A lo que vamos.

La especificación de HTML 5 propone una serie de nuevos elementos dentro de HTML, entre ellos, el Canvas. Si bien el grupo de IE8 ha hecho grandes avances en cuanto a la adopción de estándares en internet, pasa el ACID2, ha subido 2524 nuevos casos de prueba adicionales para CSS2.1.. etcétera…Por ahora el grupo de IE no ha hecho público ningún comentario sobre la adopción o no de este elemento. Están trabajando en la beta 2 de IE.

Parece ser que hay un proyecto para adaptar la implementación del Canvas de Mozilla y poder ejecutarlo en IE, Vladimir Vukicevic [1] esta trabajando en ello. COmo comentario adicional, dice que aun teniendo la implementación del Canvas, éste es solo una pieza y que puede que algun sitio no funcione porque puede echar de menos otras piezas presentes en el mundo mozilla que no esten en IE.

Para darle un contexto de ejecución controlado al canvas y que no se encuentre «sólo» hace referencia al proyecto «mono gritón» [2] que consiste en integrar un motor de javascript diferente dentro de IE, este motor sería el del proyecto Tamarin [3]. Como véis en los sitios (pq espero que no os estéis creyendo mi post y estéis contrastando fuentes) son proyectos en curso.

Siguiendo con su idea/proyecto del canvas, Vladimir comenta tb que hay que trabajar en la forma de distribución, que la experiencia de que sea un ActiveX con una infobar y que haya que aceptar no le parece adecuada.

Y ahora la parte del bulo.. en un website (arstechnica.com) [0] el autor de la noticia comenta, que si adobe arrimase el hombro al proyecto de Vladimir, todo sería más fácil porque podría ayudar con la distribución… copio textualmente:

«…This is purely speculation, but If Adobe decided to ship Screaming Monkey and the Canvas functionality as part of the next major iteration of the Flash plugin, it would rapidly accelerate adoption and get it onto lots of computers…»

Os habéis fijado en la parte de «this is purely speculation» ? 🙂 si? perfecto entonces. Parece ser que por ahora Firefox y adobe no intentan tumbar a nadie.

Conclusión ( en mi opinión personal e intransferible ):

Me encanta que se desarrolle algo tan genial para IE, cualquiera de los dos proyectos, tanto el de canvas como el de poder meter otros motores de Javascript. Al fin de al cabo, lo que todos queremos como usuarios finales es que las cosas funcionen lo mejor posible,no?

Ahora bien… con lo centrado que esta el equipo de IE8 actualmente en los estándares dudo que no tengan en proyecto la implemenación de los elementos de HTML5.

Algunos recursos:

[0] http://arstechnica.com/news.ars/post/20080819-mozilla-drags-ie-into-the-future-with-canvas-element-plugin.html

[1] http://blog.vlad1.com/2008/07/30/no-browser-left-behind/

[2] https://wiki.mozilla.org/Tamarin:ScreamingMonkey

[3] http://www.mozilla.org/projects/tamarin/

(si… mis cuentas empiezan en 9)

Happy Hunting!

Las dichosas Cross Domain Calls

 

Si desarrollas para la web, seguro que alguna vez te has enfrentadoa  una Cross Domain Call 🙂 En este post vamos a ver en que consisten, por qué existen y si hay algún metodo para evitarlas.

¿Qué es una Cross Domain Call?

Es un mecanismo de seguridad de las comunicaciones en navegadores actuales. Evitan que un script (XMLHttpRequest de AJAX) o una aplicación (Flash, Silverlight) de una página web puedan acceder a un servidor web diferente del que residen.

¿Por qué existe?

Intentan ayudar a evitar dos formas habituales de sabotaje en internet, el (1) Cross Site Request Forgery (XSRF o session riding)  y el (2) Cross Site Scripting (XSS).

(1) Un sitio web malicioso y con mala baba suplanta al usuario que esta navegando y accede a otra aplicación en su nombre. Por ejemplo, yo navego a una página malvada y ésta utiliza las cookies de mi navegador para acceder a mi flickr o banca online (o lo que sea) utilizando mis contexto ( http://migaleria/borrar?photoId=3 ).

(2) Un sitio web malicioso y promíscuo me roba información y la envía a un sitio de terceros. XSS Implica que tiene que haber una inyección de Javascript.  Por ejemplo, abro un mensaje malicioso en la intranet y este lee información de mi contexto y la envía a un tercero.

De XSS sabe bastante PHPNuke, debido a la importancia que adquirió el producto hace algunos años, todos los malotes de internet se dedicaron a intentar explotarlo para acceder a sitios en internet. Por desgracia le encontraron fallos de XSS y muchos sitios fueron comprometidos…. coders del mundo!!! que la seguridad no es un añadido, que es un requisito!!

¿Hay formas de evitarlas?

Bien es cierto que aunque sean un mecanismo de protección para el usuario final, a los desarrolladores nos tocan un poquito las narices, no? Pero como dicen las canas… no nos  preocupemos, que menos la muerte, todo tiene solución 🙂 ( hay mashups por ahi, no? )

Tenemos varias opciones para acceder a ese contenido alojado en otro servidor desde el browser donde se ejecuta nuestra aplicación, veamos las más habituales:

Proxy

Hacemos que el script o la aplicación llamen a un proxy del servicio remoto que hemos puesto en nuestro servidor web. De modo que si yo quiero información de twitter, en lugar de llamar desde Silverlight al servicio de twitter, lo que haré será llamar a un servicio web que esté en mi servidor y desde este servicio web alojado en el backend, llamar al servicio de twitter.

CrossDomain.xml   y ClientAccessPolicy.xml

Son archivos que van a indicar que el servidor ajeno a nuestra aplicación confía en las llamadas. De modo que siguiendo con lo de twitter… si estos archivos están presentes en el sevidor de twitter, y permiten acceso a nuestro dominio, podremos acceder desde las aplicaciones cliente, por ejemplo

twitter.com/crossdomain.xml  – static.flickr.com/crossdomain.xml

Para Silverlight en MSDN How to- Make a Service Available Across Domain Boundaries

En otro post veremos ejemplos específicos a Silverlight y ASP.NET AJAX 🙂

Más información sobre las Cross Domain Calls en MSDN ( Client Side Cross-Domain Security )

http://code.msdn.microsoft.com/xdsecuritywp/Release/ProjectReleases.aspx?ReleaseId=1157

Hapy Hacking!!

  Ds

Olimpiada de cursos online MSDN

 ok, si, de acuerdo, es un título horrible… pero por estas fechas algo hay que decir de los Juegos Olímpicos no? x)  Me encantan y es una verdadera pena que sean cada tanto tiempo, aunque no creo que sea yo solo verdad?  o acaso,  a alguien lo le gusta ver los 100m lisos? o venga, que levante la mano el que no se quede embobado mirando a los de saltos sincronizados o a los gimnastas en las anillas.

Me pego verdaderas jornadas maratonianas viviendo los diferidos con toda la pasión del más puro directo, eso sí.. con la certeza de cómo están las medallas asignadas pero con la curiosidad de cómo se ha llegado a ese resultado ( habéis visto el españa china en blanoncesto??? ese último cuarto y esa prorroga? mira que sabía que ganábamos pero me estaba comiendo los dedos en el diferido ).

Por otro lado, además del interés que nos pueda suscitar una u otra disciplina deportiva, hemos de reconocer que también es una manera de pasar el tiempo, no?  ( las pruebas de ciclismo en ruta, contrarreloj, marcha … anda que no pasamos minutos embobados entre que pasa y no pasa algo)  Este tiempo invertido en los Juegos Olímpicos nos plantea un problema….qué haremos cuando se acaben?

>>>Horror, pánico…. sudor frío… q será de nuestro tiempo libre?

Pues yo os tengo una propuesta O=)  al igual que el año pasado, aprovecho esta temporada que para muchos es más relajada laboralmente hablando, para recordaros la disponibilidad de los cursos online gratuitos de formación en MSDN. Seguro que encontráis alguno que os puede ayudar en vuestro día a día o en vuestro plan de carrera.

Por ejemplo:

    Curso de Expression Web

    Curso de Silverlight

    Curso de Servicios Web

   

Veréis que hay algunos que estan con la versión 2005 de Visual Studio, estamos en proceso de actualizarlos a VS2008 y .net 3.5 Iremos avisando por aquí de la disponibilidad de esos cursos.

Os lo recuerdo… adoramos el feedback, es la única manera que tenemos de mejorar y de intentar ayudaros con lo que necesitéis, a si que hacednos llegar cualquier comentario de los cursos, esta habilitado el contacto en el blog para lo que necesitéis.

Espero que os sirvan de ayuda 😉

Disfrutad de las merecidas vacaciones, de los juegos, de la cerveza con limón y happy hacking!!