2010-06-02 89 views
6

我正在与C#和WPF合作,我想研究一些与Web编程相关的内容。我已经知道HTML和CSS,并且因为我正在使用WPF,所以我想知道是否进入Silverlight是开始Web开发的一个好选择。它可以替代服务器端编程语言,如PHP或ASP .NET吗?
你有什么建议?
非常感谢Silverlight提供什么?

回答

6

它可以让你在极其丰富的跨平台环境下编写.NET代码。

Silverlight不仅可以在PC和Mac上工作,也可以在浏览器外工作,但它是即将到来的Phone 7(我相信它将成为企业移动平台的首选)上创建应用程序的主要工具。很快你甚至可以对付Xbox!

许多顶尖行业人士似乎都在说未来几年将在Silverlight中编写大量的业务线应用程序。这是一个非常令人兴奋的平台,现在Silverlight 4已经不在了,它终于可以在黄金时段准备好了。

有一条学习曲线。 Xaml,数据访问(不仅有一些棘手的异步方面的问题,与PHP和ASP.NET不同,您必须使用RIA或类似Web服务来获取数据),更多涉及的事件系统以及其他新概念合作让它变得有点复杂。

+0

+1,用于跨平台,并且基本上可以同时学习Windows Phone 7,Xbox和Web。 – 2010-06-02 15:07:54

4

Silverlight是一个类似于Flash的插件。它并不能代替ASP.NET,但肯定是赞美它。

至于它是从WPF的逻辑步骤 - 是的! Silverlight实际上是WPF的一个子集,并且你从WPF获悉的大部分内容将直接转移到Silverlight。你只需要学习一些关于将页面嵌入Silverlight应用程序的内容,如果你使用的是Visual Studio,那么这将只是一个非常简单的ASP.NET页面。

+0

动态内容管理怎么样?例如,如果我想将论坛添加到我的网站,是否可以通过silverlight插件进行管理?如果我正确理解你的答案,我只需要知道服务器端语言就可以将Silverlight应用程序嵌入到网页中。对?再次感谢你。 – 2010-06-02 13:39:13

+0

那么,silverlight是一个网络客户端,它恰好与刚刚在浏览器中呈现的桌面客户端几乎完全相同。数据仍然通过网络传输,并且HTML页面(或类似页面)仍然被发送和呈现。所以,C#是服务器代码,而XAML是客户端代码。恰巧发生的事情是,使用Silverlight的客户端在网络上,而不是在本地机器上。那有意义吗?您需要了解网络应用程序的客户端和服务器部分,但它们看起来非常非常相似,代码非常类似于桌面版本 - 按设计。 – 2010-06-02 13:45:50

1

当我考虑Silverlight的使用情况,我一般尽量想一些事情:

  • 请问我试图发展需要通过网页浏览器轻松跨平台部署应用程序?
    • Silverlight比WPF更容易访问,因为它可以在多个平台上的多个浏览器中使用。
  • 我需要开发足够复杂(或“足够丰富”)的应用程序,以便从开发Silvelright客户端的简化方法中受益?
    • 在多个浏览器中编写看起来很棒的Web应用程序可能是一个真正的挑战。一般来说,一个基于html的解决方案(如ASP.NET,PHP,Ruby on Rails,选择你的毒药)将最容易被最广泛的受众访问,但由于必须部署到多个浏览器。但是,如果您开发的解决方案是类似于您在桌面上找到的复杂客户端应用程序,那么Silverlight应该为您的最终用户提供更丰富的体验,并为开发人员提供更简化的方法。

我们都看到有好有坏的Silverlight应用程序的实现。

最好的Silverlight应用程序提供了丰富的用户体验,并且应该很容易证明用户为什么需要Silverlight。例如,我认为Silverlight的一个很好的用例是一家撰写“企业对企业”应用程序的公司,他们的客户,供应商和/或其他业务合作伙伴可以使用它来与其域中的数据进行交互。这不是替代面向公众的网站的理想解决方案,但开发Silverlight“业务解决方案”的成本要远低于纯粹的HTML相关技术的成本。

另一方面,Silverlight的最糟糕的实现是可以很容易地被HTML替换为一些用于UI支持的JavaScript。我正在考虑完全在Silverlight中引发的网站,而没有只是试图呈现博客内容的样式。这种类型的应用程序告诉用户,他们下载Silverlight以使用他们的应用程序是值得的吗?

我希望这有助于回答你的问题。

0

Silverlight不是开始Web开发的好选择。

它并不会替代服务器端Web语言,如ASP.NET。但它通过为客户端提供良好的RIA界面和精美动画做得很好。

当涉及到数据库的通信,特别是对于具有很大的压力大动态应用程序,Silverlight的相比,ASP.NET

所以你一定要开始你的企业进入世界网络与ASP变弱的选择.NET,也许为了某些目的使用Silverlight,主要与动画和高质量的客户端接口有关。事实上,如果将来有些东西可能会被替换,那么它就是Flash和Silverlight by nothing else than HTML 5

+1

你的事实是错误的。 1.有几个框架允许在没有ASP.NET的情况下完全在Silverlight中开发复杂的应用程序,只是服务器端的一个非常简单的数据层。因此,Silverlight **可以并且可以替代服务器端Web语言,如ASP.NET。“今天。 2.通过正确的数据层,对于大型动态应用程序中的数据库通信,Silverlight是比ASP.NET更强的**选择。这是因为a。数据获取可以在后台进行并且b。数据流可以根据用户的具体情况进行定制。 – 2010-06-02 19:08:32

+0

数据提取可以在任何服务器端语言的AJAX背景下进行,服务器端逻辑比Flash和Silverlight等客户端平台使用的Web服务快得多。 反正没有时间争论,也不在乎信誉分数。而我的事实是真实的。 – SiN 2010-06-02 20:09:30

+0

您的意见是属于您自己的,但我毫不怀疑HTML5及其继任者将永远比Silverlight之类落后10多年,因此只会被那些被政治或无知用于使用它们的人所使用。我喜欢在StackOverflow上看到的评论,内容如下:“我同意ASP.NET Web应用程序现在与10年前的桌面应用程序相当。”真正?真正。 – 2010-06-02 20:12:51

0

你也可以从XBAP中的WPF开始 - 正如许多其他答案所说的那样,这取决于你想做什么。部分信任XBAP与WCF结合的数据对我来说确实很有用。