Nemam pojma o tome kakav je Xamarin, ali mnogi tvrde da je najbolje raditi na način koji proizvođač preporučuje - Dalvik za android, Objective C (još uvek) za iOS. Ako baš hoćeš cross platform, napravi aplikaciju kao web i onda se može upakovati i kao klasična aplikacija, tako da korisnik nije ni svestan da je u pozadini neki web engine. Treće, postoji Qt SDK, koji gađa šta god hoćeš od sistema, a osim toga podržava i više jezika. Ako baš hoćeš, ima i integraciju u VS, kao i svoje okruženje Qt Creator i odavno je open source.
Takođe me živo zanima šta to VS nudi što nemaju druga ozbiljna okruženja. Windows kao platforma za programiranje? Nemam pojma koje su prednosti, kojih možda i ima. Znam samo za mane. GNU/Linux je integrisana koherentna celina od gomile alatki za programiranje, koje se savršeno uzajamno uklapaju. Zašto li MS sada prebacuje bash na Windows? Ko zna dokle će to sa mogućnošću pokretanja GNU/Linux programa pod windows-om da ide. Međutim, to teško da može biti user friendly kao prava GNU/Linux distribucija. Šta god ti zatreba od alatki, več imaš u zvaničnim repoima i ne treba ništa da podešavaš - sve odlično radi i sarađuje out of the box.
rekao bih da je najveća mana Xamarin-a jezik C#, koji je zajedno a Javom odigrao svoju istorijsku ulogu i sada pripada prošlosti i sadašnjosti, ali ne i budućnosti. Sadašnjost i bliska budućnost je u js-u, a malčic dalja budućnost u Rust-u. Dakle,
1. Danas - web (js),
2. Sutra puno iskorišćavanje prednosti funkcionalne paradigme (rust),
3. Prekostura code verification (idris, F* - sors sadrži kod i mašinski dokaz da kod ima neka svojstva),
4. Naksutra Curry-Howard correspondence (sors sadrži samo dokaz postojanja objekta koji ima potrebna svojstva rezultata, a kod se u celini mašinski generiše iz dokaza i programer ne mora nikada da vidi kod, pri čemu mašina pomaže u unošenju dokaza).
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.