What is Adobe Flex? Is it just Flash II?

2019-01-12 15:52发布

Question

Alright, I'm confused by all the buzzwords and press release bingo going on.

  • What is the relationship between flash and flex:
    • Replace flash (not really compatible)
    • Enhance flash
    • The next version of flash but still basically compatible
    • Separate technology altogether
    • ???
  • If I'm starting out in Flash now, should I just skip to Flex?

Follow up

Ok, so what I'm hearing is that there's three different parts to the puzzle:

  • Flash
    • The graphical editor used to make "Flash Movies", ie it's an IDE that focuses on the visual aspect of "Flash" (Officially Flash CS3?)
    • The official name for the display plugins (ie, "Download Flash Now!")
    • A general reference to the entire technology stack
    • In terms of the editor, it's a linear timeline based editor, best used for animations with complex interactivity.
  • Actionscript
    • The "Flash" programming language
  • Flex
    • An Adobe Flash IDE that focuses on the coding/programming aspect of "Flash" (Flex Builder?)
    • A Flash library that enhances Flash and makes it easier to program for (Flex SDK?)
    • Is not bound to a timeline (as the Flash IDE is) and so "standard" applications are more easily accomplished.

Is this correct?

-Adam

标签: flex flash
22条回答
甜甜的少女心
2楼-- · 2019-01-12 16:04

Here's another simple view based on how you describe an application you want to develop.

Do you want it to have the highly granular UI capabilities you expect from a workstation (e.g. Windows) application, with a fairly complete set of controls (listbox, combobox, grid, etc.)?

Flex gives you that.

Do you want to deliver it to run in most browsers (i.e. anywhere Flash is installed/installable)?

Flex gives you that, because it runs in the Flash virtual machine.

Do you also want to be able to offer it to run in the OS, not in a browser (with minimal coding changes?)

Flex can give you that, by allowing you run it, not in the Flash VM, but instead in the Adobe AIR VM (which has versions for Windows, Mac, and Linux) which provides wrappers for common OS resources like the filesystem, OS dialog-box UI components (e.g. "Open/File/ etc.)

Are you OK using javascript as the development language? You need to be, because it's the only language supported, in the form of ActionScript, which is a proper superset of javascript - it accepts javascript code directly.

So the partioned pieces are:

  1. A runtime environment, either the Flash browser plugin, or the AIR runtime (the native OS equivalent).

  2. Actionscript as the development language.

  3. A bunch of libraries of controls and other resources, i.e. the typical Window, Frame, Combobox, Listbox, Image container, TextBox, TextArea, a wysiwyg-y RichTextArea, etc.) These are the province of Flex.

With the above resources alone, you can use the free command-line compiler to build applications in the same fashion as you would with any other command-line-compiler language with libraries.

Then, if you want a fancy IDE, there's Flex Builder, which is a set of extensions to good-ol' Eclipse (for several hundred $$). Or there are several other IDE's that are more or less equivalent.

查看更多
闹够了就滚
3楼-- · 2019-01-12 16:04

Flex is a framework FlexBuilder is an IDE (in an attempt to resolve the confusion between the 2, adobe is renaming FlexBuilder to FlashBuilder)

if you do not know what a Framework is:

Flex is to Flash as what CodeIgniter is to PHP

or like what .net is.

I like to think of a framework as extending a language like you would extend a class in OOP.

查看更多
劫难
4楼-- · 2019-01-12 16:04

Flash is a programming language rather similar to JavaScript but with support for static types.

Flex is a flash library that is intended to help people program in Flash on a much higher level.

It may be helpful to some to think about this as Flex over Flash being like MFC over C++.

查看更多
疯言疯语
5楼-- · 2019-01-12 16:06

What is the difference between Flex and Flash?

The way I keep it clear in my mind and explain it to others is as follows:

Choose the right tool for what you want to create.

If you want to write an APPLICATION using Flash technology, use Flex.

If you want to create an ANIMATION using Flash techology, use traditional Flash.

Flex is optimized for application construction (but you can create primitive animations using states) and it compiles into a SWF.

Flash is optimized for animation construction but you can also create applications with some extra work, and it compiles into a SWF.

Once you have your SWF you can play in your Flash player, although Flex requires Flash 9 or higher.

In conclusion

Application -> Flex -> SWF

Animation-> Flash -> SWF

Hope this helps.

查看更多
在下西门庆
6楼-- · 2019-01-12 16:12

Flex is basically a language that compiles down to a flash "movie" or "applet", that will run in the Adobe Flash player plugin.

查看更多
趁早两清
7楼-- · 2019-01-12 16:13

In very simple terms, Flex technology uses MXML to create applications. MXML is analogous to HTML and Flash components is analogous to something like form elements.

MXML basically allows you to specify what Flash components (such as a table, dropdown list, or something custom that you build in Flash) go on an application screen.

This is a very simplified answer, but that's how I tend to explain Flex.

(Flex Builder is an environment for you to develop Flex apps and Flash apps)

查看更多
登录 后发表回答