2011-04-04 64 views
1

作爲獲取移動友好版本請求的傳統ASP.NET Web應用程序(非MVC)的開發人員,我想知道在哪裏可以找到一些關於解決問題的最佳方式的智慧。我們目前通過Web服務調用屏蔽了大部分數據庫訪問。用於結合傳統和移動ASP.NET Web開發的資源

看起來很多商店會發現自己處於這種情況:我們資源有限,不希望通過讓應用程序的版本差異很大而造成維護頭痛。

是否有一組最佳實踐來採用現有System.Web應用程序並重新組織代碼,以適應添加移動友好性。我正在考慮的一般方法是:

  1. 使用CSS甚至JavaScript在 客戶端上進行小的文體更改。
  2. 對數據進行必要的更改, 工作流程或服務器端 代碼中的標記。
  3. 通過組織 非UI邏輯到單獨 組件保持儘可能多的代碼儘可能共同 到兩個版本。條件編譯 將用於代碼隱藏,其中 UI必須發散。

我會用這種方法遇到什麼問題?

回答

2

簡短而親切:

  • 閱讀W3C Mobile Web Application Best Practices
  • 獨立的業務/應用邏輯和表示邏輯儘可能
  • 做服務器側面檢測移動設備;服務的非常簡化用戶界面,移動設備
  • 使用客戶端技術,如CSS媒體查詢和特徵檢測(如用Modernizr做)做漸進增強

長版本:

要記住的最重要的事情是,它們看起來很相似,移動網絡和桌面網絡也不同。這個比喻我使用街道和人行道之間的區別。他們兩人的目的都是一樣的 - 讓人們從一個地方到另一個地方。但是,它們分開設計,旨在用於不同的運輸方式。您可以在人行道上開車,並且可以在街道中間行走,但這兩種體驗都不是最佳選擇。長話短說,對於一個好的移動網站,您必須爲移動設備設計,特別是。這並不意味着你不能重用邏輯 - 你絕對應該這樣做。我只是說使用JavaScript/CSS來隱藏一些元素並不會將常規網站變成移動網站。

爲了值得,我最近與我的一位同事就移動網站開發策略進行了演示。它主要針對高等教育(大學校園)和我的校園(UCSB)中的移動網絡,但許多策略和技術都是廣泛適用的。有興趣的人士可以找到介紹和相關的資源在這裏:https://it.ucsb.edu/groups/wsg/mobile-web-brown-bag

資源

服務器端設備檢測:

客戶端功能支持檢測/逐步增強:

隨機資源

+0

優秀的資源。非常感謝。 – Buggieboy 2011-04-05 15:02:09

1

首先,移動並不一定意味着做System.Web.Mobile來的事情,而是支持移動用例和移動設備的侷限性。或者,您希望將應用剝離爲與移動用戶相關聯,並且您希望執行所需的極限帶寬,瀏覽器插件,繁重的腳本和屏幕大小等操作。但是你實際上並不需要回到WAP等惡劣的日子。

+0

好的,這是我的新聞。如您所述,http://www.asp.net/learn/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application中的文章指出:「System.Web.Mobile.dll ...仍然包含在ASP.NET 4中,但不推薦使用它,原因是...控件主要是爲WAP瀏覽器呈現WML或cHTML標記(而不是常規的HTML)時代。」鑑於此,我正在修改我的問題。 – Buggieboy 2011-04-04 17:42:02

0

從我的閱讀看,前進的方向似乎是先設計移動設備,然後使用@media CSS自定義佈局,以便在更多功能的設備中引入更多設計/功能概念。

http://www.smashingmagazine.com/2010/07/19/how-to-use-css3-media-queries-to-create-a-mobile-version-of-your-website/

http://www.slideshare.net/arborwebsolutions/practical-beyond-responsive-web-design

+0

在理想的世界中這可能是真實的,但我正在談論一個已經存在並且我不能完全重寫的應用程序。 – Buggieboy 2011-04-04 21:41:02