在.Net框架内构建Web应用程序

时间:2014-01-20 06:28:16

标签: c# asp.net .net silverlight sharepoint

我必须使用框架.Net进行Web应用程序。我找到了三种构建此应用程序的方法:

  1. Sharepoint
  2. Silverlight
  3. Asp .Net
  4. 我需要做出决定并选择其中一个。所以我想知道

    1. 他们之间有什么大不同?
    2. 在哪些情况下,我必须选择一个而不是其他人?
    3. 我们可以在几个标准(灵活性,可维护性......)上对它们进行比较吗?
    4. 谢谢,

2 个答案:

答案 0 :(得分:3)

在不知道你的应用程序是什么的情况下,很难推荐一个在另一个上面。

选择技术选择可以通过以下许多参数来判断,

·用户体验
·基础设施
·安全性 ·表现
·建筑
·人们 ·战略性 ·成本
·许可证

SilverLight

首先要了解的一件事是,Silverlight要求客户端下载一个小插件(就像Flash一样),以启用所有富客户端功能以及在客户端上运行托管代码的能力。如果您处于无法分发或下载插件的环境中,则可以选择Silverlight作为选项。

ASP.Net

另一方面,ASP.NET是自.NET 1.0以来一直存在的旧可靠Web平台。现在,通过Web窗体和ASP.NET MVC之间的选项,您可以使用许多架构选项来构建ASP.NET应用程序。将WCF等技术组合在一起,您就有可能编写和创建企业应用程序。

如果您想要或需要Silverlight的丰富UI功能,那么制作一些控件并将它们添加到您的ASP.NET页面,以便为您提供两种技术中的最佳功能,而无需过多地投入Silverlight。

我的推荐
如果我在你的位置,我可能会使用ASP.NET应用程序(webforms或MVC是你的选择。) 我说这不是因为ASP.NET优越而且Silverlight无法制作企业应用程序,但因为它是更安全,更可靠的选择,我认为考虑到我们在.NET中的未来。

答案 1 :(得分:0)

我可以在很大程度上评论一般的http / javascript与Silverlight的决定,因为我没有在Sharepoint中开发的经验。

浏览器兼容性

Html / javascript过去因不兼容而臭名昭着,虽然这已经有了很大的改进,但Silverlight在该领域仍然更好。

插件在所有浏览器中的行为大致相同。我自己使用Chrome,而我的客户通常使用Internet Explorer,一些Firefox。在过去几年中,由于浏览器不兼容,我没有遇到任何问题 - 而且我知道Web开发人员过去常常与这些问题作斗争。这可能是主要优势之一,如果 Silverlight在平台上运行,它的运行方式与其他平台相同。

虽然有一个微妙且不为人知的警告(bug),但它并不依赖于浏览器。平板电脑设备上可能存在某种内存泄漏,请参阅此stackoverflow答案。这是我唯一一次经历Silverlight应用程序依赖于环境因素。

操作系统兼容性

这是html / javascript的一个重点,因为所有主流浏览器都移植到所有主要的操作系统和平台。

显然,您将使用Silverlight运行Windows。有一个mac实现,但你应该提前测试,因为Silverlight可能实际上在许多情况下表现不同。我不能说实施的实际程度有多严重。

更令人失望的是微软在他们自己的平台上的政策:WinRT平板电脑(非专业的,基于ARM的平板电脑)不支持Silverlight,当然,Metro-IE也不支持(臭名昭着)。 / p>

简而言之,Silverlight仍然是一个可行的选择,如果你的目标是企业环境,你可以估计你的客户将拥有的硬件,以及那些技术替代品很少的情况 - 例如你需要的时候一个很好的自适应视频流技术。

第三方设计

基于html的解决方案可以发挥作用的一件事是设计:尽管我喜欢Expression Blend,但大多数网页设计师似乎并不赞同我的爱。您可以找到html的html / css模板数量,即使是业务线应用程序也是如此。对于Silverlight(和WPF),几乎什么都没有。事实上,我不知道Silverlight本身并没有创建一个漂亮的Silverlight设计 - 而且它们也创造了丑陋的设计。

作为一个喜欢Silverlight的人 - 能够为我的下一个应用程序挑选和购买一个非常漂亮的主题的能力可能是我在看html世界时最羡慕的事情,甚至比平台还要多支持。

今天我建议将html作为默认值,除非以下几点之一适用:

  • 您已熟悉Silverlight(或您的团队)。
  • 您需要执行超出html编辑器的复杂富文本编辑功能。
  • 您需要访问COM接口或在Windows上执行P / Invoke(尽管您也可以使用Silverlight来补充html / javascript客户端)
  • 您希望提供“安装”应用程序的功能(浏览器外模式)。
  • 您希望在服务器和客户端上执行复杂的业务逻辑,并且您希望用C#而不是Javascript编写它。

如果这些事情中的任何一个成立,Silverlight可能是一个选项(以及WPF)。