Search code examples
flashsilverlightairshockwave

which platform should I use for developing animation/simulation of computer networks?


I'm supposed to develop animations/simulations to illustrate Computer Network concepts (Algorithms etc..).Some thing like this: http://www3.rad.com/networks/2004/sliding_window/detect.html . After done with this, I'm also supposed to develop similar animations for Operating System Concepts too. Its part of an educational program.

I'm unable to decide between the platforms:

These are the possible solutions (I guess):

  1. Adobe Flash
  2. Adobe Shockwave
  3. Adobe AIR
  4. Microsoft Silverlight
  5. Java Applets.

Well Java Applets will be my last choice. We all know why. But, I'm confused with the 3 other platforms of Adobe & Silverlight.

Frankly I don't understand why do they have to provide so many platforms for attacking a single problem? It would be great if someone would clarify it.

Coming to myself, I'm good at C# .NET Windows programming & about 1-2 years back. I learnt ActionScript and developed some 3D robotic experiment animation using PaperVision3D library. That was for Flash, at that time I wasn't aware of other platforms so went with it.

I also don't know what should I learn to develop for Adobe AIR & Shockwave.

Learning is not a problem for me. I want to learn something new & I also have enough time to catchup speed. I want an efficient solutions. It shouldn't be the case that in future if I want to add some 3D or some extra animations for that I've to do it in another platform. Also please point some best learning material to learn.


Solution

  • I have been using Silverlight for interactive network diagrams - Created in Expression Blend.

    • You can easily animate visual elements like line dashes to show data flow.
    • You can use Visual States to define network states
    • You can use behaviors to trigger states and anamiations
    • Creating styles and templates makes it easy to have consistent styles.
    • All of the animation and interactivity can done via XAML with little to no coding.