Skip to main content

Releasing v0.1.3

· 2 min read
Cichy
Maintainer of IanaIO

The IanaIO team is happy to announce a new version of IanaIO: v0.1.3. IanaIO 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: ianaio-worker

IanaIO 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. IanaIO-worker is made by moving yew-agent to IanaIO, 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 ianaio_utils now providing a new wrapper to obtain the document head.

Notable mention from last release

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

ianaio-history

IanaIO 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 ianaio-history under-the-hood.

Looking for contributors

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

IanaIO gets a new crate ianaio-net

· One min read
Cichy
Maintainer of IanaIO

The IanaIO team is happy to announce a new addition to the IanaIO crates family: ianaio-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

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

Hello World

· One min read
Cichy
Maintainer of IanaIO

Welcome to the first blog post of IanaIO. IanaIO 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 IanaIO, please reach out to us. We will be happy to have you work with us.

Releasing v0.1.2

· One min read
Cichy
Maintainer of IanaIO

The IanaIO team is happy to announce a new version of IanaIO: v0.1.2. IanaIO 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

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

Fixes

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

Looking for contributors

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

Releasing v0.1.1

· 2 min read
Cichy
Maintainer of IanaIO

The IanaIO team is happy to announce a new, long overdue, version of IanaIO: v0.1.1. IanaIO 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

ianaio-console

ianaio-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);

ianaio-dialogs

ianaio-dialogs provides wrappers for the following functions:

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

ianaio-render

ianaio-render provides wrapper for requestAnimationFrame:

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

ianaio-storage

ianaio-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

IanaIO 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 IanaIO project.