Xamarin是一款用C#語(yǔ)言編寫(xiě)跨平臺(tái)應(yīng)用的開(kāi)發(fā)框架,支持的平臺(tái)包括iOS、Android以及Mac.
解Xamarin的主要目的是為了移動(dòng)項(xiàng)目跨平臺(tái)尋找更優(yōu)的開(kāi)發(fā)方案.Xamarin官方號(hào)稱(chēng)在android\iphone\ipad\mac\windows phone\windows 8已實(shí)現(xiàn)跨平臺(tái),并且實(shí)現(xiàn)跨平臺(tái)可以重用90%的代碼.
根據(jù)從mono的跨平臺(tái)實(shí)現(xiàn)原理,了解到Xamarin也是采用gtk#作為ui層,但令人沮喪的是Xamarin下的ui層并不能跨平臺(tái),具體原因不理解是為什么,我猜大概還是因?yàn)槟承┤藶榈南拗?因?yàn)間tk做為跨平臺(tái)的UI層在技術(shù)層早已不是問(wèn)題.
Xamarin帶了Xamarin studio,但只能做android下的開(kāi)發(fā),這是我比較納悶的一點(diǎn).
Xamarin還提供了for vs2010 vs2012的插件,這個(gè)是比較吸引人的地方.但插件里面只有android\ios類(lèi)型的項(xiàng)目,更多其它平臺(tái)上的項(xiàng)目都沒(méi)有.ios的項(xiàng)目的編譯和調(diào)試需要xcode支持,則說(shuō)明還需要一臺(tái)mac的系統(tǒng)以及xcode環(huán)境,以及一個(gè)裝在mac上的輔助軟件Xamarin.ios,Xamarin.ios是運(yùn)行在mac上的軟件,用來(lái)負(fù)責(zé)編譯和調(diào)試軟件,并且把結(jié)果通過(guò)socket通信反應(yīng)到IDE上.