我有一個使用.NET後端Web服務的Web應用程序。 iOS應用程序也可以使用相同的服務進行移動應用程序。我們面臨的難題是,爲了使用Web服務,這意味着iOS應用必須具有互聯網連接。管理支持多個設備的代碼
理想情況下,iOS應用程序在沒有網絡連接時應該可用,但爲了這樣做,應用程序需要從服務器複製相當多的邏輯。這顯然不是理想的,因爲它意味着代碼庫可能不同步等。
我想知道人們採取什麼措施來解決這個問題?或者我們註定要維護多個特定於我們計劃支持的設備的代碼庫?
我有一個使用.NET後端Web服務的Web應用程序。 iOS應用程序也可以使用相同的服務進行移動應用程序。我們面臨的難題是,爲了使用Web服務,這意味着iOS應用必須具有互聯網連接。管理支持多個設備的代碼
理想情況下,iOS應用程序在沒有網絡連接時應該可用,但爲了這樣做,應用程序需要從服務器複製相當多的邏輯。這顯然不是理想的,因爲它意味着代碼庫可能不同步等。
我想知道人們採取什麼措施來解決這個問題?或者我們註定要維護多個特定於我們計劃支持的設備的代碼庫?
您需要構建一個跨平臺的庫。 .NET Framework可移植類庫是您正在查找的內容。
https://msdn.microsoft.com/en-us/library/gg597391%28v=vs.110%29.aspx
看一看ServiceStack的HelloMobile example project這股ServiceModel DTO .dll和每個支持的移動平臺上的Shared.Client PCL項目。
需要Internet訪問的iOS應用程序有什麼問題?您的用戶將首先需要訪問互聯網來下載您的應用程序。您的應用第一次啓動時需要Internet連接是完全可以接受的。
如果您希望您的應用程序具有脫機功能,則可以查看使用持久性機制。核心數據和領域浮現在腦海。如果您希望使用某些版本的數據發佈應用程序,則可以在編譯應用程序時手動添加種子數據集。 Core Data和Realm都支持這一點。
數據存儲的離線功能沒有問題。問題出現在我們需要維護依賴於Web服務的應用程序邏輯時。例如,我有一個調用Web服務的按鈕,該服務依賴基於歷史信息的邏輯,這些信息可能不在電話中。 要在手機上這樣做,需要在手機上存儲歷史信息以及複製該服務中包含的邏輯。我希望這是有道理的.. – vonec
@vonec啊!好點子! – bsarrazin