-
For the past few years since I began my endeavor to make a web desktop environment I've become fascinated to know what is possible with a modern web browser and where the limits are. Throughout that time I've been repeatedly surprised with how far we've come and what features have made it into some of todays browsers.
-
Civic Auth
Auth in Less Than 5 Minutes. Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.
-
For example, although Adobe Flash has lost support in browsers, you can now use Ruffle which is written in Rust and has been ported to run in the browser via Emscripten. Another very cool example is the x86 emulator known as v86 which is written in C & Rust and has the ability to run various operating systems such as Linux from within the browser.
-
When it comes to audio/video the trusted tool that is often used on the desktop is FFmpeg and this too has been ported to run in the browser, although if you want multithreading you will need to make sure you have special CORS headers enabled to gain access to the SharedArrayBuffer. For images on desktop there is the popular ImageMagick which indeed also has been ported.
-
Another operation that is sometimes desired is to take several files and give the user a compressed file. There are actually a surprisingly large amount (jszip, pako) of client side options here, but my favorite so far when it comes to speed, size and working with .zip has been fflate. But if you'd like to work with other formats, there are also libraries to decompress 7-Zip, RAR & TAR.
-
Another operation that is sometimes desired is to take several files and give the user a compressed file. There are actually a surprisingly large amount (jszip, pako) of client side options here, but my favorite so far when it comes to speed, size and working with .zip has been fflate. But if you'd like to work with other formats, there are also libraries to decompress 7-Zip, RAR & TAR.
-
One use case that I've found improved loading time greatly was moving my three.js animated 3D background to a web worker by passing the canvas to the worker via OffscreenCanvas which is currently not available on Firefox or Safari, so the traditional main thread rendering method still needs to be a fallback at this point.
-
Another operation that is sometimes desired is to take several files and give the user a compressed file. There are actually a surprisingly large amount (jszip, pako) of client side options here, but my favorite so far when it comes to speed, size and working with .zip has been fflate. But if you'd like to work with other formats, there are also libraries to decompress 7-Zip, RAR & TAR.
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
For example, although Adobe Flash has lost support in browsers, you can now use Ruffle which is written in Rust and has been ported to run in the browser via Emscripten. Another very cool example is the x86 emulator known as v86 which is written in C & Rust and has the ability to run various operating systems such as Linux from within the browser.
-
Another operation that is sometimes desired is to take several files and give the user a compressed file. There are actually a surprisingly large amount (jszip, pako) of client side options here, but my favorite so far when it comes to speed, size and working with .zip has been fflate. But if you'd like to work with other formats, there are also libraries to decompress 7-Zip, RAR & TAR.
-
When it comes to audio/video the trusted tool that is often used on the desktop is FFmpeg and this too has been ported to run in the browser, although if you want multithreading you will need to make sure you have special CORS headers enabled to gain access to the SharedArrayBuffer. For images on desktop there is the popular ImageMagick which indeed also has been ported.