Windows 10 アプリを作ってみる【説明編】【UWPとは?】【他のWindowsアプリとの違い】


Windows 10 のデスクトップアプリを作ってみよう!
ということで、UWP (ユニバーサルWindowsプラットフォーム) アプリを作ってみよう!
Visual Studio 2015 を使い、C# (もしくは VB or C++) で開発します。

と、その前に、

  • Windows 10 で動くアプリを作りたいんだけど、どうしたらいいの?
  • UWPとはなんぞや?
  • 他の Windows アプリケーションプラットフォームとは、どう違うの?
  • Windows 10 のアプリは、他の Windowsアプリ(Win8.x以前など)と違うの?

など、知識編の記事をお送りします!

( *゚▽゚* っ)З「実際にコード書く前に、私と一緒にお勉強しましょう!」

win10

このエントリーをはてなブックマークに追加

Windows デスクトップアプリ

Windowsアプリを作ろう!と思って、Visual Studio 2015 で「新規作成」をしてみます。

↓ スタートページの左の「新しいプロジェクト」をクリック
vs0

↓ すると、「Windowsアプリ」カテゴリの下には、3つのカテゴリが。
vs1

上から

  1. ユニバーサル
  2. Windows 8
  3. クラシック(=昔の)デスクトップ

です。

Σ(゚Д゚)「なんか複数ある!デスクトップアプリ作りたいだけなのに!」

折りたたまれているところを開くと、
vs3

  1. ユニバーサル(UWP
  2. Windows 8
    1. ユニバーサル Windows 8.1(WinRT
    2. Windows 8.1
    3. Windows Phone
  3. クラシック(=昔の)デスクトップ
    1. Windowsフォームアプリ
    2. WPFアプリ

どれを選んでも、Windows 10 で動くデスクトップアプリが作れます。

ヽ(;▽;)ノ「なにこれ?!なんでこんないっぱいあるの!?意味分かんない!どう違うの!?結局どれ選べばいいの!?」

( *゚▽゚* っ)З「これはね、昔の形式と、最近の形式がね、ほぼ全部列挙されちゃってるのよね。Windowsは互換性の鬼だからね、古い形式(Windows Formsアプリなど)で作られたアプリでも、普通に最新のOSである Windows 10 で動くのよ。ちなみに一番新しい形式は『UWPアプリ』よ」

これらは、どう違うのでしょうか?
そして、どれがオススメなのでしょうか?

Windowsアプリの形式の比較

↓ ストアに配布できる形式と、できない形式がある。古いものはできない
app

↓ Windowsのバージョンごとの対応表。縦の太さは、OSのシェアによる
winos

スライド引用元:今だからもう一度確認したい、クライアント テクノロジの概要と選択

( *゚▽゚* っ)З「新しい順に表にまとめてみたわ!」

正式名称 VSでの項目名 ストア配布 開発言語 UI記述言語 吐き出すファイル形式 初登場時期
UWPアプリ 「ユニバーサル」 C#/C++/VB/
JavaScript
XAML/
HTML5(JSでの開発時)
.appx Win 10
ユニバーサル(=普遍的な)Windowsプラットフォーム用のアプリ(通称「UWPアプリ」)。Windows 10 OS が入っていれば、デスクトップでもモバイルでもゲーム機(Xbox)でもHoloLensでも、一つのコード(プロジェクトファイル)で動く
WinRT Win8.1の「ユニバーサル」 C#/C++/VB/
JavaScript
XAML/
HTML5(JSでの開発時)
.appx Win 8 (モバイルは8.1)
UWPの前身。Win8.1 から、同一のソースコードで Winモバイル(スマホ) と Windows デスクトップのアプリが作れる WinRTというものができた。当時はそれを「ユニバーサルアプリ」と呼んでいた。(8の時代にもWinRTは存在したがデスクトップのみだった)
WPF 「WPFアプリケーション」 C#/C++/VB XAML .exe Win Vista
Windows Presentation Foundationのこと。XAMLが初めて出てきた
Windows Forms 「Windowsフォームアプリケーション」 C#/C++/VB .exe Win XP
Win32 「Win32」 C++ .exe Win 95
大昔からある形式

色々あるけど、私のオススメは「UWP」アプリです!
これからの Windows は 10 のみだし。(「Windows 11」などは将来存在しないということ。)
もうUWPで作っておけば間違いないんじゃないかな? Xamarin.Forms でも UWPアプリ作れるしね!

app

UWPアプリとは

uwp

UWP(ユーダブリューピー)アプリ!なんだそりゃ!?

( *゚▽゚* っ)З「UWPアプリとは、UWPで動くアプリのことよ!」

「UWP」って何?

( *゚▽゚* っ)З「UWPとは、ユニバーサル(=普遍的な)Windowsプラットフォームのことよ!『One Windows Platform』と言われることもあるわね。で、UWPアプリっていうのは、Windows 10 OSが搭載された様々な環境で動くアプリってことね。デスクトップでもモバイルでも、ゲーム機(Xbox One)でさえも!」

UWPが発表されるまでは、デスクトップ、モバイル、ゲーム機、と、派生していて、枝がバラバラでした。(Windows 8.x 時代に、統合しようと色々頑張ったりしたけど、結局バラバラだった。)
でも Windows 10 で、ついにそれらがひとつになりました!という話
journey_to_one_platform

( *゚▽゚* っ)З「Microsoftは、ずっと、環境を統一したいなあって考えていたのよ。それがようやく Windows 10 で叶った感じね!」

ふぅん!

( *゚▽゚* っ)З「まあとにかくこれから Windows アプリを作ろうと思ったら UWPアプリを作ればいいのよ。ストアでも配布できるし、そのままスマホ(Windows 10 Mobile)でも動くし」

↓ 同一のUWPアプリを、それぞれPC(Windows 10 のデスクトップ)で開いた図と、スマホ(Windows 10 Mobile)で開いた図
uwp_desktop uwp_mobile

↓ Windowsストア にあるアプリは、UWPアプリ もしくは WinRT(=UWPの前身)アプリである
store

ストアアプリは課金アプリも作ることが出来る

↓ UWPアプリは、Windows 10 のスタートメニューにある、タイル表示もできる
windows10startmenu

まとめ

UWPアプリの特徴

  • UWPアプリは、Windows 10限定である。(Windows 8 や 7 では動かない)
  • UWPアプリは、ストア(Windows Store)で配布できる。無料アプリも有料アプリも課金アプリも作れる
  • UWPアプリは、スタートメニューのタイル表示ができる
  • UWPアプリは、同じひとつのコード(プロジェクトファイル)でWindows 10 デスクトップでも、Windows 10 Mobile(=Win10の入ったスマホ) でも、Xbox Oneでも、HoloLens(=ゴーグル型デバイス)でも動く
  • 今までは、デスクトップ用、Windowsモバイル用、と、それぞれ別々にアプリを作る必要があった。しかし、UWPが発表されてからは、UWPアプリを一つ作れば、それが UWP上(≒ Windows 10 OSの搭載された様々な環境)で動くようになった

参考:

次回は UWPアプリを実際に作ってみます!
Visual Studio 2015 で「新規作成」→「新しいプロジェクト」→「Visual C# -> Windows -> ユニバーサル ->空白のアプリ(ユニバーサルWindows)」から、どんどんやっていきますよ!

(本当は実際にUWPアプリを作って見るところまで書くつもりだったのですが、予定外に説明書きが長くなってしまったので、「説明編」と「実習編」で記事を分断しました。)

( *゚▽゚* っ)З「ちなみに、現在、オフィス夜22:30よ!誰もいない」


Comments (0)