uPlot
caniuse
Our great sponsors
uPlot | caniuse | |
---|---|---|
18 | 388 | |
8,452 | 5,499 | |
- | - | |
8.5 | 9.5 | |
24 days ago | 4 days ago | |
JavaScript | JavaScript | |
MIT License | Creative Commons Attribution 4.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.
uPlot
- Small and fast 2D canvas chart for time series, lines, areas and bars
-
Rendering data that changes very frequently
Here is a very efficient 2D canvas lib that is extremely efficient https://github.com/leeoniya/uPlot i recommend looking through their readme and seeing if it solves your current problems.
- Graphing Libraries that are as good as Excel?
-
Show HN: Inflation-adjusted stock charts – Total Real Returns
BACKEND:
It's about 3000 lines of Crystal code https://crystal-lang.org/ -- it's been an absolute dream to program in. Ruby-like syntax, statically compiled performance. Nice standard library. Would recommend :)
Performance == caching
Local ephemeral filesystem for shortest-term caching.
Redis for shared medium-term caching and locking.
S3-compatible object storage for longest-term caching (for raw data feeds pulled every evening by a cronjob).
FRONTEND:
Bootstrap
uPlot https://github.com/leeoniya/uPlot
Just a sprinkle of inline JS+CSS on the page.
-
It's always been you, Canvas2D
you can use matchMedia to detect devicePixelRatio changes and re-sync:
https://github.com/leeoniya/uPlot/blob/190134aa844cfa2a0c052...
everything stays crisp even as you browser-zoom. e.g. https://leeoniya.github.io/uPlot/demos/area-fill.html
-
AMP Has Irreparably Damaged Publishers’ Trust in Google-Led Initiatives
Safari's slow release cadence (typically tied to OS version upgrades) does leave it more broken and for longer than Firefox, Chrome, Opera and other browsers that are updated more frequently and not tied to the OS.
just recently i ran into incompatibilities with Safari < 14 needing the old-spec matchmedia api:
https://github.com/leeoniya/uPlot/issues/538#issuecomment-87...
-
JS library for graphing huge amounts of data
uPlot will handle this. https://github.com/leeoniya/uPlot
-
WebGL charting libraries
If you are showing 100s of thousands of points, I'd still go with canvas eg uPlot. It's a really, really excellent library.
-
[task] Program uplot support into node-red-dashboard (javascript)
The existing node red chart tools is not great. I'd like to be able to use uplot instead. The uplot-charts node should work very much like that charts node built into node-red-dashboard.
-
Optimizing at the CPU instruction level in the browser w. Rust and WebAssembly
super cool!
i've done my share of optimizations and benchmarking charting libs [1] but this goes deeper still.
SVG is not a good choice for large raw datasets when you need performance.
[1] https://github.com/leeoniya/uPlot#performance
caniuse
-
JavaScript is not single-threaded
You forgot to mention (Web)Workers. This is explicit creation, management, and communication with additional threads within JavaScript. What's more, they've been around in JavaScript longer than the V8 engine has even existed!
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers...
https://caniuse.com/?search=webworkers
- Show HN: Render audio to HTML canvas using WebGPU
-
Tree-shaking, the horticulturally misguided algorithm
Do you happen to know where can I check out the cutoff version for each browser? https://caniuse.com/?search=wasm doesn't have it (or other things like WasmGC for that matter)
- Le saviez-vous ? :focus :focus-within :focus-visible
-
10 Websites Every Web Developer Should Bookmark
(https://caniuse.com/) A handy tool for checking the browser compatibility of HTML, CSS, and JavaScript features. Can I Use provides up-to-date support tables for various web technologies across different browsers.
-
SASS is dead? CSS vs SASS 2024
Caniuse
-
Free Resources Every Web Developer Should Know About
Can I Use (https://caniuse.com/)
-
Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness
> Is it though?
In my experience it's the buggiest browser out of the big three, and is often missing basic features like e.g.:
https://caniuse.com/?search=opus
Supported in Firefox for *12 years* now, in Chrome for 10, still no support in Safari.
They only "support" Opus audio in their special snowflake '.caf' container, which is super buggy and the last time I checked no open source program could even generate Opus '.caf' files that could be played by Safari on all Apple platforms. I ended up writing a custom converter which takes a standard '.opus' file and remuxes it on-the-fly (I only store '.opus' files on my server) into Safari-compatible '.caf' files, taking special care to massage it so that it avoids all of their demuxer/decoder bugs. You shouldn't have to do this to have cross-browser high quality audio!
-
Streaming HTML out of order without JavaScript
Well I'll be! In my mind I had this clear picture of Firefox implementing it.
It correct, it was only Chrome: https://caniuse.com/?search=html%20import
-
IPissed: Apple is after web capabilities to protect close to 100B App Store Tax
https://caniuse.com/?search=web%20bluetooth
which might be great because you have the choice...
and you can use open source chromium or brave (like the jvm to run cross platform java) to run web apps seemlessly that need web bluetooth or such but use safari or firefox for personal use if you find them more secure
I mean using chromium engine as the running environment where chromium only ever runs special trusted web domains and never goes to other "malicious" web domains that may fuck up iOS as Apple claims would be still a secure choice
like you will not download spyware from Apple Store because you are an adult not because Apple can protect you there
What are some alternatives?
PlotJuggler - The Time Series Visualization Tool that you deserve.
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
caniemail - Can I email… Support tables for HTML and CSS in emails.
Charts - ⚡ Laravel Charts — Build charts using laravel. The laravel adapter for Chartisan.
postcss-preset-env - Convert modern CSS into something browsers understand
laravel-recharts - A Laravel package for using the Recharts charting Library. Docs: https://kaishiyoku.github.io/laravel-recharts
modern-css-reset - A bare-bones CSS reset for modern web development.
TimeChart - An chart library specialized for large-scale time-series data, built on WebGL.
modern-normalize - 🐒 Normalize browsers' default style
network-weathermap-prometheus-datasource - attempt to add prometheus as datasource for network-weathermap
WHATWG HTML Standard - HTML Standard