"I've invested years developing significant proficiency in Flex. It now feels like a waste of time."
That may sound like valid criticism, superficially, but I think it's very fair to say that the impending death of Flash has been apparent for quite a while now and this always cast a shadow on Flex. Maybe not in the few niches that it still does survive (thrive even, in some cases), but the market that Flex aimed at was very limited early on and in the past couple of years, with Flash being predominantly a delivery mechanism for online video, still betting on Flex as "Internet Technology" seems ludicrous.
"I would have much preferred to see a transition where Flex and HTML 5 could peacefully co-exist"
If you think that, you simply don't understand the technology. In fact, many of the criticisms that are quoted seem to be this: People who are disgruntled that their bet on a proprietary piece of technology didn't pan out. Welcome to the Internet.
I think technology (proprietary or not) moves rapidly enough that any developer over the course of their career will have to learn new technologies and abandon dying ones.
Most solid projects with good cosebase that I have seen so far comprises individuals with deep knowledge of the technology stack. I am talking about those programmers who have been using tech X for at least 5 years or more.
Doug Lea, Josh Bloch, Linus Torvalds, kernel hackers, John Resig, etc.
So I would say that decent developers can adapt, but quality won't be high up there yet.
I mean, even right now, do you choose django or rails?
Flex was pretty compelling when it came out, it was before the iPhone had obviously killed off flash. I seriously thought about doing it myself until it became really obvious that Apple would never support flash.
Balsamiq showed what you could do, online or offline years before HTML5.
It's not that much luck. I've decided to go with Django in 2006. Still going strong, five years later. You'll do fine going with Django or Rails, but the time when this decision would be more rewarding was 5 years ago.
I've done mostly flash for a living since 2001, in 2007 I decided to move on. It was obvious it wasn't going anywhere.
Balsamic is probably the only application written in Flash that I use regularly. A platform that has so few applications after so many years in development is clearly struggling.
I mean, even right now, do you choose django or rails?
Not the right analogy. A more relevant comparison would be with:
Do you choose Linux, with Nginx and Django/Rails
or Windows / IIS / ASP.NET ?
Well, let me see. Windows / IIS / ASP.NET can simply vanish tomorrow, while Rails (including 1.0) will still be there, still running fine on the latest Linux distribution, with the latest Nginx and the whole stack will still be free as in freedom.
And if they'd have stopped developing nginx 6 months after release? Or in a parallel universe where Basecamp flopped and DHH moved onto something else? Would there still be a rails?
Yes they're open source but some projects transition, some don't, it's luck. The world is littered with abandoned open source projects.
And even now I get the feeling that Django is steadily being edged out by Rails.
My analogy wasn't great I admit, better would be looking at all the PHP MVC frameworks that never took off.
Mootools & Prototype are another two excellent examples. 3 or 4 years ago you wouldn't have looked a bit crazy for picking either over jQuery.
What about coffeescript? Is it here to stay? No-one knows yet. In a years time all the browsers could suddenly be supporting in browser Python or in browser Ruby and it'd be dead in the water.
And even now I get the feeling that Django is
steadily being edged out by Rails.
As someone who is pretty familiar with Django's internals I can say that I don't really care -- because I can always modify Django to suit my own needs and indeed have done so to work around certain problems it has.
3 or 4 years ago you wouldn't have looked a bit crazy
for picking either over jQuery.
Making choices is also a matter of taste. I picked jQuery because it was lighter / easier to use ... but right now, honestly I'm searching for something else, because jQuery is starting to look like those alternatives I avoided (too big). Also, you pick something based on real constraints, not popularity - does the framework do what you want? Is it too light? Is it too heavy? Does it have third-party contributions for doing X or Y? And so on.
What about coffeescript? Is it here to stay?
Does it really matter? All that matters to me is that with CoffeeScript I can avoid cross-browser syntax differences (dealing with IExplorer syntax issues is a pain in the ass). It also makes my code prettier. It makes me happy. When CoffeeScript will be gone, in the worst case scenario I'll write a script to convert from it to the latest fad du-jour.
This highlights an important point however - because Javascript is a standard that is here to stay, with CoffeeScript I'll have a clear migration path. With anything on top of Flash however, you don't.
Twitter heavily uses rails, as I'm sure many other big sites do.
The best bet is to pick something that is used by enough large organizations that there is a good bet that if a major contributor disappeared there will be others able to take their place.
Also with open source systems there are generally more discrete parts that can in theory be interchanged with others.
If microsoft did something drastic like announce the end of the Windows Server line (or even just IIS) for example then your entire MVC.Net/SQL Server stack for your app is now defunct.
If Linux was to become no more if would be significantly easier to move your app and it's supporting ecosystem to BSD.
I simply don't understand the whole doom and gloom talk around Silverlight and Flash. AIR is still alive and uses all your Flash/ActionScript skills. Same with Windows 8 using XAML and C#. Your .NET knowledge isn't suddenly obsolete.
As for me, I will be coding in Flash for a long time in the foreseeable future. Flash is huge in the UX research space and I don't see HTML 5 replacing it any time soon unless the tools reach the sophistication and speed of the Flash IDE. There isn't even a standard graphics library yet for Canvas. How long did it take for the industry to standardise around jquery?
I don't know if anyone has ever pointed this out to you before, but the first law of computing platform wars is this:
A platform is either growing or it is dying.
It's true that there will continue to be work in Flash and Silverlight and AIR and XAML and Java Applets and Fortran and COBOL and Deplhi and Windows 3 and OS/2 and MSDOS and VMS for years yet.
The real question is are new developers coming to the platform? If not then new programs will slowly stop being written it, and the only work will be legacy. The good thing is that you can make good money doing that if that is what interests you.
Ultimately Adobe gets its money from Flash licensing. Adobe knows that serving as a video distribution vector is a fragile business and that "marketshare" could disappear overnight quite easily. What matters most for the viability of Flash is not the fact that it's ubiquitous, nor the fact that it "does more" than the competition. What matters is the popularity among developers.
And Adobe has clued in to the fact that Flash development is well past the inflection point on the way to decline. They could ride Flash into the ground or they could change horses when they're still doing well. If Adobe lets another player dominate marketshare in the new ecosystem while they are distracted with squeezing the last drops of blood out of the Flash turnip then they would miss out on a huge opportunity and suddenly be in the worst strategic position imaginable.
Right now, before Flash is well and truly dead, is the smart time for Adobe to transition and try to plant their feet firmly in the territory where it appears web development is heading (html5).
Maybe. They have a few options. They can try to make something "like flash, but targeting HTML5" or they can make something new from the ground up. Or they could do both. Personally I think "do both" is the most likely given their history.
That may sound like valid criticism, superficially, but I think it's very fair to say that the impending death of Flash has been apparent for quite a while now and this always cast a shadow on Flex. Maybe not in the few niches that it still does survive (thrive even, in some cases), but the market that Flex aimed at was very limited early on and in the past couple of years, with Flash being predominantly a delivery mechanism for online video, still betting on Flex as "Internet Technology" seems ludicrous.
"I would have much preferred to see a transition where Flex and HTML 5 could peacefully co-exist"
If you think that, you simply don't understand the technology. In fact, many of the criticisms that are quoted seem to be this: People who are disgruntled that their bet on a proprietary piece of technology didn't pan out. Welcome to the Internet.