This is an important and fundamental part of developing an iPhone/iPad application, testing on devices. With FE, I am ready to distribute this to some users for testing the main core functionalities directly on their devices, thanks to FES, without any kind of local synchronization with my machines. So give it a try, leave some feedback, even open a PR! By the way, we’re always on the lookout for great people to join us, and we are hiring for many open roles (including Rust engineers!) - take a look.Personally, I think that FE and FES is a nice piece of software.ĭownloaded both from Apple Store this monday, I have produced and release for test an application that needs, using xCode, weeks of more depth development. Plus, Rust’s popularity is growing rapidly, and if our own use of Rust at Cloudflare is any indication, there is no question that Rust is staking its claim as a must-have in the developer toolbox. Tools like wasm-bindgen, libraries like web-sys, and Rust’s powerful macro system gave us a significant starting-off point. Rust happens to be a great language for us to kick-start our mission: it has first-class support for WebAssembly, and a wonderful, growing ecosystem. When we took a hard look at the previous experience writing non-JavaScript Workers, we knew we could do better. It’s all open source, and we’d love your feedback! Why are we doing this?Ĭloudflare Workers is on a mission to simplify the developer experience. You’ll find fetch, a router, easy-to-use HTTP functionality, Workers KV stores and Durable Objects, secrets, and environment variables too. We’ve stripped away all the glue code, provided an ergonomic HTTP framework, and baked in what you need to build small scripts or full-fledged Workers apps in Rust.
$ wrangler generate -type=rust my-project Get your own Worker in Rust started with a single command: # see installation instructions for our `wrangler` CLI at
_ => Response::error("`file` part of POST form must be a file", 400), Pub async fn main(req: Request, env: Env) -> Result ", buf.bytes().await?.len())) In the snippet below, you can see how the worker crate does all the heavy lifting by providing Rustacean-friendly Workers APIs.
Introducing the worker crate, available on GitHub and crates.io, which makes Rust developers feel right at home on the Workers platform by running code inside the V8 WebAssembly engine.
While we had a nice “starter” template that made it easy enough to pull in some Rust libraries and use them from JavaScript, the barrier was still too high if your goal was to write a full program in Rust and ship it to our edge. What we wanted was a way to write a Worker in idiomatic Rust, quickly, and without needing knowledge of the host JavaScript environment. In addition to the sizable amount of boilerplate needed, lots of “off the shelf” bindings between languages don’t include support for Cloudflare APIs such as KV and Durable Objects. However, there has always been a challenging “trampoline” step required to allow languages like Rust to talk to JavaScript APIs such as fetch(). Try it out: Ĭloudflare Workers has long supported the building blocks to run many languages using WebAssembly. You can now write Cloudflare Workers in 100% Rust, no JavaScript required.