EVOLVE 2016 Xamarin の Evolve カンファレンスがフロリダ州オーランドで開催されており、約 1,600 人の参加者が、1 か月足らず前に完了した Microsoft による同社買収について理解を深めています。
Xamarin の主な製品は、Microsoft の C# 言語を使用したクロスプラットフォームのモバイル開発を可能にするツールとコンパイラのセットです。
これまでのところ、Xamarin チームは以前とほぼ同じように活動しており、参加者からは買収後の Xamarin 開発への関心が大幅に高まったとの報告があり、状況は順調です。
鍵となるのは、まずXamarinのiOS、Android、Mac向けのツールとコンパイラが無料になったこと、そしてMicrosoftのエンタープライズ向けプレゼンスが大企業に好意的に受け入れられていることです。少なくとも、ここにいる開発者の何人かからそう聞きました。また、Xamarinがより大規模で官僚的な企業と提携することで、その企業文化が損なわれたり、サポートの取得が煩雑になったりするのではないかと懸念する声もあります。
本日の基調講演において、Xamarin SDKが、.NET CoreやASP.NETといった他の.NETおよびC#テクノロジーも拠点とする.NET Foundationの管轄下にあり、寛容なMITオープンソースライセンスの下で利用可能になったことを発表しました。Xamarin SDKはopen.xamarin.comから入手可能です。
Microsoftによる買収はまだ初期段階ですが、その結果、いくつかの変化が既に起こっています。一つは、C#ではなくJavaベースのクロスプラットフォームモバイルツールキットであるRoboVMの廃止です。もう一つは、クロスプラットフォームランタイムであるMono上で動作するIDEであるXamarin Studioが、以前はWindowsでも利用可能でしたが、現在はMac専用製品となっています。
同社は、ビルドプロセスの一部としてMacが必要となるiOS開発にも力を入れており、Visual Studioの改良にも力を入れています。数週間前のMicrosoft Buildカンファレンスでは、Visual Studioからリモート経由でiOSシミュレーターを表示・操作する機能のプレビューが行われました。本日、XamarinはUSBリモート機能も発表しました。これは、iOSデバイスをPCに接続し、Macを経由することでアプリのテストとデバッグを行えることを意味します。
シミュレーターと USB 接続デバイスはどちらも Visual Studio のテスト レコーダーをサポートしているため、ユーザー操作を記録して再生できます。
Xamarin Studio では、ダークテーマ、Microsoft の「Roslyn」コンパイラとの統合による C# 6.0 との完全な互換性、そして .NET の関数型プログラミング言語である F# でコーディングされたポータブル クラス ライブラリのサポートが追加されました。ポータブル クラス ライブラリにより、複数の .NET プラットフォームでコードを安全に使用できるようになります。
Xamarin Studio のルック&フィールもアップデートされ、新しいアイコンと洗練された外観が採用されました。Visual Studio とのプロジェクト相互運用性が向上し、64 ビット版が利用可能になり、NuGet パッケージ管理が改善され、NUnit 3 テストがサポートされるようになりました。
XAMLのバージョンを使用してクロスプラットフォームGUI(グラフィカルユーザーインターフェース)を構築できるフレームワークであるXamarin Formsが強化されました。Xamarin Forms Previewerでは、IDE内でXAMLコードを即座にプレビューできるようになりました。これはビジュアルデザイナーではありませんが、その方向への一歩です(この機能はEvolveの参加者から好評を博しました)。
Xamarin Formsには、複数のアプリケーションに共通のスタイルを適用するためのテーマサポートや、ユーザーインターフェイスをデータソースに簡単に接続できるデータページなど、いくつかの新機能が追加されました。また、簡素化されたディープリンク機能により、URLでアプリケーション内の場所を参照できるようになりました。さらに、ネイティブコードコンポーネントをXamarin FormsのGUIに簡単に組み込むことができるネイティブ埋め込み機能も搭載されています。
テストと分析の分野では、Xamarinは、複数の物理デバイスを購入することなくアプリケーションをテストできるサービスであるTest Cloudで実行されているモバイルデバイスへの完全なリモートアクセス機能を発表しました。また、アプリケーションの使用状況とクラッシュレポートを分析するツールであるMicrosoftのHockeyAppとXamarin Insightsの新たな統合も行われました。
Xamarinの開発者DNAチャートは、開発におけるMacの広範な使用を示している
参加者が紐を使って作成した「開発者DNA」の壁掛けチャートは、Xamarin開発者の習慣を垣間見せてくれます。開発者の大多数がiOSデバイスを使用し、MacでXamarin Studioを使って開発を行っていることが分かりました。Visual Studioもそれに劣らず人気です。
こうした進歩にもかかわらず、XamarinとMicrosoftは解決すべき難題を抱えています。一つは、Xamarin FormsとMicrosoftの他のXAMLフレーバー(例えば、ユニバーサルWindowsプラットフォーム(UWP)で使用されているもの)との非互換性です。もう一つは、Appleがアプリをストアに提出する際に、LLVMコンパイラチェーンで使用される中間形式であるビットコードで提出することを必須とする方針に移行していることです。XamarinもLLVMを使用していますが、ビットコード出力はまだサポートされていません。
他社が所有するプラットフォーム用のツールを作成することには常に課題が伴いますが、開発者コミュニティが C# と Visual Studio® の快適さを離れることなく iOS と Android をサポートできるようにするという目標を達成するには、Microsoft はこれを成功させる必要があります。