Windowsストアアプリの開発言語
Windowsストアアプリの最大の特徴は、JavaScript、C#、Visual Basic、C++など、使い慣れた言語で作成できることです。Windowsストアアプリの開発では次の方法があります。
JavaScriptとHTMLを使う
JavaScriptは、Webシステムの開発で多く使われているスクリプト言語です。実行速度は遅いですが、文法が分かりやすく初心者にも理解しやすい言語です。また、JavaScriptはオブジェクト指向型の言語で、グラフィカルなユーザインターフェースをもつWebシステム/ゲームアプリ/高度なサーバ型のWebアプリケーションなどにも幅広く使われており、注目度の高い言語です。
Windowsストアアプリでは、このJavaScriptを使ってアプリの処理部分をプログラミングして、画面デザインをHTMLで記述することができます。Windowsストアアプリではいかに使いやすいUIを作るかが重要になってきますが、ホームページなどを作成したことがある人がそのままHTMLやCSSで画面を作成できるのも特徴です。
C#/Visual Basic/C++とXAMLを使う
C言語をはじめC#/Visual Basic/C++など、これまでのアプリケーションで多く使われていた言語を使ってWindowsストアアプリを作ることもできます。汎用性と自由度の高い言語なので、どのようなアプリケーションでも作成することができます。また、コンパイル型の言語なので実行速度が早く、複雑な処理や特殊な機能が必要な場合は、これらの言語を使用しないと顧客の要件を満たせない場合もあります。ただし、言語を習得するのが難しく初心者には敷居が高くなっています。画面はXAML(ザムル)を使って記述します。XAMLはマイクロソフトが開発したマークアップ言語です。
| 項目 | JavaScriptとHTMLの場合 | C#/Visual Basic/C++とXAMLの場合 |
|---|---|---|
| 画面の開発言語 | HTML+CSS | XAML |
| 処理部分の開発言語 | JavaScript | C#/Visual Basic/C++ |
| 初心者の学習のしやすさ | ◎ | △ |
| 開発の自由度の高さ | △ | ◎ |
従来のデスクトップアプリとの違い
ここで、少しアプリケーション開発とはどのようなものかを考えてみます。
初めてアプリケーション開発をするエンジニアには、「アプリのすべての機能を、プログラマがプログラム言語を使って作る」ものだと勘違いをしている人が多くいます。
しかしながら、アプリケーションを作る際は、1からすべての処理をプログラミングするわけではなく、すでに完成している部品をうまく組み合わせてアプリケーションを作る場合がほとんどです。
具体的な例で説明します。私は、毎朝お弁当を作っていますが、おにぎりに使うお米を、稲から栽培しているわけではありません。すでに精米されたお米を焚いておにぎりを作っています。おかずは、スーパーで売っているウインナーを炒めたり、卵を焼いたりしたものをお弁当箱のなかに詰めています。早起きがつらいときは、冷凍食品のおかずを使うことありますし、前日の夕飯のおかずをそのまま詰めることもあります。
アプリケーションもこれと同じような作り方をします。つまり、
- プログラムを作るのに必要な命令はすでにあるので、それを使う
- 完成した部品があれば、それを使う
- すでに過去に作ったことがある部品があれば、それを使う
という作業をうまく組み合わせて、さまざまな機能をもつアプリケーションを効率よく作ります。
ここでいう、部品はアプリケーション開発の世界では「API」と呼ばれています。
Windows 8は、Windowsストアアプリと従来のデスクトップアプリの2種類があります。この2つの一番大きな違いは、実行環境が異なる点です。従来のデスクトップアプリは、「.NET Framework」や「Win32」と呼ばれている環境で動作しますが、Windowsストアアプリは「WinRT」という環境で動作します。WinRTはWindowsストアアプリを作ったり動かしたりするために必要な部品などの集まりのことです。
この実行環境が違うと、アプリケーションで使える「部品」が異なります。
例えば、従来のデスクトップアプリケーションで使われている実行環境はネイティブであるため、デバイスやネットワークなどの詳細部分についても、アプリケーションで自由にプログラミングすることができます。また、これまでさまざまなアプリを開発するうえで必要な処理(データベースとの連携など)がすでに部品として用意されています。それに対して、WinRT上で動くWindowsストアアプリは、従来のデスクトップアプリほど開発の自由度は高くありません。しかしながら、従来のデスクトップアプリがあまり得意でなかった、ユーザにとって操作性の高いアプリケーションを作る工夫がなされています。
従って、Windowsストアアプリに向いている/向いていないアプリをまとめると、次のようになります。
向いているアプリ
- 写真や動画・地図など、さまざまな情報を効果的に“見せる”ためのアプリ
- タブレットなどで“持ち運ぶ“ためのアプリ
- データ入力が少ないアプリ
向いていないアプリ
- 短時間に大量のデータ入力が必要なアプリ
- 既存のデータベースに接続するような大規模なアプリ
- ネットワークやデバイス操作に固有の要件があるアプリ
このようなことから、今後Windowsで利用されているすべてのアプリケーションがWindowsストアアプリに置き換わるには少し時間がかかると考えられます。企業システムの場合では、タブレットをつかって顧客に説明したりする電子カタログアプリや、社内で情報共有のために使うメールやグループウエアなどは、Windowsストアアプリに向いていると考えられます。Windowsで動作するアプリ開発を行うときは、それぞれの技術や特徴を知ったうえで、どの実行環境や開発言語を選ぶかを熟考することが大事です。
また、今日の企業システムの多くは、Windowsを採用しています。そのためWindowsプラットフォームで動作するWindowsストアアプリは、業務システムとの親和性が高く、これまで企業システム開発で培ってきた多くのノウハウが生かせるという利点があります。

