C# программист хочет разрабатывать под Android: Java с нуля или Xamarin?
==========================================================================

 Хочу начать разрабатывать под Android, знаю более-менее C#. Вопрос: с чего начинать?  
  

Учить Java или начать с Xamarin? Gamedev не интересен, думал написать для начала простой to-do list. 

 Если вы хотите писать только под Android - изучите Java, она очень похожа на C#, простое нативное приложение можно написать в течении недели изучения.  
  

Если вы хотите писать кроссплатформенные приложения (Android, iOS, Win8, WP8) можно попробовать Xamarin. Если пойдете этим путем, могу посоветовать фреймворк mvvmcross - он интегрируется с Xamarin и сильно облегчает написание кроссплатформенных приложений приложений используя MVVM-подход. 

 Начните с Xamarin, не понравится - пересядете на нэйтив. 

 Я лично пошел путем Ксамарина, даже приобрел лицензию за 300$. Учусь разрабатывать под IOS, пока ни о чем не пожалел.   

И насколько я знаю, в проект Xamarin можно добавлять нативные сборки. 

 По топику. ИМХО: Если писать только под Андроид - имхо, я бы рекомендовал вам путь "изучить джаву". Это дольше, но "основательнее".   
  

Имхо, как "андроидовец пишущиц на Java" - вы будете более востребованы, чем "андроидовец пишущий на Xamarin" и пр.   
  

Кроме того : освоить сам язык - на уровне достаточном что бы с мануалами написать простой тудулист - не составит проблемы. Для андроида нужно учить не JavaSE/JavaEE, а AndroidSDK - они пересекаются с JavaSE только некоторым набором базовых библиотек.  
  

Т.е. "если вам и так и так учить новый SDK - так зачем учить ксамариновский SDK, если можно выучить сразу AndroidSDK"? 

 Если вы не ставите цели писать коммерческие приложения, то в этом случае можно бесплатно воспользоваться [dot42](http://www.dot42.com/). Из минусов: только для Android. 

 А если я начинающий программист C# и уровень знания языка на среднем уровне xamarin подходит для разработки под андроид