|
|
|
|
|
by chrismorgan
2 days ago
|
|
And that concept was bonkers, proof conclusive that he had lost the plot—if his involvement with and endorsement of canvas-only Flutter wasn’t proof enough—and should be ignored completely until he comes to his senses. The obvious benchmark would be: can you implement an HTML/CSS/JS browser inside this environment and have it behave identically to the browser’s own HTML/CSS/JS? And the answer is: not a chance. WASM + WebGPU + ARIA + WebHID is simply not enough. Browsers provide a lot of functionality in ways that web content cannot see or interact with. Some of it could be mapped, other parts of it never can be, for security/privacy reasons. And the more you want to map, the bigger your spec gets, until you’ve added every diverse feature from every OS to the web’s API surface—and then you stop browsers from adding new functionality, too. Some examples of things that can’t be implemented in web content (most fundamentally, one or two merely currently): Native text rendering in this WebGPU world. Links with all their functionality. Native font preferences. Text selection and its interactions with native platform functionality (including things like context menus). Native scrolling behaviour. The browser as a compositor (important for things like scrolling and video performance). Browser extensions (the user agency part of that first scathing comment). |
|
But in practice I don't think either is especially critical. You can already do pretty much what I suggested just by running the Wasm code against WebGL in a stub HTML page; it hasn't stopped people from creating such things (e.g. Google Docs, Figma, Flutter, etc). The core thing I proposed was allowing the inversion of the architecture so that the Wasm code could be a top-level resource the same way text/html and application/pdf are today. Sure, it could be improved in time by allowing some of the things you list, but that doesn't mean it wouldn't be useful today. The perfect is the enemy of the good, and all that.