See also the warning here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
And this related article:
1,960 karma · joined July 18, 2011
See also the warning here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
And this related article:
https://www.pacemakerclub.com/message/33435/pacemaker-batter...
Also the specs are written to define observable behavior, and there's a fair bit of ambiguity that's UA defined, but to be actually compatible with the Web requires doing what Chrome does.
The good news is that you can look at the source of the 3 major engines (and Ladybird!) and your AI agent can do comparisons and figure out optimizations.
I have better luck telling it positive things rather than lots of "never do X" style things.
This might be faster in some benchmarks, but it's not really implementing the web.
I'm more optimistic about AI browsers based on Ladybird or Servo which are actually trying to pass WPTs.
https://austingil.com/animating-details-element-with-only-cs...
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/S...
The declarative actions API is currently only used for popover, but it's been discussed for over a decade to allow SSR of rich content that's interactive before script loading. See also https://developer.chrome.com/blog/command-and-commandfor
For a long time I also pushed back on these interactive APIs because script is a better primitive and every site seems to have quirky requirements. I've come around on it though because there's huge demand for SSR again and businesses are seeing the value in very fast TTI.
I do still think the date picker API is a disaster. Everyone actually needs something much richer than the system date picker. Travel websites want ranges. People want to put dots and day highlights. I wish they'd fix that next.
- we wanted hot reload
- it was supposed to feel familiar to web developers and reasonable to native developers
- iOS needed AOT compilation for speed since we couldn't use a JIT
- TypeScript had literally just reached 1.0
- Swift looked promising, but the Oracle lawsuit made the idea of using it tenuous
- Kotlin was not even 1.0 yet, that wouldn't happen for 2 more years
- Go made huge binaries. The language was also lacking features like generics and Go was unwilling to add them (remember this is 2014).
- v8 was not interested in AOT, but Dart was willing to dramatically invest in flutter
There were probably other reasons too I'm forgetting.
Dart was a really pragmatic choice to ship quickly. I have mixed feels about how the decision has aged over time, and wish we had things like Hermes and WASM back then, and a willingness to build a TypeScript compiler like other native frameworks (ex. Valdi)... But for the time I think the choice was reasonable.
I wish more companies would open source their monorepo infra. A well done monorepo is a huge force multiplier on a large organization, but the OSS world is lacking a lot of the infra so everyone starts from a painful place and works up or has a bad impression of monorepos. Google's Piper is another example where open sourcing or selling it would have done wonders for the industry. In an age of agents landing code very quickly piper has scaled very well since it was already at unimaginable commit velocity, meanwhile everyone else is trying to rebuild source control to keep up.
This seems to repeat the same mistakes of Go's built in JSON library where the ecosystem is full of workarounds and other libraries that are faster or have better features.
https://docs.cloud.google.com/kubernetes-engine/docs/concept...
https://cloud.google.com/blog/products/containers-kubernetes...
It's a pretty good name actually because it's unique, easy to Google, and is never ambiguous in conversation. It's all the suffixes that made a mess of it.
Yahoo had two failed attempts to acquire Google; in 1998, Larry Page and Sergey Brin approached Yahoo to sell their nascent search engine for $1 million, but Yahoo declined the offer.[37][38]
In 2002, when Terry Semel entered into negotiations to purchase Google. Google was reportedly seeking a price of $5 billion. After weeks of negotiation, Yahoo's final offer was $3 billion, a figure that Google's leadership rejected, leading them to terminate the deal.
https://en.wikipedia.org/wiki/YahooFor a JS engine that's Test 262: https://github.com/tc39/test262
For node that's its unit tests which are mostly JS: https://github.com/nodejs/node/tree/main/test
Node also runs the web platform tests too: https://web-platform-tests.org/
Bun has a similar large corpus of JS/TS tests: https://github.com/oven-sh/bun/tree/main/test
You're right about general purpose rewrites, but language runtimes are a lot easier.
On the application developer side k8s is awesome fo, but the you look inside the box and it melts your face off.
I'm not sure a middle ground exists unfortunately. It's either full service like Lambda or bag of knives like k8s.
It's like my ticket to add data url support to sheets. It just gets punted year after year.