cf-wasm
wrangler-legacy
cf-wasm | wrangler-legacy | |
---|---|---|
1 | 139 | |
11 | 3,234 | |
- | - | |
8.4 | 7.3 | |
13 days ago | 10 months ago | |
Rust | Rust | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cf-wasm
-
Show HN: OS Image processing API running on edge functions using Rust and WASM
Image processing/transformations with built-in CDNs is one of the more common solutions you would find out there but can get pretty expensive and locked in over time.
Vercel is a good example that provides a built-in “next/image” solution for the NextJS framework that optimises images for better performance, however, it gets very expensive as you scale.
Alternatively, running your own service with one of the most common image processing libraries like SharpJS is great but can get pretty difficult to run in a serverless environment with CDNs and all the other bells and whistles alongside all your other code while the cold startup time of Sharp in a serverless environment can be pretty brutal.
With all the growth around rebuilding engines in Rust for performance gains, I thought there must be an image processing library written in Rust which could be compiled to WebAssembly (WASM) and run way faster. That’s when I discovered Photon https://github.com/silvia-odwyer/photon by Silvia, who has done amazing work with the library.
This eventually led me to discover https://github.com/fineshopdesign/cf-wasm/tree/main/packages... that has already transcribed the Photon package into a WASM binary for easy use in edge v8 environments like Cloudflare workers or NextJS Edge functions.
Using these packages I built an API layer on the NextJS framework allowing you to easily process local and remote images at blazing fast speeds with a bunch of helper functions making it similar to use as most paid Image processing APIs. If hosted on Vercel, you can make use of the built-in CDN cache for files less than 10 MB at no extra charge with Edge caching.
Some of the features:
- Blazing fast image processing
- Fully serverless, runs on Vercel Edge functions
- Resize, crop, compress, tint, rotate, format and more
- Global distribution with Edge functions
- Automated CDN cache with Edge functions
- Replacement for `next/image` processing on Vercel
- Local and remote image processing
Some problems:
- The Photon lib has last been updated in 2020
- There are still a few obvious bugs when using it for more advanced requirements like 8k image processing on edge function due to poor memory management in Rust
- No sexy features right now like AI image optimisation and selective background blurring
- If you are looking for an all-in-one solution with Image Storage + image processing/CDN, this is not it (something we will be releasing soon on JigsawStack.com)
I think the Photon library and the API have a lot more potential for growth and will be hoping for more contributions from the community as Rust gets more popular!
wrangler-legacy
-
Running Slack App on Cloudflare Workers
Recently, as a weekend hobby project, I created a Slack app development framework for Cloudflare Workers and Vercel Edge Functions.
- Ask HN: Is your blog/website behind a CDN?
-
Our experience adding Edge Runtime to Next.js SDK
Edge Runtime has become a buzzword in the technology landscape, driving dynamic, low-latency functions in platforms from AWS Lambda@Edge and Cloudflare Workers to Vercel Edge. Emphasizing its importance, Vercel recently changed "experimental-edge" to "edge", signaling official support in their popular Next.js framework.
- Cloudflare KV Is Down
-
Potential use case for serverless. Would like some advice.
It seems like the perfect usecase for Cloudflare Workers.
-
Better blogging on Dev.to with Vrite - headless CMS for technical content
For this tutorial, I’ll use Cloudflare Workers as they’re really fast and easy to set up, but you can use pretty much any other serverless provider with support for JS.
-
Trouble Sending to CWOP via Cloudflare Workers
Cloudflare has a wonderful serverless platform called Cloudflare Workers that allows you to write code without worrying about underlying hardware or software. Yesterday, they announced that Workers now have the ability to connect directly over TCP sockets. I want to use this feature to send an APRS packet to CWOP.
- Statistiques 5 mois après la publication de ma première application
-
I need a proxy to cache (incl. POST, body based keys) and modify headers
Sounds doable with Cloudflare Workers
- Serverless Speed: Rust vs. Go, Java, and Python in AWS Lambda Functions
What are some alternatives?
photon - ⚡ Rust/WebAssembly image processing library
miniflare - 🔥 Fully-local simulator for Cloudflare Workers. For the latest version, see https://github.com/cloudflare/workers-sdk/tree/main/packages/miniflare.
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
Visual Studio Code - Visual Studio Code
wasmtime - A fast and secure runtime for WebAssembly
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
supabase - The open source Firebase alternative.
Svelte - Cybernetically enhanced web apps
hono - Web Framework built on Web Standards
Nuxt.js - Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3. [Moved to: https://github.com/nuxt/nuxt]
cloudflare-docs - Cloudflare’s documentation
wasm-bindgen - Facilitating high-level interactions between Wasm modules and JavaScript