Silverlight vs Flash vs HTML5,我应该关心吗?
我阅读了一系列有关 Microsoft Silverlight 框架与 Flash 相比的优点/缺点的文章。
事实上,在过去 18 个月里出现了两个版本的 Silverlight,以及超过 97% 的网络浏览器已经预装了 Flash,这让我感到担忧。
我是一名 .NET 开发人员,我对我在该框架中所做的事情感到非常满意。目前我觉得我必须把自己的偏好放在一边,决定是否需要将 flash 与 .NET 集成,而不是将 Silverlight 与 WPF 结合使用。
有人尝试过将 Flash 与 .NET 集成吗?您遇到了哪些挑战?与在 Silverlight 中工作相比有多容易?
我还阅读了 Microsoft 和 Adobe 最近的会谈。无论我走哪条路,都感觉很不稳定。 HTML 5 真的可以与 Flash 和 Silverlight 提供的功能竞争吗?
谢谢
I have read a range of articles on advantages/disadvantages of Microsoft Silverlight framework in comparisson to Flash.
Fact that there were two version of Silverlight in the past 18 months worries me, as well as the fact that over 97% of web browsers already have Flash pre-installed.
I'm a .NET developer and I'm very happy with what I can do in the framework. At the moment I feel like I have to put my own preference to a side and decide whether I need to integrage flash with .NET instead of using Silverlight with WPF.
Did anybody try integrating Flash with .NET? What challanges did you come across? How easy was it in comparisson to working in Silverlight?
I have also read about recent talks between Microsoft and Adobe. Whatever way I go It feels very unstable. Can HTML 5 really compete with what's offered by Flash and Silverlight?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
HTML5 有 SVG 和 Canvas 和视频。
很有可能某个有创意的人会创建一个非常漂亮的动画包来生成 SVG 文件。当然,那里已经有了 SVG 生成器,但显然它们还不够好,因为到目前为止,SVG 和 Flash 从未在同一句话中提及。
但应该是可能的。 SVG 具有结构化矢量图形、嵌入式脚本功能。您在 Flash 中看到的事情在 SVG 中都可以实现。 Flash 也有这种可怕的框架概念,这从第一天起就是一个主要的设计缺陷。
它们应该只是让你确定你想要沿着由直线、曲线或徒手路径确定的路径将对象从点 A 移动到 B,并且 A 和 B 的时间可以是任何值,而不仅限于特定的时间框架。
然后在播放时,计算机速度越快,帧速率就越好。计算机速度较慢,帧速率较慢。只要物体从A移动到B。
然后还有 bug 和 Flash 整体笨拙的处理。
Flash 可以做得更好。
所以,我认为很快就会有人制作出一款令人惊叹的 SVG 动画包,足以碾压 Flash。
我反对 Silverlight,因为它是 Microsoft。微软的意思是专有的。他们做任何他们想做的事。您已经提到了不同的版本号。这意味着您的客户必须下载正确的版本。您可以指望您的客户必须下载主要升级,并且在您意识到之前他们的整个 .net 安装需要更新,然后您才能显示动画和应用程序。
Silverlight 也不能在 Linux 上运行。通过 Novell 在 Mono 等方面的努力,它应该可以实现,但实际上,在现场,它只是无法在您需要的地方工作。
我不知道 Silverlight 在实践中是否能够在 Mac 上运行以及运行得如何,但我不信任它。
最终,我认为,未来的 HTML5/SVG(也许是 Canvas?)才是正确的出路。它甚至可以使用 OpenGL 加速图形进行 3D...(但我不知道这是否足够便携)。
与此同时,Flash 是您的安全选择,并且几乎可以保证它可以在任何地方运行。
我想知道是否有人创建了一个比 Flash IDE 更好的输出到 swf 文件的动画包。考虑到 Flash IDE 的笨拙,应该不会太难。
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.
Microsoft 最近宣布了 Silverlight 的“方向改变”,并提供了更多 强调移动设备而不是桌面设备。
Microsoft recently announced a "change of direction" with Silverlight with more emphasis on mobile rather than desktop.
Flex/Flash 和 SilverL。现在非常相似...使用 Web 服务进行客户端/服务器通信,您可以很好地使用两者。
当然,对于使用 Visual Studio 的 .NET 开发人员来说,可以使用 SilverL。速度更快,您只需要 C#。
但是,Flash 在 PC 上更可用,也适用于移动设备......如果您需要便携性,您可以考虑 Flash。
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.
我已将 Flash 和 Silverlight 集成到我的 ASP.Net 应用程序中。我不得不说,使用 Silverlight 是迄今为止更容易的方法。与服务器的通信更容易,初始设置也更容易(以及 ASP.Net 应用程序或简单的 HTML 页面)。集成到 ASP.Net 应用程序中是最简单的部分(我确信您已经想象到了)。如果您是 .Net 开发人员,那么这就是您要走的路。
而且,我不担心这些技术很快就会消失。 HTML5 不会接管。它将占据一些市场份额,而不是全部。
编辑
以下是有关该主题的其他 SO 帖子的一些链接:
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:
这基本上是我选择网络技术的方式:
在我看来,围绕 Silverlight 消亡的整个争论是完全有缺陷的:那些认为 Silverlight 将是完全多平台的人实际上与现实无关:只要看看 Flash,就可以清楚地看出开始 iOS 和公司永远不会支持Silverlight。
HTML5 可能会是真正的“通用多平台”环境(现在的 HTML4),但我们都知道 html 有很多噩梦。如果您的目标是桌面并需要更多的交互性、更好的工具、单元测试和公司那么Flash和Silverlight仍然会是首选。
Silverlight 的用户群正在迅速接近 Flash,因此这两者之间的区别实际上取决于您更了解的一个以及与现有后端集成的难易程度。
到目前为止,Silverlight 每 9 个月就会发布一个新的主要版本,这一事实表明了他们对它的推动程度。现在它已经达到了成熟阶段,您可以期待看到更大的间隔。
This is basically the way I pick web technologies:
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.
坦率地说,如果你已经了解 OOP,那么 AS3 并不难学。需要一周左右的时间。如果您不喜欢 Flash 中的所有框架内容,您可以创建一个框架应用程序,然后管理自定义 AS 类中的所有内容。
我也是一名.NET开发人员,学习AS3.0没有遇到任何困难。当然,一周不足以成为专家(成为任何领域的专家都需要数年时间)。但是,如果您只需要创建视频或 mp3 播放器、创建拖放基本游戏/应用程序以添加到 ASP.NET 页面,那么在 AS3 上花费 20 或 30 小时是值得的。那里有很棒的视频培训。七、八个小时的训练应该需要我提到的20到30个小时。几年前我选择了 AS3.0,而不是 SL,只是因为每个人都安装了 Flash 插件。
AS3.0 是类型化的(简单类型,如 Number、String 等),但至少它是类型化的。有大量的函数、类和方法允许实现命中测试、拖/放、事件监听(鼠标事件、键盘事件等)。真的很酷又有趣的语言。
小心。
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.