2018年 UWPへの旅 #001
なんか唐突に思いついてこんなタイトルを付けてみた。
#001 とかつけている割に3回くらいでフェードアウトしているかもしれないが。とりあえずもやもやしているところをまとめてみようかと。
UWPはUniversal Windows Platform。Windows 10 のマルチデバイス プラットフォーム のアプリケーション基盤である。組み込みから、モバイル、PC、ハブ、そしてホログラフィックまでカバーするアプリケーションプラットフォームである。Universal とはいえ、Windows 10 の上の話。Universal Application はほかのプラットフォームでもよくつかわれており、それぞれのプラットフォームでマルチデバイスをUniversal としている。
今のUWPに足りないもの
WPF, Silverlight, そして WinRT から UWPと見続けてきた身として、今のUWPはまだ過渡期であると勝手に思っている。そこにはまだ少なくとも2つの要素が足りていない。
- iOS / Android / MacOS まで含めたマルチデバイス対応
- .NET Framework API 高いレベルでの統合
もちろん、それは言わずもがな、Xamarin があり、そして mono, .NET Core, .NET Framework の統合の道がある事は既に Build や Connect(); で話されている。さらに言えば、また必要なものがある。
- UI Language の進化
- 3D オブジェクトの標準対応
- 外部デバイスとの連携とその標準プロトコルへの対応
- UI要素とコンポーネント要素の動的な連携
- クラウド、AIとの連携のためのインターフェースの標準化とモジュール化
UI Language の進化がそこに加わる必要がある。3Dという要素が、特別なものではなく、画像と同じというか Media の一つとして扱われてこなくてはならない(と勝手に思っている)またUWPはサービスやデバイスとの連携は必須であり、とくにハードウェアとの連携はどこかで大きな進化と対応が迫られるはずだと勝手に思っている。
まぁ、本当に「世界の中心でUWPを叫ぶ」的な偏った見方ですが。
あるべき(あってほしい)姿に向けて
2018年 1つのソースを書いて、コンパイル先デバイスを選び、追加ライブラリやUIをデバイスとともに動的に連携する、それがUWP、的な話になっていてほしいという妄想です。それはXamarin じゃない?と言われるかもしれないですけどね。Xamarin ではなく UWPとして統合されていってほしいかなと。Universal Platform の形ってそれだと思うので。
とりあえず 2018年にそこまで行くには、それまでにUWP/Xamarin/Azure で出来るすべてを網羅せねばならないわけで、それは私の宿題です。