I am currently using ASAP ActionQueue, and would like to know how
GuggaFF TaskManager differs from ActionQueue and ExtendedActionQueue.
Here is the link to the documentation of the ActionQueue API
http://asapframework.org/api/org_asapframework_util_actionqueue_ActionQueue.html
Thanks
I always thought that the whole idea behind ActionQueue is to handle
asynchronous operations.
>From my short reading about GuggaFF task manager, I came to the
conclusion that ASAP Action Queue and GuggaFF task manager are
addressing the same issue.
On Nov 16, 2:35 am, "Nikita Dudnik" <nikdud...@gmail.com> wrote:
> The main difference is the gugga framework's ability to handle asynchronous
> operations.
> Here is explanation:http://www.gugga.com/flashblog/2006/10/basics-of-tasks-and-sequences-...
Yeah, you can achieve the same behavior in ExtendedActionQueue be using
'wait for message' or 'wait for condition' and if you want to have two
or more tasks running at the same time you can use the addInAction(),
or simply insert another ActionQueue as a task.
I want to point out some conceptual differences between ActionQueue and
TaskManager.
The first of them is that ActionQueue and TaskManager work on different
levels of abstraction. ActionQueue manages the execution of units
abstracted by Function class
and TaskManager manages the execution of units abstracted by ITask
interface. This is very important because Function class comes as
element of functional programming paradigm (as we know ActionScript is
multi-paradigm programming language) and it has some specific
characteristics. Using it involves completely different style and
capabilities when you are developing applications with ActionQueue and
TaskManager. In GuggaFF we choose ITask abstraction, because when we are
developing our tasks library or implementing some custom tasks for
certain application we can use all of the OO advantages. This allows us
to benefit from inheritance, encapsulation, polymorphism and strong
typing. In addition you can employee the arsenal of Design Patterns.
Another difference is in the abstract data structures which stays behind
TaskManager and ActionQueue. TaskManager manages web of tasks and
ActionQueue manages an queue of functions in ordered manner (although
there are some exceptions like addInAction method). This difference is
very important in situations like
http://www.gugga.com/GuggaFlashFramework/samples/images/task1.jpg where
Task3 waits for the completion of Task1, Task2 and the meeting of P1
and P2. The main thing here is that if you don't know the order in which
this conditions will be met you can't model this situation in ordered
structure. You can't first wait for message1 and then for message2 when
you don't know which message will happens first. Imagine that we have a
loader and an animation and you want to execute some action after both
of them complete. I/O operations in flash run on separate thread and you
can start these two tasks synchronous, but you wouldn't know the order
of their completion. This scenario is covered by
http://www.gugga.com/flashblog/2006/10/basics-of-tasks-and-sequences-in_20.html
article in PreconditionsManager section.
Of course this is just brief explanation, because I haven't had a deep
look into ASAP framework.
Best,
Branimir.
Nikita Dudnik wrote:
> Thanks a lot! Looks like in most (simple?) cases you can achieve same
> things with both frameworks. This frameworks still can have some
> specific benefits for some specific tasks. But at the moment I can't
> see any dramatic differences.
>
> On 11/16/06, *flashguru* <norea...@yahoo.com