今年初めの Xamarin 買収により Windows 大手に加わった Microsoft の Miguel de Icaza 氏は、Visual Studio、Xamarin Studio、C# を使用したクロスプラットフォーム開発の新機能を発表しました。
XamarinはC#のライブラリ、ツール、コンパイラのセットをMicrosoftに提供し、開発者は共通コードを使用してiOS、Android、Macをターゲットとできるようになりました。Xamarinの当初のコンセプトは、非ビジュアルコードのみを共有し、GUI(グラフィカルユーザーインターフェイス)レイヤーは各プラットフォームごとに個別に作成するというものでした。
2014年5月、Xamarin Formsが発表されたことで、すべてが変わりました。Xamarin Formsは、Microsoftも使用するXML言語であるXAMLをベースに、あらゆるターゲットプラットフォームで動作するGUIを定義します。Xamarin Formsは、各プラットフォームのルックアンドフィールを維持するためにネイティブコントロールをラップしますが、より多くのコードを共有できます。
本日、Microsoft の仮想 .NET イベント dotnetconf で、de Icaza 氏は、Android、Chrome、Chrome OS、Mozilla Firefox で使用されている、Google がスポンサーとなっているオープンソース プロジェクト Skia をベースにした、2D グラフィックス用のクロスプラットフォーム C# ライブラリである SkiaSharp を使用する計画を発表しました。
SkiaSharpは、Android、iOS、Mac、Windows、UWP(Windows 10ユニバーサルWindowsプラットフォーム)、そしてAppleのtvOSをターゲットとしています。de Icaza氏によると、SkiaSharpは.NETのSystem.DrawingグラフィックAPIよりも優れた堅牢なソリューションです。
マイクロソフトは、クロスプラットフォームのC#グラフィックライブラリの基盤としてGoogleのSkiaプロジェクトを使用する予定だ。
MicrosoftはVisual StudioのXamarinを拡張し、iOSとAndroidに加え、デスクトップMacアプリケーションもサポートする予定です。現在、Xamarin.MacはMacでの開発にのみ使用できます。
同時に、de Icaza氏は、Mac向けIDE(統合開発環境)であるXamarin Studioを拡張し、MicrosoftのオープンソースWebアプリケーションフレームワークであるASP.NET Coreのサポートを強化する計画を発表しました。これにより、MacでC#を使用する開発者は、モバイルアプリ自体だけでなく、モバイルアプリのサーバーバックエンドも作成、テスト、デバッグできるようになります。
イカザ氏によると、Microsoftは現在3つのIDEを持っている。Windows版のVisual Studio、クロスプラットフォームで動作するVisual Studio Code、そしてMac版のXamarin Studioだ。同社は、すべてを3回書く手間を省くため、独自のツールコードを共有する方法を模索している。TypeScript、JavaScript、Go、Pythonといった言語のリッチな編集機能をサポートするため、Visual Studio Codeと同じ言語サービスを使用する計画があり、デバッグプロトコルも共通化される。さらに、ビルドプロセスの設定と実行には、WindowsだけでなくMacでもMSBuildが使用される。
これらの将来計画に加え、de Icaza氏はXamarin Studio 6.0のリリースを発表しました。これは、コード補完やリファクタリングなどの機能にMicrosoftの.NETコンパイラプラットフォームであるRoslynを採用した初のリリースです。Xamarin StudioはMac専用IDEとして刷新され、新しいダークテーマ、C# 6.0およびF# 4.0のサポート、Xamarin Forms用のF#テンプレート、tvOSのサポートが追加されました。Xamarin Studioは64ビットアプリケーションになりました。
マイクロソフトが Xamarin を買収した主な目的はクロスプラットフォーム開発をサポートすることでしたが、その副次的な効果として、Mac で作業しながらも C# を使用する開発者に対するサポートが向上し、マイクロソフトは Azure クラウド プラットフォームへの展開や Office 365 などのクラウド サービスとの統合も期待しています。®