2016-09-13 16 views
0

大約一年前,我製作了一個iOS應用程序,可以在任何類型的位置附近找到餐館並顯示有關它們的信息。我使用FourSquare API做了一個Web服務調用,以獲取以json格式返回的所有數據,然後我解析它並在應用程序的UI上顯示信息。現在我想製作一個使用Xamarin.Android的android應用程序,因爲我正在學習使用Xamarin工作室和C#。當我製作Xamarin.Android應用程序並轉到包時,然後添加包,我看到有一個Foursquare api包,它有一個.NET包裝器。這裏是網址:在Xamarin中使用.NET打包的API的優點

https://www.nuget.org/packages/Foursquare.Api/

所以我的問題是如何工作的呢?添加這個包是否意味着我不必再進行網絡服務調用,而是將所有數據存儲在這個包中,我只需要以與從本地數據庫獲取信息相同的方式獲取所有數據?使用這個軟件包而不是僅僅向Foursquare發起Web服務調用有什麼好處?

+0

使用API​​包裝的優點?你寫的代碼更少。你必須學習包裝而不是整個API(這應該更容易)。其他人必須在API更改時更新包裝器。可能有更多的好處。我嚴重懷疑你會發現任何API封裝器,它將API中的所有數據嵌入到你的應用中 - 圖像需要多少空間! – dylansturg

+0

好吧,我明白你的意思了。謝謝 –

回答

3

認爲它是這樣的:

這Foursquare的API很簡單,你要使用的Web服務的一個.NET包裝。因此,有人已經爲您做了所有的辛苦工作,以便您可以簡單地使用應用程序中返回的數據。

這對您意味着什麼?

那麼這意味着您不必編寫任何REST消耗代碼,並且您可以更多地關注實際應用程序以及您需要基於Foursquare對象實現的任何業務邏輯。

爲了避免混淆,這些數據的來源與您編寫自己的Web服務以訪問Foursquare API端點中的數據的方式相同。

優點:

  • 你不需要知道在他們的REST API的方式
  • 一般,所以很容易消耗如下每種語言的最佳實踐已經寫入(對象創建,方法等)

缺點:

  • REST端點可能被更新,它更新
  • 任何錯誤,直到包不能反映/框架中的問題是很難解決辦法,如果這個項目是不開源
  • 可能是缺乏關於如何使用包裝的文檔
+0

非常感謝現在。 –