The underlying renderer targets DOM Nodes. I'm not sure if I would say DOM Nodes === HTML or not. I think of HTML as the thing I write in .html files. but whatever, mostly semantics here.
I would disagree that debugger.html was written using modern web technologies. It was written using one web technology but rejects many others, like html written in html, the `<template>` tag, web components, etc.
You're basically saying no site/app is ever written using modern web technologies unless it forgoes any framework usage, using every "vanilla" browser feature where possible.
The HTML5 spec even says: "The DOM is not just an API; the conformance criteria of HTML implementations are defined, in this specification, in terms of operations on the DOM."
and: "[HTML] implementations must support DOM and the events defined in DOM Events, because this specification is defined in terms of the DOM, and some of the features are defined as extensions to the DOM interfaces."
This debugger is 100% web technology and describing it as "HTML", the rendering platform it targets, is 100% accurate. The fact that it's written using React does not change this in the slightest.
Yes, canvas is an HTML element and so would be an HTML app. You seem to be caught up on how much serialized HTML there is. The serialization is one tiny, tiny part of the HTML spec.
Ok, you consider a canvas app to be an html app. We simply don't define html the same way; you seem to define it as anything that runs in a web browser. I define it as a markup language.
Too far apart on this one, time for me to move on.
I think you've missed the point being made here. What's being said seems to be that regardless of how much scripting/API calls there are, if the base is HTML then it is HTML.
To paint this another way, let's say you have UI toolkit "X" which defines elements using YAML but also provides a programmatic API in your favorite programming language to add, remove, modify, or otherwise modify elements. Now let's say there is another UI toolkit "Y" which defines elements using XML but, like toolkit X, it also provides a similar API. Regardless of how many YAML elements you explicitly create you've used X and not Y, in fact you've used YAML and not XML. It doesn't really matter if >50% of your code is using the API or not, just that you've used some amount of YAML.
That's exactly the situation here: the existing debugger interface is using XUL and this new version is using HTML. Even if there wasn't a single line of HTML code, it would still be using the DOM to generate HTML and not XUL--and that's the distinction being made.
Web browsers are HTML engines, so almost everything that runs in [the document frame of] a web browser is indeed HTML. You cannot under any normal circumstances get a browser to execute JavaScript outside the context of a document – even in the Developer Console. You cannot create a Canvas (which is an element, as in HTML element) outside the context of a document.
That is why to create one you do:
document.createElement('canvas')
and there is no other way. `document`, by the way, being none other than:
> document.constructor
function HTMLDocument() { ... }
I would disagree that debugger.html was written using modern web technologies. It was written using one web technology but rejects many others, like html written in html, the `<template>` tag, web components, etc.