1 person found this helpful
Dreamweaver is primarily for HTML development, and Flash is primarily for timeline based Flash animations and potentially nightmarish Flash applications (because applications are not inherently timeline based.
Flex is event based, and its support for HTML is weak, unless you create AIR desktop apps.
That said, you don't need HTML in Flex text based controls using the htmlText property to create a great UI. Flex has many controls that will give you a great UI.
Flex has no server side technology, except for LCDS (LifeCycle Data Services), but that is really just a bridge to your server-side technologies like PHP, ColdFusion, Java, etc.
If you will be creating web sites with smaller animations, Dreamweaver / Flash is probably better. If you want to move up the food chain, and offer more useful components in your web pages, or fully featured RIA, Flex is the technology to use, unless you are great at .NET programming and are highly adverse to learning another language, then Silverlight may make sense.
I believe Flex will be huge in the next 3 - 5 years, and will be a great skill to have for 5 - 12 years, and may offer opportunities for those who master it.
You do have a point when you are saying that HTML is not cool because HTML pages are displayed differently from browser to browser ( since each company that launches a browser usually does not give a darn about standards... they implement their stuff the way they think it's cool and there you go, problems, over problems, over problems when someone simply wants to get an even more simple HTML page to display correctly in both FireFox, Chrome, IE and so on ).
This si one of the reasons I choose Flash when I start "my stuff" as a freelance web developer, I simply loved the fact that whatever I create in Flash will look the same in any browser, on any PC and now, on any OS. A few years have pased since then and now, I'm developing more complex applications in Flex and AIR and all can I say is that I'd never change ActionScript 3.0 for another language as long as it exists.
Performance vise, Flex Builder is no where near Visual Studio and nor is ActionScript 3.0 close to C# but how can we compare a giant like Microsoft with a smaller company like Adobe ( Microsoft definitely has the advantage of "software experience" while Adobe has the advantage of "use experience" - both of the companies being cutting edge in their fields ).
By the way, no, Flex is not a server-side something; it has to do with the client side. Flex is usually used together with server-side technologies like PHP, ASP.NET or ColdFusion to create truly "Rich Interactive Applications". It's definitely more fun to create a GUI in Flex than HTML or whatever else you prefer, not only you have the guarantee that your application will look the same on any machine but at the same time you are learning programming ( something that you don't do with HTML ).
If you are not into RIA ( Rich Internet Applications ), sofware development or at least a more serios kind of application development then Flex will prove to be quite a challange ( especially if you have no programming experience ). ActionScript 3.0 is definitely the basis of Flex and not only, so without learning ActionScript 3.0 you won't get far ( not even to the shop to buy some food ). This should be your first and most important step, learn ActionScript 3.0. Once you are familiar with the language then you could try jumping into Flex where MXML is combined with ActionScrtip 3.0 to help you boost development time and to provide a solid library with components that you can extend and reuse ( and even write your own ).
In short: Flex is for serious development and for people who love to write code and get stuff up and running than paint lines and wait for someone "to bring the painting to life". ActionScript 3.0 will definitely help you learn programming if you have no experience because I feel that it's more "user friendly" than C, C++ or other languages. It has it strong points and it's weak points but I think that the most important aspect of it is that it's an OOP language, so the stuff you learn in ActionScript 3.0 can be easily put in practice in any other OOP language like Java with a minimum effort ( you would only read up on the new syntax ).
Whatever you do, choose wisely. I would not change Flex and ActionScript 3.0 for any other language ( at least, no at the moment and I'm quite sure that I'll stick to it as long as it exists ).
I wanted to thank you guys for the reply. The info I get from users is always so much more informative than magazine reviews.
I very much want to 'move up the food chain' as Greg mentioned. I've always tried to evolve with progress, but Microsoft has been wearing me down with the Vista fiasco and the talk of the 'pay-as-you-go' plan for their software. That being said, I'll probably skip out on the Silverlight and .Net business.
Brian makes an excellent argument with Flash veiwing the same across every browser/platform. Isn't that exactly what developers/designers want for their efforts!
Someone made the comment that Flex could turn out to be 'huge' over the next few years. I think this may be right. The only issue I can see are those who aren't so computer literate and are still living in the dark ages with slow internet speeds (and yes I know a few still out there). They might not have thet latest greatest Flash plug-in and this may cause problems. But for the majority of internet users, a flex built website would be a real plus. This would remove a lot of the browser-based conflicts and put everyone on the same page (no pun intended).
This was very helpful. I was initially leaning towards walking away from Flex, but now I think I will follow-up on it. I'll get a couple of books and do some self-study and see what happens.
Thanks again for your replies.
1 person found this helpful
Choose Actionscript/Flex/AIR because it has the beguiling fragrance of the emerging de facto standard platform for Web applications.
I jumped into Mac software development back in 1983, before it was released, using the original "phone book" edition of Inside Macintosh. Then, when Windows 3.0 was released in late 1991, I joined the Dark Side. Both platforms, in their earliest days, had the same beguiling fragrance of impending success that Adobe's platform has now.
Specifically, the combination of Actionscript + Gumbo (Flex 4) + AIR is poised to become the de facto standard for web application development. Flex 3 has been rapidly aproaching critical mass, and I think -- based on my decade-ish experience as a Technology Evangelist for Microsoft -- that Gumbo will put Adobe over the top.
Its only serious competition is Microsoft's Silverlight, which is a distant second in features, performance, and cross-platform compatibility. Microsoft has a long history of catching up eventually, but that history is not without exceptions. Adobe has survived dancing with Redmond's 800-pound gorilla for decades, so it is well-positioned to produce such an exception.
In the short and medium term, total dominance of the Web application development market is almost within Adobe's grasp. Adobe is very likely to hit critical mass in early 2010 -- soon after the release of Gumbo -- and that victory is likely to lock in Flex/Flash/AIR/etc. as the dominant coding platform for the next decade or so. As a result, you can expect to see the current freshet of Flex-based jobs swell into a torrent, then a flood, and then a tidal wave. That would put Adobe in an excellent position to make cloud-computing back-end deals with Google, Amazon, and VMWare -- all of whom would rather deal with Adobe than Microsoft -- which would further cement its dominance.
So, to paraphrase Horace Greeley: "Go Flex, young developer, and grow up with the platform."
That was one heck of an answer
I Google'd Flex 4 release date and got 1,700,000 hits. Obviously, there is a little anticipation there. I haven't been in the game long enough to know if this is unusual, but it's hard not to get a little excited. Over the last few years, I've always felt as if I was playing catch up with some new programming language. It would be nice to get in ahead of the game and actually be able to sell some experience, as opposed to playing catch-up (again).
Thank you for the reply. You have furthered my interest.
This is the time. Learn Flex, promote Flex, teach Flex, and push the boundries of what Flex can achieve, and take the cash to the bank.
I'm new to Flex and I am pretty amazed by it so far.
Here's the long answer. ;-)
If Adobe does things right, we're about to see a "feeding frenzy" for experienced Flex developers, in which demand vastly outstrips supply for at least a few years.
Here are examples of past feeding frenzies.
Until 1990, Windows had been a joke, but when Windows 3.0 came out that year, it flew off the shelves. Sales of DOS applications plunged; sales of Windows apps exploded. Every software company in the world HAD TO get Windows versions of its DOS apps out the door ASAP, or it would DIE. There were only a few hundred (OK, maybe at most a thousand) experienced Windows developers at the time, so this explosion of demand for experienced Windows developers vastly exceeded supply. Their salaries got bid up through the roof. I worked with one guy who was an absolutely *terrible* programmer -- he wrote the worst code I had ever seen from a "professional" -- but he had solid Windows experience, so he was pulling down $250K/year on a four-year contract. That was nearly 20 years ago, mind you, when *very* good programmers were still making $75K/year or less.
The same thing happened a few years later when the Internet emerged as a platform. At that time, most software companies didn't know jack or squat about the Internet, but they'd heard that Java was the best way to deal with it ("Need Internet? Use Java."). Because Java programmers were scarce, Silicon Valley's software firms raced to hire as many of them as possible -- quick before the supply ran out. Even companies that had no immediate plans to adopt Java hired Java-savvy developers, just to make sure that they had some on hand *in case* they decided to adopt Java or to run a Java pilot program. As you can imagine, this drove the salaries of experienced Java developers into the stratosphere.
Today, I get the very strong feeling that there's about to be a similar feeding frenzy for experienced Flex developers. The frenzy will be especially intense if Adobe can successfully position Flex/Flash/AIR/etc. as being to "cloud computing" what Java was to "the Internet" back in the mid-1990's. Specifically, Adobe needs to get non-technical corporate decision-makers to tell themselves "I don't know what this cloud computing thing is exactly, but it's clearly going to be huge, so my company can't afford to miss it. I've heard that something called 'Adobe Flex' makes cloud computing easy, but that only a small number of people know how to use Flex effectively. If my competitors hire these few guys before I do, then no matter how good my strategy eventually turns out to be, I won't be able to execute it, because I won't have the Flex guys...so the FIRST thing that I need to do is to hire some experienced Flex developers, QUICK, before they're all gone."
Learning how to develop code for a new platform is expensive. It takes time to master new tools, languages, and frameworks, each with its own idioms, design patterns, and conventions. That time is money. Unless you're an independently-wealthy hobbyist, you need to invest your learning-time in that platform which can yeild the highest return -- not just in the next quarter, but quarter after quarter for years to come. This means that you, like any other investor, must necessarily "predict the future" of the various platforms that you are considering. Which is going to yeild the highest return on investment -- either through shorter learning times/costs, or a higher volume of high-paying jobs, or some combination thereof? Learning to program the iPhone/Mac with XCode/IB/Objective-C/Cocoa? Learning to program for the Flash Player/AIR with Flex Builder/Eclipse/ActionScript/Flex? Learning to program for Silverlight with Visual Studio/ExpressionWeb/C#/.NET Framework?
To choose the right investment, you have to predict which one is going to "win." Right now, the biggest market opportunities for software are mobile computing and cloud computing. Apple owns the phone app market now, but that's not going to last, and their tools/frameworks/languages are behind the times, and don't embrace the cloud opportunity. Microsoft has repeatedly fumbled its phone/mobile business, and while its cloud back-end is shaping up nicely, its front-end is still weak. Adobe is way ahead in the cloud front-end space (Rich Internet Applications, RIAs), and -- aside from the iPhone -- it has a pretty compelling story on mobile devices, too (although it would be even better if it could get Flash's power consumption down). In short, Adobe is strongly ahead in the two most important emerging software markets.
Once those markets hit critical mass -- which looks like it shouold happen in early 2010 -- the demand for experienced developers of solutions for those markets will explode. Adobe's tools, despite their muddled marketing, are the best-positioned to exploit that opportunity.
That's why you should choose Flex, IMHO. ;-)
P.S.: For Adobe to fix its muddled marketing, it needs to rebrand a clearly-defined collection of tools -- e.g., the ActionScript language, the Flex framework, the Flash Player, etc., -- as [Foo]. The Foo language, the Foo framework, the Foo Player, the Foo design tools, the Foo development tools, etc. Then, Adobe can drive some very simple messages: "Need Cloud? Use Foo." and "Need Mobile? Use Foo." Gotta keep the message as simple as possible, and design it so that it can be repeated relentlessly: Foo, Foo, Foo, Foo: all you need is Foo. Foo Is the Answer. (Foo cannot be "Adobe", BTW, but it could be "Flash", or even better, "Fresh".)
I wanted to drop you a quick reply and thank you for that answer.
I'd loooove to be like that guy making $250k a year. Hell, I'd be happy with $75k a year. At the moment, I'm sitting on my butt here in Michigan pulling unemployment But, like I'm telling the wife, this is the perfect oppurtunity to finally make that career change I've been working so hard for.
It is hard to guess at what will be the skills in demand. Five years ago, the advisors at school were pushing for Webmasters, now they don't even offer the program. I looked at Dice.com this morning to see what might be out there for Flex programmers and there was only 1 in the entire state and I'm not convinced that they are referring to the Flex made by Adobe. It can be really tough to push yourself in a certain direction when you desperately want a job and there aren't any in the state (let alone your hometown). But there are a lot of happy telecommuters out there, so one only needs to "think outside the box".
I've only done a couple of Flex tutorials so far, but things look pretty promising. Flex reminds me a lot of VisualStudio, but I've always had the impression that V.S. was orientated towards business apps and I'm not getting this impression with Flex. Flex, in my opinion, is geared more towards personal 'enjoyable' apps. verses the daily grind of work apps. I'm sure that either could be made to do the other, I'm just getting the impression that Flex is more inclined to do the more 'appealing' apps. That's first impressions anyhow. I've got a couple of books coming this week, so I should have a better grasp of things in the next month or so.
It is an interesting business, this world of computer programming. Not too long ago, I was told that I should choose a different career as, "all programming jobs are going to India." I really don't feel like moving to India. I'm safer from the swine flu if I'm sitting home unemployed (LOL!)
Thanks for the reply. These posts have been helpfully informative.
The problem of IT jobs being offshored is real. That's one of the reasons why I left computer ptrogramming 17 years ago. It's also why you need to find a niche in which you can *excel*.
The cash value of being an bottom-quartile programmer is very low, and the cash value of being a next-to-bottom quartile also sucks, but once you make it into the top half, things are OK. If you're in the top quartile, they're great, because the whole world -- not just the USA -- is clamoring for your services. Globalization pushes the cash value of unskilled and semi-skilled labor down through the floor, but it pushes the value of highly-skilled labor up to the heavens.
In a declining market like Java, only the top quartile of programmers can find work, so if you try to enter it, you have to compete against highly-experienced veterans. This is extremely hard for beginners to do effectively, at any survivable wage level.
However, in a growing market like Flex -- especially once it explodes, which I expect will be this time next year -- most of the programmers are newbies (to Flex, at least).
Think of it this way: if the number of Flex programmers doubles every year, then at most half of the Flex programmers, at any given time, have one year's experience with Flex. If you get into Flex programming now, then a year from now, you'll be in the top half of Flex programmers, whereas if you get into Java now, then in a year you'll still be in the bottom quartile of Java experience.
Don't kid yourself: All programming is a daily grind. Whether you're writing software for games, porn, military hardware, criminal viruses, it's work, every day. It's a maze of twisty little passages, all alike. In my experience, at least, the fun of computer programming comes from what you put into it -- what you learn, and what you teach -- not from the nature of the project itself. And there are entire nations of nascent programmers who would be happy to take your job at lower pay, should you slack off.
Like you, I find myself currently unemployed, as my start-up was stopped-down by the current financial crisis. I'm selling my house and moving into a shed in my daughter's backyard. Hopefully, lowering my standard of living in this way will also lower my burn rate to the point where I can compete effectively with off-shore developers...if I can raise my own programming skills enough to be in the top half of a growing market. Hence, Flex.
Like you, I'm betting on Flex's future...but investing in training and education is always a bet. There ain't no such thing as a free lunch (TANSTAAFL).
I think I'm right. I hope I'm right. I better be right.
Hence, "Go Flex, young programmer, and grow with the platform."
If you'd like to return the favor, I'd appreciate any help you (or others) might be able to provide on
- setting the path of a SWF's View Source menu item, and/or
- drawing (look at TestDraw.as' source code here; the questions are in its comments...)