2008-09-11 71 views
10

我們需要建立一個管理門戶網站來支持我們的客戶端/服務器應用程序。由於我們是一個.Net商店,所以傳統的方式就是在ASP.Net中這樣做。但是Silverlight 2將在發佈日期之前推出一段時間。我們應該考慮用silverlight構建整個網站,而不是使用支持WCF的後端?在整個網站上使用Silverlight?

門戶的主要功能是:用戶,組和權限配置;用戶檔案設置配置;文件上傳和下載以支持應用程序所需的文件。

我認爲採取這種方法的主要原因是我們對WPF和WCF有很好的經驗,但在ASP.Net方面經驗不足。無論哪種方式,我們必須學習ASP.Net或Silverlight,學習Silverlight似乎是我們當前技能的更自然的延伸。

StackOverflowers的經驗有沒有大的no-nos?有哪些重要的積極因素?

回答

9

取決於你的目標。如果管理門戶是應用程序的一部分,並且只能從安裝應用程序的計算機上使用,那麼完全使用Silverlight - 甚至是WPF都有很多好處。

但是,如果您可以看到將從隨機PC或任意人員使用的場景,則完全有效的HTML/Javascript版本是絕對必要的。

一些原因是:

  • 大多數人沒有silverlight的,你會賺,如果他們需要下載並安裝它說髒話的良好的負荷。一些安裝它的人保持禁用(連同閃光燈,有時甚至是圖像),以避免分心和加速瀏覽。
  • 當HTML網站失敗時,用戶會收到錯誤頁面並重新加載。當silverlight失敗時,它可能會掛起或崩潰。
  • HTML是所期望的 - 用戶和網絡瀏覽器都是這樣:後退和刷新按鈕按其應有的方式工作,超鏈接和表單按預期工作。
  • 互聯網速度很慢,在偏遠地區和移動設備上都很常見。
1

ASP一路。當文字無法做到你想做的事情時,你應該只使用silverlight/flash等。顯示視頻。

+1

Iain, 爲什麼?在我看來,Silverlight比HTML/JavaScript有更好的編程模型。爲什麼我不應該使用它? 這就是我試圖找出。 – 2008-09-11 11:14:40

+0

我認爲除了顯示視頻之外,還有太多「文字無法做」的事情。一路上ASP一直誤導山姆,因爲這真的取決於。 – 2008-09-11 12:31:28

+0

@Sam網頁是html。 Html是文本。大胖二進制塊不是呈現文本的最佳方式。 – 2009-01-28 15:51:26

15

我會建議不要構建純Silverlight網站。

Silverlight存在與Flash相同的問題:不直觀的書籤,打印問題,可訪問性問題,無法回退按鈕等等。

此外,您需要您的用戶安裝Silverlight或至少有能力安裝它。

在受控環境中(例如在大公司或醫療保健機構中)或移動設備上,情況可能並非如此。

0

有一些downsides與完全在Flash/Silverlight中開發一個網站,但如果這些缺點對你無關緊要或不會產生影響,那麼沒有什麼能阻止你。選擇您認爲更充分滿足您需求的任何工具。我不會因爲缺點而單純在Silverlight中創建網站,因爲它會爲用戶體驗帶來更多的積極性。

5

聽起來像你的問題是,你需要一個富客戶端管理應用程序。爲什麼不使用點擊一次?

15

我肯定會去一個完整的Silverlight應用程序,特別是如果你有WPF的良好經驗。您將能夠重用WPF的知識,並且能夠快速獲取Silverlight。自從Beta 1開始,我一直在使用Silverlight,而目前的Beta 2具有穩定的質量。我想假設一個RTW版本即將到來是安全的。

皮爾夫有一些有效的觀點,特別是有關打印。爲此,我可能會在服務器端使用SQL Reporting Services或其他報告框架,然後彈出一個包含可打印報告的新窗口。對於鏈接和書籤,問題與其他任何AJAX應用程序沒有區別。我今天做了一篇關於Silverlight的博客文章how to provide deep linking and back-forward navigation in

隨着WPF的UI自動化API被帶入Silverlight,Silverlight也具有良好的可訪問性支持所需的所有鉤子。我不知道屏幕閱讀器廠商是否趕上了。 Silverlight中的樣式/模板支持可以輕鬆地爲視覺受損用戶提供高對比度皮膚,如果這是一個問題。

0

以前的評論已經處理了使用Silverlight作爲網站的大部分缺點,我同意這一點。如果你決心開發富客戶端風格並且你的觀衆很小(僅適用於管理員),那麼我可能會推薦使用Silverlight的WPF,因爲它目前提供了一套更豐富的工具和控件。

如果你堅持使用ASP.NET,你有沒有看過動態數據 - 它是建立後端管理站點的理想選擇。

7

我同意所有人都說過的話,我認爲這個針對Flash的流程圖也適用於Silverlight。

enter image description here

Source of Image

0

我見過的 「Silverlight的只是」 在微軟的網站,他們是相當令人印象深刻。但是再次,演示在那裏充分利用Silverlight可以實現的全部潛力。當你需要不同的東西的時候,你可能會不走運。除了安裝/看到的方式之外,我沒有看到Flash那樣的Silverlight。但Flash/ActionScript後端真的是不好與Visual Studio可以提供的.NET相比較

問問自己爲什麼要使用Silverlight?花式效果或編程模型?

1

爲您的網站使用插件會讓它變慢,並且需要用戶安裝插件。例如,Silverlight排除了所有Linux用戶。此外,由於Silverlight相當新穎,如果不盡快恢復,微軟將如何保持平臺的活力,並不知道如何承諾。

我會堅持到普通的老HTML與服務器端腳本。

此外,對於公共網站:Flash和Silverlight不能被任何搜索引擎,如果你想要的任何訪問者都編入索引,所以好運與寫作噸的元數據。

1

Silverlight是一個面向內部門戶網站一個不錯的選擇,只是因爲這將是一個面向公衆的門戶網站,如果你已經評估了項目,並決定與門戶網站前進。您可以自由地將Silverlight組件集成到現有的ASP.NET應用程序(即「豐富島嶼」)方法中,但是如果您有能力從頭開始構建新項目,則不要將完全Silverlight解決方案折扣爲有效您可以選擇傳統的ASP.NET門戶。 Silverlight現在是RTW,所以如果這個決定仍然在桌面上,你知道你將不必處理突破性的變化。

3

關於遠程管理員的話題,另一張海報聲稱,如果管理員的連接速度很慢,那麼這個論據就是支持HTML的一種說法。我認爲,根據信息類型的不同,使用Silverlight可能會更有效率。如果您有一個ASP.NET數據網格填充了服務器端數據綁定,您可以下載大量的標記和視圖狀態數據。即使你在ViewState上使用更輕的DataGrid的代理,你仍然可以下載很多HTML。

在Silverlight中,一旦你獲得了XAP,這可能會比相應的HTML小,XAP被緩存,所以你不應該每次都花費這些成本,你只需要檢索數據本身。

再舉一個例子,假設您的某個表單上有許多下拉列表,它們在列表中都具有相同的值。在Silverlight中,您可以獲取這些值一次並將它們綁定到所有的dorpdowns,在HTML中,您將不得不每次重複這些值。

在ASP.NET中客戶端數據綁定會更好,後者與Silverlight和WPF的數據綁定非常類似。

總體而言,我還認爲您需要爲Silverlight實現編寫更少的代碼,以提高生產力並降低維護成本。