Share websites as a single file over Bluetooth and run them offline in the context of their origin

Grouping an entire website as a single file and making it shareable opens up new use cases for the web. Imagine a world where you can:

  • Cree su propio contentsEl contenido puede ser muy difícil de definir con precisión. Es una definición que se refiere a las declaraciones contenidas en un documento o publicación de cualquier tipo y puede incluir las tecnologías de la información y la comunicación. Esto cubre todos los tipos de medios como imágenes y texto. A parte de esto, en el campo de la optimización de motores de búsqueda, los términos duplicar contenido, contenido único, plus y distribúyalo en todo tipo de formas sin estar restringido a la red
  • Share a web application or web content snippet with your friends via Bluetooth or Wi-Fi Direct
  • Bring your site on your own USB or even host it on your own local network

The APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene plus de Web Bundles es una propuesta de vanguardia que le permite hacer todo esto.

Compatibilidad del browserUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los plus

Actualmente, la API de Web Bundles solo es compatible con browsersConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet plus basados ​​en Chromium con una marca experimental.

Introducing the Web Bundles API

Un Web Bundle es un formato de archivo para encapsular uno o más recursos HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado plus en un solo archivo. Puede incluir uno o más archivos HTMLHTML (Hypertext Markup Language) se usa para estructurar el contenido de texto de un documento web. No sólo se marca el contenido, sino además la meta-información que describe este contenido. Las páginas HTML se almacenan normalmente en el directorio raíz del servidor. Cómo se creó En la era digital, a los usuarios les resulta difícil hallar su camino en las webs y hacer un seguimiento de las estructuras de las plus, archivos JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar plus, imágenes u hojas de estilo.

Web packages, more formally known as HTTP exchanges included, are part of the Web Packaging
proposal.

webbundle-7281191

How Web Bundles Work

Los recursos HTTP en un Web Bundle se indexan por UrlEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo plus de solicitud y, opcionalmente, pueden venir con firmas que avalan los recursos. Las firmas permiten que los navegadores comprendan y verifiquen el origen de cada recurso y tratan a cada uno como si procediera de su verdadero origen. Esto es similar a como Signed HTTP exchanges, a function to sign a single HTTP resource.

This article explains what a Web Bundle is and how to use it.

Explanation of web packages

To be precise, a Web Bundle is a CBOR file with a .wbn extension (by convention) that packages HTTP resources in a binary format, and is served with the application / webbundle Mimica guy. You can read more about this in the Top level structure
draft spec section.

Web Bundles have multiple unique features:

  • Encapsulates multiple pages, allowing an entire website to be bundled into a single file
  • Enable executable JavaScript, unlike MHTML
  • Applications HTTP variants to negotiate content, which enables internationalization with the Accept-Language
    header even if packet is used offline
  • It is loaded in the context of its origin when it is cryptographically signed by its publisher.
  • Charges almost instantly when served locally

These features open up multiple scenarios. A common scenario is the ability to create a standalone web application that is easy to share and usable without an internet connection. For example, let's say you are on a plane from Tokyo to San Francisco with your friend. You don't like inflight entertainment. Your friend is playing an interesting web game called PROXXand tells you that he downloaded the game as a web pack before boarding the plane. It works perfectly offline. Before Web Bundles, the story ended there and you'd have to take turns playing the game on your friend's device or finding something else to pass the time. But with Web Bundles, this is what you can do now:

  1. Ask your friend to share the .wbn game file. For example, the file could be easily shared peer-to-peer using a file sharing application.
  2. Open the .wbn file in a browser that supports Web Bundles.
  3. Start playing the game on your own device and try to beat your friend's high score.

Here is a video that explains this scenario.

As you can see, a Web Bundle can contain all the resources, which makes it work offline and load instantly.

Currently, Chrome 80 only supports unsigned packages (that is, web packages without source signatures). Packaging PROXX without signatures does not work well due to cross-origin web worker issues. Chrome is working to fix this problem. In the meantime, take a look Handling common problems in unsigned packages
to learn how to avoid cross-origin problems.

Creation of web packages

the go / bundle CLI is currently the easiest way to bundle a website. go / bundle is a reference implementation of the built-in Web Bundles specification Go.

  1. Install Go.

  2. Install on pc go / bundle.

    go get -u github.com/WICG/webpackage/go/bundle/cmd/...

  3. Clone the preact-todomvc repository and create your web application to prepare to pool your resources.

    git clone httpsHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar plus://github.com/developit/preact-todomvc.git
    CD preact-todomvc
    npm i
    npm run build

  4. Use the gen-bundle command to build a .wbn proceedings.

    gen-bundle -dir build -baseURL https://preact-todom.vc/ -primaryURL https://preact-todom.vc/ -o todomvc.wbn

Congratulations! TodoMVC is now a web package.

There are other options for grouping and more to come. the go / bundle CLI allows you to create a Web Bundle using a HAR file or a custom list of resource URLs. Visit the GitHub repository to learn more about go / bundle. You can also try the experimental Node.js module for packaging,
wbn. Note that wbn it is still in the early stages of development.

Playing with Web Bundles

To test a web package:

  1. Go chrome://version to see what version of Chrome you are running. If you are running version 80 or later, skip the next step.

  2. to download Chrome Canary if you are not running Chrome 80 or later.

  3. Opened chrome://flags/#web-bundles.

  4. Select the Web packages flag a Enabled.

    chromeflag-9602917

    Enable web packages in chrome://flags

  5. Restart Chrome.

  6. Drag and drop the todomvc.wbn file in Chrome if it's on desktop, or tap it in a file manager app if it's on Android.

Everything works magically.

TodoMVC's Preact implementation working offline as a web package

You can also try other sample web packages:

  • web.dev.wbn is a snapshot of the entire website.dev, as of October 15, 2019.
  • proxx.wbn: PROXX is a Minesweeper clone that works offline.
  • squoosh.wbn:
    Squoosh is a convenient and fast image optimization tool that allows you to make side-by-side comparisons of various image compression formats, with support for resizing and format conversions.

Currently, you can only navigate to a Web Bundle stored in a local file, but that is only a temporary restriction.

Post comments

La implementación de la API de Web Bundle en Chrome es experimental e incompleta. No todo funciona y puede fallar o bloquearse. Por eso está detrás de una bandera experimental. Pero la API está lo suficientemente lista para que la explore en Chrome. Los comentarios de los desarrolladores web son cruciales para el diseño de nuevas API, así que pruébelo y dígale a las personsLas personas son personalidades imaginarias que representan a un determinado grupo objetivo. En el marketing online, las personas ayudan a entender mejor a los usuarios de un portal web o a los clientes de una tienda online. Concepto de personas Para que las personas puedan ejercer su efecto positivo, deben ser lo más detalladas viable. Esto conlleva un término exhaustiva de los grupos destinatarios para conseguir datos empíricos. La próxima plus que trabajan en Web Bundles lo que piensa.

Thanks

We would like to congratulate the wonderful Chrome engineering team,
Kunihiko Sakamoto, Tsuyoshi Horo, Takashi toyoshima, Kinuko yasuda and Jeffrey yasskin who worked hard contributing to the spec, building the function in Canary, and reviewing this article. During the standardization process Dan York has helped navigate the IETF discussion and also Dave cramer has been a great resource on what publishers really need. We also want to thank Jason miller for the amazing preact-todomvc and their tireless efforts to improve the structure.