"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.
I invested a lot of time in learning and deploying Flex. It's been a lifesaver when I had to code quick visualizations, dashboards, analytic tools, db interfaces, etc.
Now I would like to transition over HTML5, but it seems that all the tools and frameworks are incomplete, not easy to integrate, etc. and now I need to know javascript, html, css, etc. and the language to code the backend (In my case usually very CPU intensive). With Flex I only needed to know as3 and my backend language.
What would be best framework similar to Flex that would abstract the ugliness of javascript, html and css? It's not my idea of a fun time to fight layout bugs and different javascript/css/html implementations.
jQuery abstracts DOM weirdness across browsers. Learning plain JavaScript will give you a deeper understanding of why jQuery does certain things. Using node.js on the backend will allow you to transfer your JS skills over.
Regarding HTML and CSS, your best best when starting is to use a quick framework to get you up and running. I’d suggest Twitter’s Bootstrap: http://twitter.github.com/bootstrap/ . End of the day you’re going to have to learn them yourself though. You can make things much easier for yourself by restricting your browser compatibility.
I think the best bet is JQuery - it's not bad but definitely not as quick for GUIs. Browser compatibility is still a crapshoot when working with html/css/js and it will only get worse with HTML5. Good luck.
I used to be a Microsoft Windows programmer, as well as a UNIX/POSIX programmer.
The knowledge I've gained about programming POSIX is still useful, even though I learned a lot of it over twenty years ago. My Windows knowledge is now rather out of date, and getting more so over the years. It isn't worth my time anymore to keep up with each increasingly baroque change to the Windows environment. Just as an example, over this time the latest "hot" communication paradigm that Microsoft recommended developers use in Windows changed from NetBEUI, to NetDDE, then OLE, followed by OLE2, then COM, DCE/RPC, DCOM, and now currently seems to be Web Services (SOAP and the like). Meanwhile, in the UNIX world the Berkeley socket API was useful in the 1980's and is still the core of all communications frameworks in the open standards world. All the UNIX RPC, object and Web Service environments are built on that stable base.
"In order for large enterprises to invest heavily into a technology, they need some assurances that the technology is viable and the viability often comes in the form of the backing of corporate stewards. "
That, or you could bet on open standards instead, which probably has corporate backing as well. Seems to me that the backing of corporations on proprietary technology doesn't always work out - corporations do go down the drain sometimes, or withdraw support.
I wonder whether IT is the only industry where sophisticated products get thrown away after years of development simply due to fashion-like trends. In mechanical engineering for example, do they throw away a new engine design just because a competitor, that builds a nice looking car, says that it sucks? I believe th IT industry is crippled because it is filled with intangible assets that can easily be made incompatible to each other. Why cant we have international standards that prohibit this sort of anti-competitive crippling.
I completely agree and have been saying this for years. When Apple defended their decision by saying it's a closed platform, that would have been a good time (although that didn't save Java, either).
When OS X Safari users were complaining of crashes, that also would have been a good time. I stopped Flex development when Flash started crashing Firefox on Windows. If they can't get it stable on #1 developer platform, I figure there's no hope.
Just to note: This is a licensing change (I think). Because flex developers have had access to ALL the flex code for years now. (And all the embarrassing comments as well ;) )
the comparisons of flash and html5 are nonsensical.
flash can do all sorts of things. i can remember when it was mainly for animations. playing video is just one of the many things flash can do.
there _may_ have been a need for something to replace mime and plugins, and for whatever reason macromedia's shockwave flash (swf) emerged as an interim solution. but adobe just abused its position. they are not an honest company when it comes to web users. they cannot be trusted.
html5 solves the problem(?) that flash was being used for, namely, playing media files through the browser. but we will have open source and we don't have to deal with a shady company like adobe.
html5 is not a flash replacement. you don't "transition" from flash to html5. html5 just keeps adobe and their sneaky tactics away from web video. and that's good for web users.
still, the fact remains, plugins (open source code not part of mozilla or another other browser, e.g., vlc or ffmpeg) are better media players than browsers. so i'm left to wonder if all this was really necessary.
stream this, stream that, but youtube is still using progressive download. so go figure.
last i checked mime still works. yet it was pretty much abandoned by the browser teams.
i'll bet there is really no good reason either.
just as there was no good reason we should be letting adobe control web video. adios adobe.
Selling software at inflated prices in other territories is pretty dishonest. For instance the cost of the design suite in the US is $1,299 while in the UK it is £1,032 ($1,638) before taxes are applied. While I accept that prices can be variable depending on exchange rates, this is downright dishonest.
>For instance the cost of the design suite in the US is $1,299 while in the UK it is £1,032 ($1,638) before taxes are applied.
Tell me for what software that isn't true. For some reason every publisher charges more for software (and games) in Europe and Australia, when compared to Canada and US.
That's absolutely true and Adobe are not the worst. Autodesk are really bad at this; $3995 for AutoCAD in the US vs $7,635 in the UK. This doesn't make Adobe any less dishonest though. Software piracy is a complete anathema, but with gouging and disparity like this it's quite clear why it goes on and begs the question as to who is the thief and who is the victim.
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.