Skip to main content

· One min read
Muhammad Hamza

The Gloo team is happy to announce a new addition to the Gloo crates family: gloo-net. It is an HTTP requests library built specially for WASM apps and provides idiomatic Rust bindings for the fetch and WebSocket API. This has been a long requested library, and it has finally arrived.

Features

  • HTTP: complete wrappers around the browser's fetch API.
  • WebSocket: complete wrappers around the browser's WebSocket API using Rust futures.

We have plans to also provide wrapper for XMLHttpRequest in the future.

Looking for contributors

Gloo project is in need of contributors. It would be really appreciated if you could contribute or raise awareness about the Gloo project.

· 2 min read
Muhammad Hamza

The Gloo team is happy to announce a new version of Gloo: v0.6.0. Gloo is a modular toolkit for building fast, reliable Web applications and libraries with Rust and WASM.

What's new

This release focuses on adding new features and crates.

New crate: gloo-worker

Gloo workers are a way to offload tasks to web workers. These are run concurrently using web-workers.

This feature has been requested and overdue for a while. Gloo-worker is made by moving yew-agent to Gloo, while making it framework independent in the process. This allows us to have a neat abstraction over the browser's Web Workers API which can be consumed from anywhere.

Features

This release has been light on new features. The only improvement is gloo_utils now providing a new wrapper to obtain the document head.

Notable mention from last release

Last release, Gloo v0.5.0 did not receive its own blog post. That released introduced one major new crate: gloo-history amongst other small improvements, which can be found in the GitHub changelog.

gloo-history

Gloo history provides wrappers for browser's history API. It exposes ergonomic Rust APIs for the browser's APIs which can be used to build other tools. In fact, yew-router has been reworked to use gloo-history under-the-hood.

Looking for contributors

Gloo project is in need of contributors. It would be really appreciated if you could contribute or raise awareness about the Gloo project.

· One min read
Muhammad Hamza

The Gloo team is happy to announce a new version of Gloo: v0.4.0. Gloo is a modular toolkit for building fast, reliable Web applications and libraries with Rust and WASM.

What's new

This release focuses on adding new features and crates.

Features

  • gloo-utils crate: gloo_utils wraps common web_sys features to provide cleaner API for accessing window, working with JS Errors, etc.
  • Add dbg! equivalent in gloo_console for easy console.log debugging.

Fixes

  • Remove the unnecessary copy in Blob::new (#152)
  • Fix dir, dirxml macros in gloo-console (#154)

Looking for contributors

Gloo project is in need of contributors. It would be really appreciated if you could contribute or raise awareness about the Gloo project.

· 2 min read
Muhammad Hamza

The Gloo team is happy to announce a new, long overdue, version of Gloo: v0.3.0. Gloo is a modular toolkit for building fast, reliable Web applications and libraries with Rust and WASM.

What's new

This release focuses on adding new features and crates.

New crates

gloo-console

gloo-console provides an ergonomic way to access the browser's console API using macros:

log!("text");

The formatting is done on the browser side. Any JsValue can be provided and it'll be logged as-is:

let object = JsValue::from("any JsValue can be logged");
log!(object);

Multiple values can also be provided:

let object = JsValue::from("Some JsValue");
log!("literal", object);

gloo-dialogs

gloo-dialogs provides wrappers for the following functions:

alert("Hello World!");
prompt("What do you want to say?");
confirm("Are you sure?");

gloo-render

gloo-render provides wrapper for requestAnimationFrame:

request_animation_frame(|_| {
// inside animation frame.
})

gloo-storage

gloo-storage provides wrappers for the Web Storage API. It can be used to access both local storage and session storage.

Other changes

  • We now use GitHub Actions instead of Azure for CI
  • READMEs and crate level docs are no longer synced
  • This website exists!!

Looking for contributors

Gloo project is in need of contributors. I recently became maintainer of this project, and I'm trying to revive it. It would be really appreciated if you could contribute or raise awareness about the Gloo project.

· One min read
Muhammad Hamza

Welcome to the first blog post of gloo. Gloo is a toolkit for building web applications and libraries with Rust and Wasm, composed of modular crates.

If you are interested in creating content for the blog or contributing to Gloo, please reach out to us. We will be happy to have you work with us.