views:

38

answers:

2

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.

A: 

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.
Michael S. Scherotter
A: 

For Flash/AIR development you can use the (now open-source) Flex SDK. You can develop in pure actionscript and compiling for one vs. the other is just a question of a different root-level class and some different build commands/options. Shockwave I'm not sure about.

If you use SilverLight, you could leverage your C# knowledge. There are some trade-offs with which runtime has a larger installed base, but there's no telling quite yet how that will play out in the future.

Depending on the level of interaction you need, you might be interested in looking at Processing, which, even though it runs on applets, has done a pretty good job of making them more palatable.

This SO question has some links to current version penetration for the different platforms: http://stackoverflow.com/questions/652717/silverlight-penetration-rate

datageist