はじめに
こんにちは、@hiro128_777です。
C# / .NET 系のクロスプラットフォームフレームワークもいつも間にか、Xamarin.Forms, Uno.Platform と Mobile Blazor Bindings(まだ Experimental ですが) と3種類も登場しています。「さあ、これから C# でクロスプラットフォームやるぞ」という方は、いったいどれから始めればいいのか迷ってしまうと思いますので、それぞれ、どんな違いがあるのかを簡単に整理してみました。
Xamarin.Forms, Uno Platform と Mobile Blazor Bindings のアーキテクチャの比較
Xamarin.Forms
Uno Platform
Mobile Blazor Bindings (実験段階)
Xamarin.Forms, Uno Platform と Mobile Blazor Bindings それぞれの特長
Xamarin.Forms | Uno Platform | Mobile Blazor Bindings (実験段階) | |
---|---|---|---|
UI コントロール | 各プラットフォーム独自UIを尊重 | UWP UI の再現を重視 | 各プラットフォーム独自UIを尊重 |
DSL | XAML (Xamarin.Fomrs独自) | XAML (UWP Based) | Razor |
iOS | ◯ | ◯ | ◯ |
Android | ◯ | ◯ | ◯ |
UWP | ◯ | ◯ | × |
Web | × | ◯ | × |
カスタマイズ難易度 | ◯ | × | ?(まだ不明) |
まとめ
Mobile Blazor Bindings はまだ Experimental ですが、Xamarin.Forms と Uno Platform は問題なくアプリ開発ができます。
Xamarin.Forms の方が設計的に、iOS, Android の最終的なアプリのカスタマイズが考慮されており、iOS, Android らしさについて細かい調整ができます。
Uno Platform は、カスタマイズはあまり考慮されていませんが、各プラットフォームでの見た目の差異が少ないので、UI にこだわりがないツール的なアプリが本当に簡単に作成できます。
Mobile Blazor Bindings は、今の所、Razor で Xamarin.Forms のUI が書けるという感じです。
実際にサンプルアプリをビルドしてみるとその違いがよくわかりますので、ぜひ試してみてください。