Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I want to learn Flash Builder 4 (Flex) because I see so many jobs requesting experience with it. I also just like knowing stuff. I am also very interested in focusing on RIA development now.

BUT... can anyone tell me CLEARLY why the heck I would ever use FLEX over Flash Pro? It is a time investment, so is it worth it?

All I read are misguided posts about how Flash Pro is for games and banner ads, and Flex is for programmers and RIAs blah blah... this simply isn't so from my 9 years of contracting experience. I'm 99.9% certain that I can build anything a flex developer can build, but using Flash Pro. I can build powerful AS3-driven apps for the desktop, mobile device, or browser, and I can link to databases with XML and I can import text files and communicate with ColdFusion and everything. The advantage with Flash Pro is that I can also easily and clearly animate transitions and build custom elements that look the way I want/need them to look for my specific client.

Why would I want to use a bunch of pre-built components that drive my file sizes to the moon? Who is happy with a drag-n-drop button? Is Flex just a thing made for programmer people with no artistic inclination? What is the advantage of using it? It takes me back to Visual Basic class. Seems like a pain to have to use multiple tools to import crap from Flash Pro into Flex and yada yada... why when I can do it all nicely in Flash Pro to begin with. Am I clueless, or missing some major piece of the puzzle?

Thanks for any clarity. PS, I couldn't care less about the code editors. It ain't that bad people. They make it out like the thing doesn't even respond to keyboard input or something. Does everything I need it do anyways. Please help out here. If I just don't need to learn it, I don't want to waste the time.

share|improve this question
add comment

migrated from superuser.com Mar 14 '11 at 6:04

This question came from our site for computer enthusiasts and power users.

4 Answers

It sounds like you've already made your decision as to what you're going to use, but I will try to answer your question anyway.

I built a large-scale, high-transaction templated website platform that supports multiple UI layers, each of which is expected to perform bug-free yet also meet strict design and animation guidelines. The first UI layer was built in Flash, the next in Flex, and the current rendition is HTML, so I have experience in the field you're talking about.

I found that it was easier to make silly programming mistakes in Flash, and that I spent a significant amount of time just trying to get nuts and bolts working together across the system. I was able to build everything, but it always took longer than other programming environments.

With Flex, many of the data components are built in, with the tradeoff that you mentioned of filesize. You can of course still build your own custom components, or quite possibly skin an existing component in much the same way that you can in Flash.

There is a significant learning curve to either one of these languages that cannot be underestimated. If you already know one, and are productive in it, and have something that needs to be done quickly, you should probably stick with it. However, I personally think it's always best to investigate alternative methods of doing something over the long run, even if you have a bias towards a perceived competitor.

I will challenge you with this: if you need an actual RIA, complete with datagrids, or charting, or basically anything more than a form, you should learn Flex. Sure, you can reinvent the wheel, and that's great for learning, but at this point in my life I see that as cruft that gets in the way of me designing solutions for the real problems at hand.

share|improve this answer
add comment

What you really need to answer is what type of project are you working on?

Are you building an application? Here are some examples of when people use flex:

Good luck building any of these in Flash. It will take FOREVER. You could do it, but you wouldn't want to. Flex was setup from conception to meet developer's needs when building applications. Flash on the other hand was meant to do animations with interactions.

Are you building games/banner ads? If yes, then stick with flash. If not, then better learn Flex, and you'll see why. There is a lot more demand for Flex BTW :)

share|improve this answer
add comment

I can relate as a multimedia developer coming from a design environment, although I have a background in programming from years back, so I may be coming at this from a different angle. I started out in Director, back in the early 90s, and fell in love with Lingo, and how it combined the scripting like you see with Flash today (scripts attached to objects and frames) with a more programming-like "compiler" script (the "Movie Script") where all of your functions were defined under event handlers. This appealed to both my "design" side and my "programming" side. As Flash began edging Director out, I just couldn't get into it that much. I felt it was a watered-down version of Director, so I directed my attention toward learning PHP and database administration.

Fast-forward 8 years, and I'm now learning Flash Builder 4.5, and it is absolutely WONDERFUL! First off, I'll mention that FB4.5 and Flash Pro are meant to work TOGETHER. For more on this, check out Lee Brimelow's tutorials (particularly the one on Iso3D) at http://www.gotoandlearn.com/

If you want to get involved with any serious, enterprise-level or web site that's going to need to tie in to a large integration with a corporate site, you're going to need to approach the project from a programming perspective, not an animation perspective. You can do all your magic in Flash Pro, certainly. But once you use Flash to it's full potential as an animation and design program, you can then import that work, in it's entirety, into Flash Builder, and open up a whole new world and ease-of-use when it comes to data integration and adding classes and using Skins and CSS to easily create alternate versions, or more practically, use boilerplate templates to "assembly line" your production.

So I would suggest getting at least the basic version of it (the 60 day trial is plenty of time to check it out), and hitting the Adobe Flash Builder Developer Connection pages, they've got some quick-start tutorials that are great (http://www.adobe.com/devnet/flex.html). If nothing else, think of it this way: Learning the basics and demonstrating this with a simple Flex portfolio page will get you an interview for a Flex developer job. Your killer Flash AS3 work will secure you the position. And your ability to do great graphics/animation AND work directly with the programmers and network people will fast-track you for management. Good luck! ;)

share|improve this answer
add comment

It is more of a management decision.Involving costs both perceived long term and short term. I do get where this is coming from , having worked over 5 years with flash pro. I am inclined to stay in touch with flex purely for commercial reasons.

Few factors:

  • Time and the actual quality/detail needed for development.
  • Flash Builder being based on eclipse offers a lot of nifty profiling/debugging options allowing for easier optimization/refactoring.
  • A lot of the currently popular frame works are based on Flex and there are lot more frameworks for flex than for flash.
  • A perceived Security layer when compiling your swf through Flex.

Here is a discussion on SO Flash versus Flex

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.