Browsers can do that?

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • daedalOS

    Desktop environment in the browser

  • 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.

  • v86

    x86 PC emulator and x86-to-wasm JIT, running in the browser

  • 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.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • WASM-ImageMagick

    Webassembly compilation of https://github.com/ImageMagick/ImageMagick & samples

  • 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.

  • JSZip

    Create, read and edit .zip files with Javascript

  • 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.

  • pako

    high speed zlib port to javascript, works in browser & node.js

  • 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.

  • three.js

    JavaScript 3D Library.

  • 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.

  • fflate

    High performance (de)compression in an 8kB package

  • 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

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ruffle

    A Flash Player emulator written in Rust

  • 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.

  • libarchivejs

    Archive library for browsers

  • 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.

  • ffmpeg.wasm

    FFmpeg for browser, powered by WebAssembly

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts