2011-03-28 25 views
2

我知道的Silverlight需要一個插件下載和一些企業不要讓它在自己的電腦,它不支持在移動設備上,iPad等比方說,這些都不是我的關鍵問題。除此之外,我不考慮將我的社交網站純粹的Silverlight與Silverlight \ ASP.NET MVC混合或純粹的ASP.NET MVC混合在一起考慮什麼?另外,由於在純Silverlight和ASP.NET MVC中實現的站點的用戶流量很高,是否會有明顯的性能下降?我應該使純粹的Silverlight社交網站還是使用ASP.NET MVC?

我知道這個網站上有很多帖子比較Silverlight和ASP.NET MVC,但是我還沒有找到任何能夠給我一個明確答案的問題。

非常感謝。

回答

7

雖然我傾向於將Silverlight作爲一項技術,但如果您正在創建社交網站,我認爲您需要瞄準儘可能多的受衆羣體。通過選擇Silverlight,您可以將您的用戶限制爲那些沒有任何限制或無理討厭Silverlight的Windows和MacOS用戶。

所以使用ASP.NET MVC。

然而,如果你選擇Silverlight的 - 在理論上純Silverlight的部署要快於一個ASP.NET MVC之一:

  • 雖然你有Silverlight應用程序的(相當大的)大小,它不應該在版本之間更改,而應該由客戶端緩存。
  • 您有優勢,它在客戶端和它服務的Web服務之間傳輸的數據是原始數據,而不是一個完整的頁面(儘管這是一個有爭議的問題,如果您要另外構建一個JavaScript大量網站並動態傳輸JSON )
  • 的Silverlight強迫你使用異步調用,這樣你就不會進入UI阻斷的情況下,可以使互動顯得較慢。

但是同樣的規則仍然適用周圍減少Web服務調用的數量 - 如果你總是叫一堆Web服務方法一起使用,可以考慮包裹起來到一個通話中。

另外,如果你對動畫過於瘋狂,它可能會在較慢的機器上變得笨重。

+0

謝謝你的回答,但爲了我的目的,我並不太在意插件下載或移動訪問 – UkraineTrain 2011-03-30 05:33:04

+0

添加了一些關於性能的說明。 – geofftnz 2011-03-30 21:19:23

2

性能使用Silverligt打?可能相反取決於你如何構建應用程序。一個現代的Web應用程序確實需要在服務器上執行這些操作來完成這些操作(ajax中的ajax,ajax中的ajax等)。

另一方面,Silverlight太小了,除非它在內部,否則您將無法在其中創建社交網站。但這個問題和答案不屬於@ SO。

+0

謝謝你的回答,但是請你詳細解釋一下「Silverlight太小了,你將無法在其中創建一個社交網站,除非它在內部」? – UkraineTrain 2011-03-28 06:19:39

3

不去Silverlight的原因: - 需要一個插件。 - 限制爲「PC」設備 - 學習曲線? - 客戶端服務器模式的轉變(這抓住了幾個人出來

理由使用Silverlight - 可以使一個活潑的UI容易 - 可以轉換爲一個桌面應用程序容易 - 減少服務器負載渲染(可以忽略不計真)

理由使用MVC - 可以通過所有瀏覽器消耗 - 易球場不同的客戶端體驗過相同的技術棧 - 更容易dev的上比Silverlight的

+0

+1學習曲線。這讓我在我做的第一個項目上燒了一把。 – geofftnz 2011-03-28 03:22:13

+0

謝謝您的回答,但對我而言,我並不太在意插件下載或移動訪問。 – UkraineTrain 2011-03-29 02:27:19

1

使用兩種創建您的網站和所有!一世與MVC的核心功能,然後使用Silverlight的「小額外」。隨着時間的推移,您將能夠收集足夠多的關於用戶的統計信息,並且如果您安裝了Silverlight的用戶比例較高,則可以開始添加更多Silverlight功能。如果您的用戶沒有安裝Silverlight,請使用javascript。

另外,不要因爲沒有Silverlight的人數而氣餒。給他們一個安裝的理由,並給他們一個很好的安裝經驗。人們會這樣做,如果你的網站有他們想要的東西。

+0

感謝您的回答,但對我而言,我並不太在意插件下載或移動訪問。 – UkraineTrain 2011-03-29 02:27:45

2

您應該考慮Silverlight是一種客戶端技術。因此,您可能將所有數據層和外部接口實現爲Web服務。當然,這可以做到,但比Linq2SQL或實體框架等MVC集成技術更難實現。

相關問題