Over the last few weeks (has it already been over a month?) the web world has been abuzz regarding technology mostly surrounding Adobe’s ill planned announcements surrounding Flash Player, HTML5, and Flex. What is best, what should be killed off? Why this technology is ‘better’ than that technology… We might as well work in some type of ministry as much as people get dogmatic about the technology choices they make. I recognize there are business decisions to be made. You need to be able to look your client in the eye and tell them that you are helping them make appropriate choices for their projects. You don’t however need to be blindingly loyal to any specific technology. They all have their strengths and weakness. Having said that, I have enjoyed my time working with Flex. It solves some interested challenges for web development. It also creates a few others.
Here are a few thoughts. First, if this snuck up on you then you have simply not been paying attention over the last few years. Once Jobs put out his “Thoughts on Flash” article, and Adobe fumbled their response, the writing has been on the wall for the Flash Player on mobile. The idea that somehow Apple would cave and someday support Flash Player on iOS has never seemed feasible to me.
It might be time for some of us to “double down” on reality. Flash Player isn’t inherently evil, Neither is JavaScript. Best practices for today’s JavaScript applications are not the same as it was 7 years ago when you last fought with it. To that end, ActionScript has grown up a lot since some of you stopped playing with it in ActionScript 1. Think you are too good, advanced, or “too OOP” for JavaScript? Please. If you are that great go help build the JavaScript community. Build frameworks and abstractions that make the language what you think it needs to be. There are plenty of smart people already doing that. Go join them.
There are plenty of Flash / Flex applications that could have been built with web standards technology. Are there pain points? For sure. Does Flex make it easier? Absolutely. The cold reality however is that you can’t count on Flash Player being available on mobile. Users are increasingly loading web content on mobile devices. Will you build your web application twice? Once with Flex for desktops, and again with web standards for mobile? I’m guessing not.
I have always loved the Flash / Flex community. There are some incredibly smart, talented developers in this community. I believe that Flex development will be around for a while to come. There are too many companies heavily invested in it to simply turn away. To that end, I am interested in what the community will do with the new (assuming it gets accepted) Apache Flex.
Do yourself a favor this upcoming year. Learn a new language. There are plenty of powerful languages to choose from. They all have merit. At the end of the day you will be a better programmer for having picked up something new. You can always go back to being religiously loyal to your language of choice after you have expanded your horizons. Who knows you may just find a new language to become dogmatic about.