Objective-C 開発者向けの Xamarin

iOS を対象とした開発者は Xamarin を使用し、 ユーザーインターフェイス 以外のコードをプラットフォームに依存しないC#に移行する事で、Xamarin.Android を利用した Android や様々な Windows など、C#が使用可能なプラットフォームであればどこでもそのコードを使用できるようなります。 ただし、Xamarin で C# を使用したからといって、既存のスキルや Objective-C のコードを活用できなくなるわけではありません。 実際、Objective-C を理解することでより優れた Xamarin.iOS の開発者になることができます。Xamarin には、UIKit、Core Animation、Core Foundation、Core Graphics といった、慣れ親しんだ iOS および OS X プラットフォームのネイティブ API がすべて公開されているためです。 同時に、LINQ や Generics などの機能を含む C# の強みや、ネイティブ アプリケーションで使用できる .NET 基底クラスの豊富なライブラリを活用できます。

さらに、Xamarin では、バインディングと呼ばれるテクノロジを使用して既存の Objective-C 資産も利用できます。 次の図で説明されているように、Objective-C でスタティック ライブラリを作成し、バインディングを使用して C# に公開するだけです。

A static library in Objective-C exposed to C# via a binding

これは非 UI コードに制限する必要はありません。 バインディングでは、Objective-C で開発された ユーザー インターフェイス コードも公開できます。

Objective-C からの移行

ドキュメント サイトには Xamarin への移行を簡単にするための情報が多数用意されており、C# コードを使い慣れたコードに統合する方法が示されています。 以下のような情報は特に使い始めに重要です。

Objective-C のバインディング

C# と Objective-C の違いについて理解し、上記のチュートリアルでバインディングについて確認したなら、Xamarin プラットフォームに移行する準備は整いました。 フォローアップとして、バインディングの包括的なリファレンスを含む Xamarin.iOS のバインディング テクノロジに関する詳細情報を、Objective-C のバインディングに関するセクションで確認できます。

プラットフォーム間の開発

最後に、Xamarin.iOS への移行後は、クロスプラットフォームに関するガイダンスを確認できます。これには、開発した参照アプリケーションのケーススタディや、クロスプラットフォーム アプリケーションの構築のセクションに含まれている再利用可能なクロスプラットフォーム コードを作成するためのベストプラクティスが含まれています。