
Yaniv Golan Yedda, Co-Founder and CTO of a web 2.0 startup called Yedda had an interesting post on his blog concerning Adobe Flex and how he just doesn’t get it. As someone who is a big proponent of the Flex platform, it raises some interesting issues that Flex is facing from the more traditional development consensus. Any good developer pines for efficiency, strucutre, and scalability over just about everything. This goes for the tools (IDE’s) he or she uses as well.
I think the most intuitive reasoning behind why to use Flex is that it runs on top of the Flash platform, which has (according to Adobe) a 98% penetration factor in browsers. That basically means what you see is what you get. Unlike issues that different browsers may have in terms of handling CSS, Javascript, XHTML, etc… your app should have the same look and performance it has with any browser that supports Flash. This is a powerful service model that Adobe has also leveraged in their mobile technology platform, Flash Lite. Instead of developer’s having to target specific handsets, Adobe creates an environment where you can expect similair content performance in any device which support Flash Lite, thus less fragmentation.
Yaniv also alludes to Adobe maybe having a strategy of cornering the market for RIA’s by leveraging the huge contigent of Flash developers into a vendor-lockdown. This is interesting but there’s an assumption there that this technology is never going to evolve into something else someday. Development frameworks are constantly changing and there is no gaurantee that Flash, ASP, Javascript, or any other of these technologies would not be eclipsed by an ascending one in the coming years anyway.
‘There is more than one way to skin a cat’ as the old adage goes. The one thing that is important is to continue to evaluate emerging trends and methods and not stick with an approach simply because it works. Maybe become technology-agnostic in some sense and constatnly analyze whether your approach is the best one. As I said above, as long as developer’s plan for efficiency, strucutre, and scalability, you can as they say, “pick your posoin”. If in the end, your application is succesfull and achieves your clients goals, then what’s the difference?