Ver perfil

Estandarte - Publicación #11

Jorge del Casar
Jorge del Casar
Esta newsletter encontrarás un monográfico de Project Fugu, recorriendo la historia de cómo han ido evolucionando las funcionalidades de la web hasta hoy y cómo
En la newsletter 10, te enseñé el Project Fugu API showcase de Thomas Steiner, y dije que te hablaría más sobre el proyecto Fugu. ¡Vamos a ello!

🕸 WHATWG
El Web Hypertext Application Technology Working Group, fundado en 2004 por integrantes de Apple, la Fundación Mozilla y Opera Software, se formó en respuesta al lento desarrollo de los estándares web del World Wide Web Consortium (W3C) y a la decisión del W3C de abandonar HTML en favor de tecnologías basadas en XML. A mí me gustó la idea del XHTML, por tener un lenguaje más estricto, pero impedía la retrocompatibilidad y por tanto dificultaba el motor de los navegadores.
¿Os acordáis del doctype declaration de XHTML?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
En abril de 2007 propusieron que el nuevo grupo de trabajo de HTML del W3C adoptara el HTML5 de WHATWG como punto de partida de su trabajo y nombrara su entrega futura como “HTML5” (lo que más tarde pasó a llamarse HTML Living Standard).
Y en mayo de ese año lanzan el primer borrador de Web Applications 1.0. Esta especificación introducía funcionalidades en HTML y DOM que facilitan la creación de aplicaciones basadas en Web. Añade menús contextuales, un lienzo de gráficos, ventanas emergentes y eventos enviados por el servidor.
Una de las cosas más simple que nos simplificó la vida fue reducir la complicada lista de doctype declarations válidos, dejándolo así:
<!DOCTYPE html>
📱 iPhone y las web apps
2007 fue un año clave, también se presentaba el iPhone en la Apple WWDC de 2007, donde Steve Jobs anunciaba la forma de desarrollar aplicaciones para iPhone:
Hemos estado tratando de encontrar una solución para expandir las capacidades del iPhone para permitir que los desarrolladores escriban excelentes aplicaciones para él y, al mismo tiempo, mantener el iPhone confiable y seguro. Hemos encontrado una solución muy buena y déjame contarte sobre ella. Tenemos una nueva e innovadora forma de crear aplicaciones para dispositivos móviles y todo se basa en el hecho de que el iPhone tiene el motor de Safari completo en su interior y nos da una gran capacidad para escribir aplicaciones asombrosas, que se ven y se comportan exactamente como aplicaciones en el iPhone.
Web 2.0 + Ajax, integración con los servicios iPhone, distribución instantánea, fácil actualización, seguro y zona protegida en iPhone
Web 2.0 + Ajax, integración con los servicios iPhone, distribución instantánea, fácil actualización, seguro y zona protegida en iPhone
A los desarrolladores web, que apostábamos por la plataforma, nos encantó. Pero a los desarrolladores de aplicaciones de escritorio y juegos no les gustó esa solución, querían un SDK. Eso obligó a Apple a anunciar en noviembre de 2007 el lanzamiento de un SDK en marzo de 2008 y un mercado de aplicaciones para en julio del mismo año.
Sinceramente creo que este movimiento fue un duro golpe para los estándares, y quizá el comiendo de la lenta adopción de los estándares que tiene ahora. Sin ese SDK, la web hubiera sido la plataforma de distribución y las transacciones monetarias no se llevarían el bocado que le pega Apple.
🧑‍💻 HTML5
4 años de trabajo del WHATWG, por fin vieron la luz en el primer borrador de HTML5 que se publicó en enero de 2008, siendo un versión mayor del lenguaje core de la web. En esta versión se introducen nuevas funcionalidades, nuevos elementos basado en la investigación de las prácticas predominantes, y se prestó especial atención a la definición de criterios claros de conformidad para los agentes de usuario (navegadores) en un esfuerzo por mejorar la interoperabilidad.
HTML5 trae a la web pistas de video (<video>) y audio (<audio>) sin necesidad de complementos; acceso programático a un lienzo de mapa de bits (<canvas>) para representar gráficos, juegos u otras imágenes visuales sobre la marcha; soporte nativo para gráficos vectoriales escalables (SVG) y matemáticas (MathML); anotaciones importantes para la tipografía de Asia oriental (<ruby>); características para permitir la accesibilidad de aplicaciones ricas; nuevas etiquetas para mejorar la semántica de la web (<main>, <section>, <article>, <header>, <footer>, <aside>, <nav><figure>); se modifican algunas etiquetas ( <a>, <cite><menu>).
Aparecían un montón de funcionalidades para permitir llevar a cabo la idea de Steve Jobs de dotar a la web de las capacidades necesarias para el desarrollo de aplicaciones.
Años más tarde, en 2013, Firefox apostó por la web como plataforma con Firefox OS, ofreciendo a las aplicaciones HTML5 comunicarse directamente con el hardware del dispositivo.
La parte mala de todo esto es que costó 6 años en llegar a la versión final de HTML5, aunque muchos navegadores ya lo implementaban. Puede ser que la falta de apoyo de algunos agentes de usuario retrasase la versión final, que llegó hasta 2014.
Estoy convencido de que si Apple se hubiera mantenido firme en su decisión y continuara con su idea de potenciar la web como plataforma de desarrollo de aplicaciones, ahora, los estándares web estarían mucho más avanzados. El proyecto Fugu hubiera aparecido mucho antes o ni siquiera hubiera aparecido.
🐡 Projecto Fugu
El proyecto Fugu nace por la necesidad de eliminar las brechas en las capacidades de la web, y que estén disponibles en la web las mismas capacidades que usan las apps que corren directamente en el dispositivo haciendo uso del SDK. Es decir, convertir al navegador en el SDK de cualquier dispositivo, ya sea móvil, de escritorio, o de cualquier otro tipo.
Y quién mejor que Thomas Steiner para contaros los detalles sobre el proyecto, como lo ha vivido él desde dentro.
En los primeros días del Proyecto Fugu, hablamos mucho sobre “cerrar la brecha de las aplicaciones”. Queríamos poner a los desarrolladores en una posición en la que pudieran implementar cualquier cosa en la web que se pudiera hacer en plataformas como Windows, macOS, Android, iOS, etc. Todavía queremos eso, pero hemos cambiado un poco nuestra forma de pensar: en lugar de estar procesando una lista de APIs, ahora estamos enfocados en qué casos de uso ha habilitado esto. No me malinterpretes, trabajar en esta lista fue esencial, pero dejó a los desarrolladores un poco a oscuras en cuanto a nuestra motivación y prioridades reales. Para el observador externo, algo de lo que lanzamos puede haber parecido un poco aleatorio. El caso es lo contrario: desde el principio estuvimos impulsados ​​por nuestros socios. Donde las cosas se quedaron un poco cortas fue que no pudimos transmitir completamente nuestra visión a los desarrolladores de lo que se trataba: permitir que Microsoft lanzara vscode.dev, Adobe para lanzar adobe.photoshop.com, Bandlab para crear bandlab.com y muchos proyectos grandes y más pequeños. Ahora, con el lote inicial de APIs terminado, nuestro enfoque se ha desplazado hacia el perfeccionamiento y la mejora de estas APIs. Hacerlas más ergonómicas de usar, proteger más la privacidad y hacerlas más completo al abordar las necesidades de los desarrolladores. Asegúrate de leer mi artículo reciente https://developer.chrome.com/blog/is-project-fugu-done/ donde explico con más detalle nuestro pensamiento. Mis mensajes directos y mi correo electrónico siempre están abiertos y me encanta escuchar historias de desarrolladores y presentar vuestras aplicaciones en el Project Fugu API Showcase en https://developer.chrome.com/blog/fugu-showcase/.
Si os ha interesado todo lo que ofrece el proyecto aquí tenéis toda la información sobre el estado del proyecto Fugu. Podéis las APIs que ya han sido lanzadas, las que están como un origin trial, las que están mediante una flag, las que se han empezado y las nuevas sugerencias.
¿Qué os parece el proyecto? ¿Habéis probado alguna de las APIs que se han liberado? Comparte tus proyectos y tus impresiones, que nos gusta saber que te ha motivado a hacerlo y cómo lo has afrontado.
¿Te ha gustado? No
Jorge del Casar
Jorge del Casar @jorgecasar

#DesignOps 🛠 ⚙️
#DesignSystems 📐 📏
#WebComponents 🧩 🏗
@googledevexpert Web technologies & Assistant
@Tesla #Model3 owner, referidos: http://ts.la/jorge69239

Para cancelar tu suscripción, haz clic aquí.
Si te han remitido este boletín y te ha gustado, puedes suscribirte aquí.
Created with Revue by Twitter.