Some of my recent clients, who I had done PHP or Django work for, asked me if I had any Flash (or Flex) development experience and of course my answer was no. Since I’ve been a Server-end programmer, it’s been a challenge as it is, to add to my “skill-belt” things like hard core Javascript (and a lot of that was gaining competency in jQuery), CSS, and HTML
Consequently, though, I’ve still decided to go ahead and add Actionscript (which lets you do Flash or Flex programming) to my stuff-I-know list (in between other work).
To sum up reasons:
- Clients. Obviously, businesses themselves, of course, who have the need for expertise and are hiring for it.. Though there is a lot of demand for Server-end stuff, it would be nice to take on Flash development projects as a change of pace. (and Resume strengthening for a 9-5 which I prefer)
- Object-Oriented Language. Since making my way through 2 books on ActionScript. 3.0, I’m convinced Adobe wanted this to be a serious developer’s language. The changes to 3.0 from 2.0 are extreme - there is OO-ness up and down and sideways. ActionScript 3.0 even added the Interface, aside from the usual Object Oriented entities like classes and access modifiers.
- Adobe AIR applications. Being able to load up an application outside of the browser, is nice, especially when you could write an application with a little sliver of a main window that allows you to connect to your live Database on the Internet and make a quick transaction, or similar.
A major benefit of being able to load an app outside of the browser is reducing the chances of crashing your browser, especially when you’ve got stuff going on in each tab, such as being in the middle of editing a blog, and being in the middle of an Internet purchase in an other, etc.. If the AIR app goes down (which I haven’t seen before, but you could get bad data that brings it down), the rest of your in-progress stuff doesn’t go with it. (I’m thinking it’s a good idea, also, to address any A.D.D. issues that cause you to leave undone stuff in multiple tabs)
- The sleak feeling of this language - it feels like Java, but without the excesses of some of the Java ways of doing things. (I only had brief exposure to Java when I had written a Java desktop-based app as a desktop companion to a palmpilot application about 8 years ago)
- Immunity from Cross-browser issues. If there is an application that warrants writing it in Flex, as opposed to just writing the front-end in the usual XHTML/CSS, you get the benefit of consistent behaviour, due to the Flash runtime (i.e. the Flash player) taking care of the U.I. and the player doesn’t care what browser you’re using, so there’s no having to write different code for each browser. (think I.E. 6).
Note: The new HTML5 is supposed to be the magic answer to how to deliver animation, etc.. over the Internet, however can we count on all of the different browsers complying to the standard so that there will be no breakage? Don’t know.
By the way, a good thing about starting as a brand new developer with Flash/Flex is that you don’t need to purchase any of the expensive Flash IDE’s or the newer Flex Builder from Adobe, since Adobe released the free SDK.
You can just
- download the free SDK from Adobe
- download the excellent open source FlashDevelop
- install some free debugging aids, such as debug flash players that give you error feedback
An excellent page on steps to go about equipping yourself for A.S. development:
So you wanna go AS3 for Free?
Here’s a summary of how Flex differs from Flash:
Flex is written with Actionscript 3.0 and an XML-based language called MXML.
Flash can just use A.S. and that’s it.
What makes an application Flex, primarily, is the usage of the components in the Flex library.
If you want to write a business-oriented type front-end, such as a Grid form listing employees that come from a back-end database, complete with editing controls, etc, you want to do Flex. Flex gives you access to all of the dropdown’s, lists, forms, etc.. that you need. It’s more business, less animation.
.. but if you want to create a game, or some kind of animation, such as for a menu.. to add glitz to a site, then you’d be doing Flash. Instead of using an MXML file as the main application file, the main file that serves as the starting point would be an *.AS file, (yep, that stands for ActionScript)
Other helpful ActionScript sites:
http://www.senocular.com
http://www.kirupa.com
If you want to go through a week-long video-based training, completely free, go to:
www.adobe.com/devnet/flex/videotraining/.
You can use Adobe’s official IDE to actually run the exercises. Just click on the “Try” link where it says “Flex Builder 3 Try/Buy”.
Forgot the book section:
Essential Actionscript 3.0 is the second book I bought, and the required one for anyone on their way to either Flash or Flex programming.
(The first one I bought, Learning Actionscript 3.0 by Shupe is great too, but only if you are an owner of the Flash IDE - something I figured out only after Amazon delivered that particular book to me).
2 Books on my to-buy List are: Flex Cookbook and Programming Flex.
10/28 Update: Working on my first app, which can be seen at
www.lucidrhino.com/flexapp