Silverlight vs Flash vs HTML5, should I care?

我们两清 提交于 2019-11-30 08:58:16
Gabriel McAdams

I have integrated both Flash and Silverlight into my ASP.Net applications. I have to say that working with Silverlight was by far the easier way to go. Communication with the server is easier, initial setup was easier (along with a ASP.Net application or a simple HTML page). Integration into the ASP.Net application was the easiest part (as I'm sure you imagined it would be). If you're a .Net developer, then this is the way to go.

Also, I wouldn't worry about either of these technologies going away anytime soon. HTML5 is not going to take over. It'll take some of the market share, not all.

EDIT

Here are some links to other SO posts on the subject:

This is basically the way I pick web technologies:

  • do you need to support every available platform made now, in the past and in the future? HTML4 (yes, 4!)
  • Do you have to make stuff that is not possible with HTML4, and are ready to sacrifice some user base? HTML5
  • Can you limit yourself to desktop users (no mobile devices) and need a very interactive application (more so than a "website")? Flash or Silverlight
  • Do you need to integrate with .NET? Silverlight
  • Are you familiar with .NET (more so than Flash)? Silverlight
  • Do you want to reach the absolute maximum number of users? Flash
  • Do you know Flash/ActionScript (more so than .NET)? Flash
  • Do you need even more features than what Silverlight provides, and can you limit your deployment to intranets? WPF/XBAP

The whole debate around Silverlight being dead is completely flawed in my opinion: those that thought Silverlight would be completely multiplatform really were not connected with the reality: just by looking at Flash it was clear from the beginning that iOS & co. would never support Silverlight.

HTML5 will probably be the real "universal multiplatform" environment (what is HTML4 now), but with all the nightmares we all know of html. If you are targeting desktops and need more interactivity, better tooling, unit testing & co. then Flash and Silverlight will still be the first choice.

Silverlight's user base is quickly coming close to Flash, so between those two it really comes down to the one you know better and the ease of integration with an existing backend.

The fact that Silverlight got a new major version every 9 months until now is just a sign of how much they are pushing it. Now that it's reached a mature stage you can expect to see larger intervals.

Frankly, AS3 is not hard to learn if you already know OOP. It will take a week or so. If you don't like all the frames stuff in Flash, you can create a single frame app and then manage everything from your custom AS classes.

I'm also a .NET developer, and I had no trouble learning AS3.0. Of course, one week is not enough to become an expert (it takes years to become an expert in any field). But if you simply need to create video or mp3 players, create drag and drop basic games/apps to add to an ASP.NET page, it's worth spending 20 or 30 hours on AS3. There are great video trainings out there . Seven or 8 hours training should take the 20 to 30 hours I mentioned. I went for AS3.0 a few years ago, rather than SL, simply because everybody has Flash plugin installed.

AS3.0 is typed (simple types like Number, String etc), but at least it's typed. There are plenty of functions, classes and methods allowing to implement hit tests, drag/drop, event listening (mouse events, keyboard events etc). Really cool and fun language.

Take care.

HTML5 has SVG and Canvas and video. It's perfectly possible that at one point someone creative is going to create a very nice animation package that generates SVG files. There already are SVG generators there of course, but obviously they're not good enough because SVG and Flash is, so far, never mentioned in the same sentence. But is ought to be possible. SVG does structured vector graphics, embedded scripting. The things you see done in Flash has to all be possible in SVG. Flash also has this awful notion of frames, which was a major design flaw from day one. They should have just let you determine that you want to move an object from point A to B along a path determined by a line or curve or freehand path, and that the times of A and B can be anything and not just confined to a particular frame. Then at playback, the faster your computer is, the better the frame rate ends up being. Slower computer, slower frame rate. As long as the object moves from A to B. Then there are the bugs and just overall clumsy handling of Flash. Flash can be done so much better. So, I think that someone will at one point soon make an amazing SVG animation package that will just crush Flash.

I'm against Silverlight because it's Microsoft. Microsoft means proprietary. They do whatever they want to do. You've already mentioned different version numbers. This means your customers have to have the right version downloaded. You can count on your customers having to download major upgrades, and before you know it their entire .net install needs updating, before you can show your animations and applications. Silverlight also doesn't work on Linux. It's supposed to, through Novell's efforts with Mono, etc, but in practice, in the field, it just does not work where you need it to. I don't know if and how well, in practice, Silverlight works on the Mac, but I don't trust it.

Eventually, I think, that future HTML5/SVG (Canvas maybe?) is the way to go. It'll even do 3D using OpenGL accelerated graphics... (but I don't know if that's portable enough). In the meantime, Flash is your safe bet, and it's almost guaranteed to run anywhere.

I wonder if anyone has created an animation package that outputs to swf files that's better than the Flash IDE. Shouldn't be too hard, given Flash IDE's clumsiness.

Rob

Microsoft recently announced a "change of direction" with Silverlight with more emphasis on mobile rather than desktop.

Flex/Flash and SilverL. now are very similar... using webservice for the clientt/server comunication you can work well with both.

Sure, for .NET developer with Visual Studio to use SilverL. is much more FAST and you need C# only.

But, Flash is more available on PCs, also for mobile devices... you could think for Flash if you need portability.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!