ユニバーサルWindowsアプリ(Pre)入門000:概要

金曜日 , 12, 6月 2015 Leave a comment

本記事はWindows 10で導入されるユニバーサルWindowsアプリ開発の入門記事です。

前置きとして、記事公開時点では、Windows 10、Visual Studio、ユニバーサルWindowsアプリのSDKどれもプレビュー版(正確にはプレビューだったりRCだったり)であり製品版で変更される可能性があることをご了承ください。

 

まずは第0回としてユニバーサルWindowsアプリの概要について紹介しようと思います。

ユニバーサルWindowsアプリとは?

 

誤解を恐れずに書くと、Windows 8から導入されたWindowsストアアプリの進化版です(流れとしてはWindows Phoneが源流でしょうが、WinRT土台と考えた場合Windows 8からが良いのかなと)。

Windows 8では、メトロアプリ、ストアアプリなと呼ばれましたが、WinRTという新しいランタイムと、タッチ操作への対応、アプリ配布用のストアなどを備えて登場しました。

Windows 8.1では加えて、Windows Phoneのコードもより共有しやすいプラットフォームに発展しました。日本ではWindows Phoneが発売されておらず、力を発揮し辛い事情もありますが、SharedプロジェクトはXamarinでも利用可能になるなど、開発がしやすくなった感はありました・・・が、どうも統一が不完全感は残りました(これもユニバーサルWindowsアプリって読んでいた気がするけど、どうでしたっけ)。

そして、Windows 10でデスクトップPC、Windows Phoneのみならず、IoTデバイス、XBox One、iOSアプリやAndroidアプリを変換するなど、プラットフォームとして大きく広がりを見せたのがユニバーサルWindowsプラットフォームであり、そこで動作するユニバーサルWindowsアプリなのです。

 

WinRTを土台としたプラットフォームは順当な変更を遂げて来て、Windows 10が入っている環境ならすべてで動くという一つの完成が見えて来ました。

これが、どのくらい完成かというところは、これから触りながら紹介していければと思います。もちろん、iOS、Androidなどの展開も含めて。

 

WinRTベースのプラットフォームの特徴

 

私自身まだまだユニバーサルWindowsアプリをしっかり理解したわけではないので、これまでのWinRTの流れをくむ(んでいるはずである)という前提で、WinRTベースのプラットフォームの特徴を紹介します。

 

・サンドボックスがあり、従来のデスクトップアプリほどなんでもできるわけではない(ファイルを保存したり、操作できるフォルダが限られているなど)

・タッチ対応のUIが作りやすい

・APIレベルで非同期対応が進んでいる

・ストアから配布するので、ストア以外での配布が苦手

・Xamarin、Cordovaなどを使えばiOSやAndroid展開も

・今後、iOS、AndroidアプリをユニバーサルWindowsアプリに変換できる?

 

で、やった方がいいの? 待ちなの?

 

あんまり考えたことなかった・・・。

Windows Phoneラブとかストアアプリラブな人は、もう愛の力で突き進むので、このプラットフォームに投資することの費用対効果とかあんまり考えないで突き進む気がする。

実際のところWindows 10の普及次第、頼むぞWindows 10!!

 

もうちょっと、ちゃんと話すなら「ぜひ、やりましょう!!」な2つの理由があります。

 

・ユニバーサルWindowsアプリがあまり普及し無い場合:多くの人に恩恵はいきわたらないですが、徹底的にやれば第一人者になりやすいですよ!!(悪魔の誘惑)

・ユニバーサルWindowsアプリが普及した場合:先行者利益を得まくりですよ!!

 

うん、前者はかなり狭い門な気がしますが、求ムそういう人!!

 

本記事で紹介していきたいもの

 

基本的にアプリ開発者向けの入門記事ですが、ユニバーサルWindowsアプリのそれぞれのプラットフォームを視野に入れると、多岐にわたりすぎてフラフラしてしまう懸念があります。それでも最初は色々とつまみながら書いて行こうと思います。

書籍はWeb記事のように統計立てて書いていくわけではないので、順番に読んで行ける類のものにはなりません(ある程度まとまったらWeb記事とか出版したいなぁ)。

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください