2013-03-06 51 views
9

Xamarin似乎是我跨平臺開發的不錯選擇。但是,有啓動器和獨立執照。主要的不同之處在於:Xamarin c#代碼的IL大小?

Xamarin入門允許開發人員構建和發佈簡單的應用程序, 包含(IL)

我想知道,不超過32K的編譯的用戶代碼,是32K IL是一個非常嚴格的瓶頸?我能從32K代碼中得到什麼?

如果您已經嘗試過Xamarin starter版本,那麼您的大小限制對您來說是一個問題,您開發了哪種類型的應用程序?

+3

問題是,這個版本剛剛在一週前上市,所以可能沒有很多人已經創建了一個應用程序。由於它*是免費的,爲什麼不直接下載它並創建一個Hello World應用並查看大小是什麼? – valdetero 2013-03-06 16:58:10

回答

16

更新(2016年3月31日):這一限制並不存在使用了9.6.1 Xamarin.iOS

由於Xamarin.iOS 9.8.1沒有入門版本了,新社區版那取代它有沒有大小限制。

更新:限制增加到128KB在Xamarin.iOS 8.4

更新:限制在Xamarin.iOS增加到64KB 6.2

請記住,這是用戶的32KB的代碼。您可以獲得所有.NET類庫(BCL),iOS API,MonoTouch.Dialog(用於UI),Web服務,數據(例如sqlite)等等,甚至可以隨時使用單元測試代碼。它們都不是用戶代碼(因此它們不是32KB限制的一部分)。

E.g.一個你好的世界應用程序(不是一個偉大的基準,它將主要生成代碼)將需要大約4KB。

更好的方式來看看有什麼可能的,並瞭解iOS上的C#開發是看看github上提供的samples。他們中的大多數都符合這個限制。

+0

幾乎沒有真正的跨平臺應用程序將符合此限制。一個很好的例子是他們自己的「現場服務」應用程序。除非我刪除了替代平臺(嘗試WP8),否則無法構建它。似乎iOS構建確實符合限制。 – 2013-04-22 19:58:30

+0

該限制是每個平臺(.app for iOS)。 IOW只有iOS需要的代碼才能計算極限,其他程序集(如果未從項目中引用則不計算)。 OTOH樣本使用了幾個組件(如SignaturePad和Xamarin.Mobile),這些組件不會超出限制範圍。您仍然可以**使用30天試用**嘗試**(無尺寸限制)。 – poupou 2013-04-22 20:06:41

+0

你可以分開PCL(可移植類庫)中的任何應用程序邏輯,並減少實際的Xamarin用戶代碼大小 – 2015-05-06 15:49:34