[Tfug] Adobe on Linux
Chris Hill
ubergeek at ubergeek.tv
Tue Apr 1 16:35:46 CDT 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