There are many reasons that I prefer web development with either Flex or OpenLaszlo. An obvious advantage they both share is the Adobe Flash deployment environment. The advantages of using Flash have been enumerated many times online, so I'll only focus in this blog entry on one of the advantages I appreciate most -- the ability to write to a single API without the need to concern myself with browser idiosyncrasies and conflicts.
The recent heated exchange between Brendan Eich (Mozilla) and Chris Wilson (Microsoft) via their blogs has obviously been big news in the development community and concerns many of us who have been repeatedly frustrated by the implementation differences between the two most dominant web browsers (Microsoft Internet Explorer and Mozilla family of browsers, but especially Firefox). The chance to have a revamped ECMAScript specification with a high degree of standardization across the major browsers does not seem imminent at this point.
In the current state of things, I find myself repeatedly appreciating the fact that I do not need to worry about DOM implementation differences, CSS implementation differences, or ECMAScript implementation differences between the web browsers when using Flash. Flash (or more specifically its developers) get to worry about those nasty issues.
Web developers have fought the different degrees of browser standardization since more than one web browser has existed. With all these years and only moderate standardization to show for these many years of work, it is difficult to be enthusiastic or optimistic about a day when the majority of each of the major web specifications (HTML, DOM, ECMAScript, CSS, etc.) are implemented in a standard fashion across all major browsers. Specifications such as HTML, DOM, CSS, and ECMAScript are not nearly as useful as they might be when all major implementations do not meet these specifications. With this in mind, the Flash environment continues to look better and better.
I am probably more bothered today by the differences in DOM implementations between Microsoft Internet Explorer and Mozilla browsers than by the differences in ECMAScript implementations. Using Flash removes any concerns about browser DOM implementations just as it does for ECMAScript implementations.
With only faint, almost desperate, hope of the web browsers ever truly standardizing, common platforms like Flash continue to look better and better because they hide the inconsistencies and gaps that the browsers may never close. There are other alternatives to Flash either out there or in the works, but Flash (and the up and coming Adobe AIR [formerly Project Apollo]) seem to have a formidable headstart on the likes of JavaFX and Silverlight.
UPDATE (15 July 2008): In the blog posting The Browser Wars II: The End of Ajax, Richard Monson-Haefel points out that, despite hopes to the contrary with Microsoft's announcement of MSIE 8 being standards-compliant by default, there still likely to be many "browser wars" in the future. While Monson-Haefel is an executive at Curl and so is undoubtedly not without bias, I think there is significant merit to his warning. Of course, I'm biased too. While I don't work for any company in this space, I have developed many different web applications using different products and frameworks and the RIA plug-in approaches like OpenLaszlo and Flex (I haven't used Curl) are so much more productive for me that I've grown a bias in favor of them. It is nice to have browser discrepancies be "mostly" a bad memory.
UPDATE (15 September 2008): The blog entry HTML 5 Won't Be Ready Until 2022. Yes, 2022 is interesting.