Was ist Xamarin?
Xamarin ist eine Technologie, die es ermöglicht, native Apps für verschiedene mobile Plattformen wie Android, iOS oder Windows Phone mit einer einzigen Programmiersprache zu entwickeln: C#.
Man braucht also keine Grundkenntnisse in Java, das normalerweise für die Entwicklung auf Android verwendet wird, oder in Objective C für iOS, aber es ist sehr hilfreich, die Funktionsweise jeder der anvisierten Plattformen in ihren Grundzügen zu kennen (Lebenszyklus der Anwendung, allgemeine Richtlinien usw.).

Hier geht Xamarin den umgekehrten Weg wie andere plattformübergreifende Technologien. Der Entwickler beginnt mit der Erstellung einer gemeinsamen Codebasis. Diese enthält insbesondere die Geschäftslogik, die Datenbankspeicherung, die Netzwerkaufrufe und die gemeinsamen Schnittstellenelemente. Dieses Projekt kann leicht mit Unit-Tests begleitet werden, da der Code unabhängig von einem bestimmten System ist. Anschließend wird für jede Zielplattform ein Projekt erstellt. Es enthält die grafische Benutzeroberfläche, die Navigation und die Komponenten, die für jedes SDK spezifisch sind. Auf diese Weise können die spezifischen Eigenschaften von Android oder iOS genutzt werden, ohne die Benutzererfahrung auf den kleinsten gemeinsamen Nenner zu reduzieren.

Mit dem Aufkommen mobiler Technologien und Smartphones wird Xamarin immer beliebter, vor allem seit es in Visual Studio kostenlos zur Verfügung steht. Hier sind einige Dokumente, die ich denjenigen empfehlen kann, die darüber nachdenken, damit anzufangen:

Dieses kostenlose und umfangreiche E-Book auf Französisch.

Xamarin auf MSDN Kanal9 

Channel9

Weitere Ressourcen auf Englisch