5 ms·
I'm an Actionscript developer by profession, and having recently moved into Flex work I can strongly recommend both the Flex framework and Flex Builder -- at le
by iron_ball 18y ago
I'm an Actionscript developer by profession, and having recently moved into Flex work I can strongly recommend both the Flex framework and Flex Builder -- at least, if you choose to create content for the Flash Player at all. The programming model is worlds ahead of what Flash developers have been putting up with for the past decade; they made clear and effective efforts to make it work like the languages, frameworks, and systems professional developers are already familiar with.
Since Actionscript 3 has optional static typing, and contains little-documented but very real implementations of closures and functional programming, it can be written as a Java-like OO language, as a Javascript-like dynamic language, or as a clunky but at least workable functional language; and the XML-based GUI-layout component, MXML, is surprisingly powerful and consistent.
Even though Flash is where my paycheck comes from, I am not at all convinced that it is the ideal format for most web content, so I won't argue with anyone who hates it. But anyone who has avoided Flash because of its programming model should definitely give Flex a second look.
(As for Flex Builder, I use it for its debugger and compiler, while doing heavy-duty text editing in jEdit. I mean, it doesn't even have parenthesis balancing, for chrissake.)
- snorkel 18y agoPlease tell me that all those crazy redundant type declarations I see in AS3 code is optional too? IMHO AS1 started as a broken but usable language then AS2 and AS3 came along and added layers of Java-style bureaucracy for no good reason. AS should've been more like Javacsript with simple duck-typing and first order functions, etc. Flash developers are web developers who know and understand Javascript. Why on earth AS3 has to become so different then Javascript is beyond me.
- bporterfield 18y agoActually, ActionScript can be an extremely elegant and powerful language, when coded "correctly". The vast majority of Flex developers come from either a design or Java background, and as a result you find that most ActionScript RIA code adheres to strict application frameworks, static typing, etc...and rarely takes advantage of the interesting parts. ActionScript has first-order functions, allows for dynamic typing, and utilizes class as well as prototype inheritance, even for built-in classes. This means you can do neat things to the prototype object associated with any object - even the Function object itself. Just because the majority of people developing in ActionScript don't utilize the functionality doesn't mean it doesn't exist! Take a minute to look into the language yourself - you might be very surprised.
- iron_ball 18y agoDefinitely. I sat in on a Flash user group meeting last Wednesday (shouts to any FlashcodersNY folks), where Alan Shaw gave a fascinating presentation on prototype-based inheritance in AS3. One of the tricks he showed off involved having one class add methods to the prototypes of other classes at compile time -- to get the same effect with the Java-like static-typed OO that AS3 <i>appears</i> to encourage, you'd need a veritable bouquet of Command and Factory structures. Instead, sprinkling a little prototype stuff in among the traditional OO allowed this particular trick to rest all in one class. The same thing applies in a lot of areas of AS3 -- you can write a GoF-y 2001-Java-looking app with self-documenting code and doc comments and blah blah blah, and then if it's convenient, you can ALSO use first-class functions with currying and all that geek stuff for statements like (just an abstract example): newArray = oldArray.map(convertFrom(value)).map(applyTransform(transformParams)).reverse().filter(namesFromLanguage(Language.GERMAN));
- jamongkad 18y agoOh that is fascinating. I just recently installed Haxe on my Ubuntu a few hours ago. Hacked a swf after reading the documentation. (Which I believe is lacking.) Do you know of any good Haxe tutorials for a newb in ActionScript land?
- iron_ball 18y agoI'm afraid I don't know anything about haXe; it doesn't matter if it's a superior language if it makes it harder to collaborate with non-haXe Flash developers and to use Adobe tools such as the Flex SDK.
- rtf 18y agoIf you hate having redundant types, I highly recommend using haXe. It has type inference by first-usage so in most cases you don't need to specify any type. If you want to get around the type system it has untyped{} code blocks, casts, and the "Dynamic" type, all of which throw type safety over to the runtime interpreter.
- gb 18y agoThere's also FDT, an Eclipse plugin that makes Flex Builder look like a joke in terms of how it deals with Actionscript code. I don't know what it does with MXML though, and haven't tried the debugger in it either (I don't have the so called enterprise version).