caniuse
wpt
caniuse | wpt | |
---|---|---|
393 | 20 | |
5,513 | 4,637 | |
- | 1.0% | |
9.5 | 10.0 | |
3 days ago | about 19 hours ago | |
JavaScript | HTML | |
Creative Commons Attribution 4.0 | GNU General Public License v3.0 or later |
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.
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
wpt
-
Show HN: Dropflow, a CSS layout engine for node or <canvas>
To reply mostly with my WPT Core Team hat off, mostly summarising the history of how we've ended up here:
A build script used by significant swaths of the test suite is almost certainly out; it turns out people like being able to edit the tests they're actually running. (We _do_ have some build scripts — but they're mostly just mechanically generating lots of similar tests.
A lot of the goal of WPT (and the HTML Test Suite, which it effectively grew out of) has been to have a test suite that browsers are actually running in CI: historically, most standards test suites haven't been particularly amenable to automation (often a lot of, or exclusively, manual tests, little concern for flakiness, etc.), and with a lot of policy choices that effectively made browser vendors choose to write tests for themselves and not add new tests to the shared test suite: if you make it notably harder to write tests for the shared test suite, most engineers at a given vendor are simply going to not bother.
As such, there's a lot of hesitancy towards anything that regresses the developer experience for browser engineers (and realistically, browser engineers, by virtue of sheer number, are the ones who are writing the most tests for web technologies).
That said, there are probably ways we could make things better: a decent number of tests for things like Grid use check-layout-th.js (e.g., https://github.com/web-platform-tests/wpt/blob/f763dd7d7b7ed...).
One could definitely imagine a world in which these are a test type of their own, and the test logic (in check-layout-th.js) can be rewritten in a custom test harness to do the same comparisons in an implementation without any JS support.
The other challenge for things like Taffy only targeting flexbox and grid is we're unlikely to add any easy way to distinguish tests which are testing interactions with other layout features (`position: absolute` comes to mind!).
My suggestion would probably be to start with an issue at https://github.com/web-platform-tests/rfcs/issues, describing the rough constraints, and potentially with one or two possible solutions.
-
The Ladybird Browser Project
It also helps that there are tests
https://web-platform-tests.org/
-
Making Web Component properties behave closer to the platform
You can see how Mozilla tests the compliance of their built-in elements in the Gecko repository (the ok and is assertions are defined in their SimpleTest testing framework). And here's the Web Platform Tests' reflection harness, with data for each built-in element in sibling files, that almost every browser pass.
-
We're building a browser when it's supposed to be impossible
We have our own test suite (orginally derived from the test suite of Meta's Yoga layout library [0]) which consists of text fixtures that are small HTML snippets [1] and a test harness [2] that turns those into runnable tests, utilising headless chrome both to parse the HTML and to generate the assertions based on the layout that Chrome renders (so we are effectively comparing our implementation against Chrome). We currently have 686 generated tests (covering both Flexbox and CSS Grid).
We would like to utilise the Web Platform Test suite [3], however these are not in a standard format and many of the tests require JavaScript so we are not currently able to do that.
[0]: https://github.com/facebook/yoga
[1]: https://github.com/DioxusLabs/taffy/tree/main/test_fixtures
[2]: https://github.com/DioxusLabs/taffy/tree/main/scripts/gentes...
[3]: https://github.com/web-platform-tests/wpt/tree/master/css/cs...
-
What new CSS and JavaScript features can we expect soon? Or is it all unexpected?
The metrics are based on the passing rate for the web-platform-tests (WPT) project, the automated test suite for web standards. The completion rate is categorised as either stable, or experimental. There is no definition of what experimental entails, presumably features that are behind experimental flags are included. Stable is better to go off in any case.
-
[AskJS] MSE quality resources
Depends on what you are trying to achieve. You can run WPT MSE https://github.com/web-platform-tests/wpt/tree/master/media-source and WebCodecs https://github.com/web-platform-tests/wpt/tree/master/webcodecs tests manually to learn by doing.
-
Rookie question: How do I know I am making progress with my JS learning?
Manually running the tests in Web Platform Tests should keep you busy.
-
Browsers Running Old JS Engines
Not sure what you mean? I referred to Web API's, which generally means Web platform API's; that is Web platform API's tested by Web Platform Tests https://github.com/web-platform-tests/wpt.
-
State of CSS
If you want CSS to be the same across browsers then help implement CSS tests and file bugs
https://www.w3.org/Style/CSS/Test/Overview.en.html
https://web-platform-tests.org/
better specs are great, but tests will actually find the edge cases and lead to more convergence.
-
How do I go about learning advanced DOM manipulation with vanilla JS?
Run all these tests locally https://github.com/web-platform-tests/wpt/tree/master/dom.
What are some alternatives?
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
browsh - A fully-modern text-based browser, rendering to TTY and browsers
caniemail - Can I email… Support tables for HTML and CSS in emails.
firefox-ios - Firefox for iOS
postcss-preset-env - Convert modern CSS into something browsers understand
linkedom - A triple-linked lists based DOM implementation.
modern-css-reset - A bare-bones CSS reset for modern web development.
firefox-user.js-tool - Interactive view, compare, and more for Firefox user.js (eg arkenfox/user.js) + about:config functions
modern-normalize - 🐒 Normalize browsers' default style
ioccc - My IOCCC submissions and practice.
Servo - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
WebKit - Home of the WebKit project, the browser engine used by Safari, Mail, App Store and many other applications on macOS, iOS and Linux.