Administrator
|
The recent fight between Apple & Adobe over Flash on the iPad (&
iPhone/iTouch) got me looking into the Flash architecture once again. You'd think its simple but it is not. I'm writing this partially to get others to clarify for/with me the differences between Flash, Actionscript, Javascript, AIR, and so on .. its not as clear as one would think. Please toss in your understanding. Here goes my shot: Macromedia had two stunning technologies, Flash and Shockwave, Flash being the junior of the two, and mainly used for those not needing the sophistication of Shockwave. But the simplification became the more popular of the two .. note SWF media files are ShockWaveFlash. Flash needed scripting and a variant of Javascript was chosen, called Actionscript. It, however, is NOT Javascript: - It uses its own Virtual Machine rather than being source, thus not being interpreted where used. - It definitely extends Javascript in areas making it completely incompatible with existing Javascript interpreters. It has classes and many Java notions such as "private" and so on. - It appears to depend on the VM having a lot of platform specific C libraries which manipulate the devices such as cameras and other driver level resources. Adobe bought Macromedia, thus Flash et al, in its desire to be the web application environment of choice. Note they got Dreamweaver in the deal. Thus the fight with Apple is considerably more subtle than it may seem. Note: Google *has* accepted Flash for Android, via the Adobe AIR system which very cleverly builds "desktop/phone/tablet" applications using HTML/XML, Javascript, CSS, and naturally Flash. The cool idea is that you can use widely understood web tech to build stand alone applications. A Good Thing, unifying web and desktop developer communities. However, I am uncomfortable with where this is going: - Javascript has been incredibly stable and standard for quite a while, and the separation of the language from its interpreter a good thing: it puts it in the same class as HTML/CSS. - Today's Javascript libraries, like jQuery, Prototype etc, are all open source and delivered, via URL as well as local files, as Javascript source. They run in all Javascript environments .. mainly the browser but also on the desktop or phone. - Actionscript does not have this open aspect, it uses a VM that needs to be installed, and cannot use Javascript frameworks. Adobe is not a "friendly". They are driving a wedge into the standards world which I find uncomfortable. They are not Javascript even though they claim to be. And for the vast majority of browser Flash usage, Apple's HTML5/CSS/Javascript + standard media (part of HTML5) story seems compelling .. simply make the Flash media formats open standards. Adobe is taking some steps towards the open source community with AIR, an Eclipse based IDE. But the underlying tech is definitely closed and as far as I know, not on a standards track. So I see Apple having a reasonable concern. -- Owen ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org |
Free forum by Nabble | Edit this page |