Looks like quite a few people are tackling the same problems, or have
at least had it in the back of their minds.

I understand the history of the flash player, what kinds of
applications it's been used for, and I also understand how large an
undertaking it would be to make the current Flex components
thread-safe, etc. The big problem I have, and I think others have
already touched on it, Flex and AIR are being marketed as the
evolution of RIAs, and I honestly believe they are. But there are some
pretty big hurdles to overcome to make the user experience as rich as
possible, the development as painless as possible, and the RIA as
powerful as possible.

In my case the server is doing a TON of the work, so "offload it to
the server" is already pretty much the case. That being said you can't
fine tune ALL your data for a particular view. The Flex UI I'm working
on is just one of the consumers of the XML data available on the
server. I get a large chunk of XML, I process it, and then I need to
make intelligent decisions about updating various data models and the
view reacts to those changes. The problem is when all of this happens
serially in event listeners, the UI is blocked.

I hear a lot of suggestions to split the work up and do it in the next
frame. Most of my work prior to Flex has been Java and similar
languages, so I'm still getting used to the idea of thinking in
frames. Can someone give me a good example of how to split this work
across frames? Most of the work is being done in the result of
Cairngorm commands, which aren't DisplayObjects so callLater() isn't
available. Do I need to have these commands somehow listen for a frame
change on the application? That seems like a very un-clean way of
handling this.

I've been considering some of the suggestions of using a Timer. I may
create a WorkQueue where I can pass function references and
parameters. Start a timer and have the WorkQueue listen for the
timerEvent and process the next action.

I think it'd be great to hear from more Adobe employees such as Alex
about how they are currently handling problems such as this, and any
possible plans for the future of Flex and AIR to handle more
client-side processing. Maybe a series of blog posts are in order.

Thanks again for the great responses.

Reply via email to