The Flash runtime is still, as of today, mono threaded although there is an open issue at Adobe to fix this.
Mono-threading environments are ok for those building their dad's website, or Hello World examples. When applications start becoming BIG (I am talking about kernels loading components, with each component doing an awful amount of computing exercise) then even if Flex is beautiful, without multi-threading capabilities it becomes useless because it cannot perform. What is the point of making something look great if it's slow?
Besides, mono-threading is against the direction in which the market is going, where we can see a proliferation of multi-core machines. What is the point of having 4, 8, 12 cores if they cannot be used with Flex?
Starting with FB4, Flex has truly the possibility of becoming the market leader if it wins BIG customers, e.g. running projects for millions of dollars. The way to achieve this is to make Flex perform on huge applications through scalability and the way to achieve this is through multi-threading and horizontal scaling. Likewise, Flex risks to lose customers to other technologies (e.g. C# and Silverlight) if enterprise-scale applications won't be able to perform as required by their customers.
Of course, Flex is a presentation technology and because of this it is more complex to achieve multi-threading due to clocking and framing issues than, say, server-side technologies, when a new thread is just another running process; however if Flex wants to become the market leader as platform-independent RIA provider, engineers at Adobe need to win this challenge. We know they are very good; we know they can do it. Now it's up to them to make it happen.
Recent Comments