omnistreams-spec
caniuse
omnistreams-spec | caniuse | |
---|---|---|
2 | 395 | |
9 | 5,520 | |
- | - | |
0.0 | 9.5 | |
almost 3 years ago | 8 days ago | |
JavaScript | ||
- | 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.
omnistreams-spec
-
Server-Sent Events: the alternative to WebSockets you should be using
My personal WebSockets vs SSE TL;DR goes something like this:
* If you're on HTTP/2, start with SSE
* If you need to send binary data, use WebSockets
* If you need fast bidi streaming, use WebSockets
* If you need backpressure and multiplexing for WebSockets, use RSocket or omnistreams[1] (one of my projects).
[0]: https://rsocket.io/
[1]: https://github.com/omnistreams/omnistreams-spec
-
The WebSocket Handbook
I built omnistreams[0] primarily because of the lack of backpressure in browser WebSockets (lots of background information in that README). It's what fibridge[1] is built on. We've been using it in production for over 2 years, but I never ended up trying to push omnistreams as a thing. I believe the Rust implementation is actually behind the spec a bit, and the spec itself probably needs some work.
At the end of the day I think RSocket is probably the way to go for most people, though the simplicity of omnistreams is still appealing to me.
[0]: https://github.com/omnistreams/omnistreams-spec
[1]: https://iobio.io/2019/06/12/introducing-fibridge/
caniuse
-
Caniwebview.com – Like Caniuse but for Webviews
Can I X, is a question about the readiness/compliance of a certain thing at time = now. Can I use CSS version X was the iconic early meme.
https://caniuse.com/?search=css3
For a generalized example, if you wanted to know if the basketball courts were ready for you to “ball it up” in a certain city, it’d be caniball.com
If you want to know if you can use a certain frontend technology, the idea is like: canwefigma?
It’s a glorified feature matrix, and usually a project of a passionate community. I approve, even if some of the memes are a bit dank.
-
Caniemail.com (like caniuse but for email content)
https://caniuse.com/ is a popular tool to check what web features are working across different browsers - "can you use this and assume that it will work for others".
-
Time-Based CSS Animations
The article uses custom css @properties which are awesome and have 88% browser support [1].
One thing to watch out for is differences in how browsers handle setting the fallback initial-value. Chrome will use initial-value if CSS variable is undefined OR set to an invalid value. Firefox will only use initial-value if the variable is undefined. For most projects, this won't be an issue, but for a recent project, I ended up needing to use javascript to set default values in Firefox to iron out the inconsistency between browser implementations.
[1] https://caniuse.com/?search=%40property
-
CSS Text Box Trim
Safari is the only browser that doesn't support extending HTML element
https://caniuse.com/?search=Custom%20Elements
-
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
What are some alternatives?
editor - Collaborative text editor using operational transformations
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
overture - Overture is a powerful JS library for building really slick web applications, with performance at, or surpassing, native apps.
caniemail - Can I email… Support tables for HTML and CSS in emails.
wstunnel - Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available
postcss-preset-env - Convert modern CSS into something browsers understand
stable-socket - A web socket that reconnects.
modern-css-reset - A bare-bones CSS reset for modern web development.
dom-examples - Code examples that accompany various MDN DOM and Web API documentation pages
modern-normalize - 🐒 Normalize browsers' default style
Servo - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
WHATWG HTML Standard - HTML Standard