4 ms·
Open standard? Dart is neither a standard nor designed in an open process.
by hasmoo 15y ago
Open standard? Dart is neither a standard nor designed in an open process.
- vetinari 15y agoJust like canvas tag, right?
- BrendanEich 15y agoI remember canvas in 2004, I demo'ed it in a Firefox prototype at Web 2.0 that fall. The development of the API took place on the very early whatwg.org, mailing list and even in a few face-to-face meetings (recorded to the list). It was IIRC based on PostScript level 2, or really an Objective-C API based on the PostScript-2 model, from Apple. But a bunch of others had early say in the wide-open (to members, and in terms of mailing list access) WHAT-WG on the exact API form and substance, and canvas evolved under this feedback years before it became a de-facto standard. It is still not a de-jure standard, as HTML5 isn't done yet. Perhaps Dart will evolve similarly, but I doubt it. Canvas was "easy" in that 2D graphics APIs (built into OSes, or portable ones such as Cairo) already existed and were a close-enough fit to the affine-transform-only 2D canvas API. Thus for most browsers, hooking up canvas was quick work, weeks if not days, modulo spec corner case fussing that dragged out for a while. In contrast, Dart requires either digesting the native VM source and learning to embed it (if not support it -- will other browsers just file bugs and wait for patches? doubtful), or else reverse-engineering it (some browser vendors have their own legal reasons not to use open source). And only then, once a VM of some kind has been minimally ported into a browser, would the work to integrate it with the DOM, JS, and any other languages which might have commerce among garbage collected heaps possibly begin. The last point means adding a cycle collector, which as Filip Pizlo of Apple points out here: https://lists.webkit.org/pipermail/webkit-dev/2011-December/018811.html https://lists.webkit.org/pipermail/webkit-dev/2011-December/... is likely to cost noticeable performance. This is a far cry from canvas, both in terms of standardization politics and intrinsic complexity (which mainly determines odds of cross-browser support). Hope I wasn't feeding a troll! This may be educational to some, anyway.
- vetinari 15y agoHello, thanks for the reply. Yes, I was a bit snarky in mine, but didn't intend to troll. I was just an user, when the canvas tag appeared. I remember, that it was available for Safari and Dashboard on OSX, and then later in other browsers. I also remember, that at the time, Apple started to assert patents on it. Dart's imlementation is harder, I also agree. However, what I see from Google at this stage is call for cooperation to shape the language, not something that is done and the others have to accept as-is. The call may be considered even more public than whatwg mailing list. And yes, I agree that the complexity of integrating another VM into existing engines may kill it in the end. I actually do not like some design goals of Dart, but I understand, that there is demand for Java-like language in browser and that there is impedance mismatch between Java/GWT on one hand and JS in browsers on the other, that Dart intends to solve.
- BrendanEich 15y agoDart is not just "harder" (a difference in degree), it is different in kind: a new programming language with a garbage collector, not a 2D graphics API that's close to one already available if not already in all browsers. Apple's origination doesn't alter this distinction between the nature of the two things, and Apple played fair once they contributed the work. Witholding patents when there was no WHATWG patent process or even a legal entity or membership structure was totally expected. The W3C has a patent protocol that Apple has used many times, and the w3c is where canvas has indeed landed as a Royalty-Free standard.