Silverlight适用于大型应用

问题描述:

对于基于商务智能的大型应用程序来说,silverlight是一个好主意吗?

Is silverlight a good idea for a large application based on bussiness intelligence?

我可以列举出一系列因素来指示Silverlight何时以及何时并不是一个好主意,但是我只是想说,如果您没有发现问题,那就去解决.

不过,Silverlight在客户端看起来很漂亮-因为它被设计为轻量级/安全/跨平台的,所以它无法完成普通WPF或Windows Forms应用程序可以完成的所有工作(例如,调用本地Win32功能).它还可以通过Web服务访问服务器端信息.

我应该提到的一个大陷阱是,Silverlight不能使用不是为Silverlight设计的第三方DLL.此外,它无法访问整个.Net Framework(尽管我认为它可以使用它的很大一部分).

至于大型"应用程序部分,您可以创建一个包含许多项目的解决方案,并将事物组织到命名空间中,从而使事物很好地分离.因此,在Silverlight中创建大型应用程序就像使用其他技术(例如WPF)创建大型应用程序一样.

如果您能负担得起代码签名证书,并且知道客户端计算机都将安装.Net 3.5(这意味着它们必须是Windows XP +计算机),那么我会说使用XBAP而不是Silverlight.它的行为类似于Silverlight,但是更灵活(利用WPF),并且需要更多的客户端计算机(我提到的软件要求).
I could list off a bunch of factors that indicate situations of when Silverlight would and wouldn''t be a good idea, but I''m just going to say that if you don''t see a problem, go with it.

Silverlight looks pretty on the client side, though -- because it was designed to be lightweight/safe/cross-platform -- it''s not capable of doing everything a normal WPF or Windows Forms application can do (e.g., calling native Win32 functions). It can also access server-side information, via a web-service.

One big pitfall I should mention is that Silverlight can''t use third-party DLL''s that weren''t designed for use with Silverlight. Also, it can''t access the entire .Net Framework (though I think it can use a large subset of it).

As far as the "large" application part, you can create a solution with many projects and organize things into namespaces and such to make things nicely separated. So creating large applications in Silverlight is a lot like creating large applications wth other technologies (e.g., WPF).

If you can afford a code signing certificate and know the client computers will all have .Net 3.5 installed (which means they must be Windows XP+ computers), I''d say go with an XBAP instead of Silverlight. It acts like Silverlight, but is more flexible (makes use of WPF) and requires more of the client computer (the software requirements I mentioned).


除了aspdotnetdev提到的所有要点之外,您必须记住,每次清除临时缓存时,都会将Silverlight xap文件下载到浏览器,因此,如果xap的大小太大,可能会遇到麻烦.

当然,Silverlight提供了将巨大的漏洞分解成较小的漏洞的好方法.您可以将它们包括在初始设计中.

总体而言,在Silverlight中构建任何大型项目都应该没有问题.
In addition to all the points mentioned by aspdotnetdev, you must remember that a Silverlight xap file is downloaded to the to the browser everytime the temporary caches are cleared, so if the size of the xap is too big you could run into some trouble.

Of course, Silverlight provides good ways to break a huge xap into smaller ones. You could include them in your intial designs.

On the whole, you should not have any problems building any huge project in Silverlight.


Silverlight是大型企业级应用程序的最佳解决方案.上面提到的所有观点都是正确的,但是现在Microsoft提供了更多与Silverlight应用程序相关的示例和视频.
Silverlight is best solution for large enterprise level application. All above mentioned point is true, but now Microsoft provides more examples and videos related to silverlight application.