[Tfug] Adobe on Linux

Chris Hill ubergeek at ubergeek.tv
Tue Apr 1 14:35:46 MST 2008


Just want to clarify some points you made. My fear is that your errors 
may propagate and turn into FUD, etc.

Robert Hunter wrote:
>
> "...animation can be powered by either Flash or Javascript."
>
> Red herring!  Flash is based on ECMAScript, so distinguishing it from
> Javascript has very little linguistic value.  Furthermore, Javascript
> animation is quite limited in comparison too Flash, therefore this
> statement has little functional value.
>   
ActionScript 3, not Flash, is based on ECMAScript 4.0. ECMAScript 4.0 is 
NOT conventional Javascript, which is more like ECMAScript 3 (which uses 
a prototype-based inheritance chain with no strong typing). The 
differences between ActionScript 2 and 3 and the current version of 
JavaScript (3.0) is huge. When I say huge I mean:

packages
classes
run-time type checking
compile-time type checking
OOP
exceptions
e4x (xml query language)
xml as a primitive data type
more!

The only thing that I think AS3  is missing from a language viewpoint is 
generics and parameterized function overrides.
> "AIR apps also gain ... direct read-write access to the computer's file system."
>
> Right about now, you should be hearing alarms and sirens.   The
> inability of web-based applications to read/write your file-system
> willy-nilly is not a technical limitation, but rather a security
> mechanism.  You can, in fact, grant certain applications, such as Java
> applets, permission to do so, but this is not default behavior.
>
>   
AIR/Flex/Flash's security model is becoming more complex for the 
developer, but there is not ANY ability to read/write to the user's hard 
drive except for Flash's 'cookie'. Flash's cookie is called SharedObject 
and is up to 140KB of space in the ~/.macromedia/ folder if you're curious.

AIR, on the other hand, is a runtime outside of the browser, and that 
CAN read/write.

I'll try to break it down:

Flash Player - The normal flash player you love/hate/lovetohate. Lives 
in a secure browser ecosystem. Can play videos, games, and applications 
such as Flex apps.
ActionScript 3 - A version of ECMAScript used in Flex/Flash/AIR.
Flex - An application framework written in ActionScript 3 that uses the 
Flash Player.
AIR - An application framework that extends the Flex framework that uses 
the Adobe Integrated Runtime instead of the Flash Player. Can do what 
normal applications can do, as it does not live in a secure browser 
ecosystem.

So the thing that this article is very bad at explaining is this:

They talk about AIR being web-enabled applications. This doesn't mean 
AIR exists in Firefox. It means it can just communicate with the web, 
just like any other application. BUT what Adobe is counting on is that 
there is a plethora of Flex developers that are foaming at the mouth to 
take their web applications and convert them to standalone applications 
with extended functionality. And AIR allows you to do this with 
staggering ease.

Say I'm Joe Flex, a Flex application developer. I create a startup and 
build a photo editor on the web. Awesome! But...its on the web. What if 
I want to just save a file to my hard drive? I can't do it easily. And 
so Joe Flex's app gets thousands of users, and they all really like it, 
much better than the Gimp. But they want to use it offline, too. So 
what's Joe Flex going to do, rebuild the app in Java? With AIR the idea 
is to extend your standard Flex Application as a NativeApplication, and 
use the extended AIR api on top of the Flex api. So Joe Flex builds an 
AIR version, adds a Save... command, and he's done.

Thanks for your kind comments about our writing abilities. Back at ya. 
Hope my clarifications are helpful!
C




More information about the tfug mailing list