Power Automate for Desktopを勉強していると、「アプリケーション」という言葉が出てきます。アプリケーションの操作を自動化することがPADの目的なのですが、そもそもアプリケーションとは何でしょう。またWebアプリとデスクトップアプリは何が違うのでしょうか。何となく使ってはいるけれどもその意味を正確に説明できる方は少ないと思い、この記事では「アプリケーション」という言葉の意味を整理したいと思います。
アプリケーションとは
アプリケーションとは利用者の目的に応じて使うソフトウェアのことです。プログラムで作られたものはある意味で全てソフトウェアなのですが、その中でも目的や用途に特化したモノをアプリと呼びます。

日常生活の中でみなさんも目的に応じて色々なアプリを使い分けていると思います。こうした目的や用途に特化したソフトウェアのことをアプリケーションと呼びます。
その語源
アプリケーションという言葉は元々、apply(応用する)という英語から派生した言葉です。コンピュータの土台となる技術(ハードウェアやソフトウェアの技術)を「応用」して具体的な作業や問題解決に役立てるためのツールという意味が込められています。
スマホアプリ(?)
ちなみにアプリと聞くと、スマホアプリ(iOS/Androidアプリ)を思い浮かべがちですが、こちらだけがアプリではないので注意して下さい。こちらはスマホに限ったすごく狭い意味でのアプリケーションです。
Webアプリ、デスクトップアプリ
その中でもアプリケーションは大きく2つの種類に分かれます。Webアプリとデスクトップアプリです。結論から言うと2つには以下のような違いがあります。

- デスクトップアプリ:PCに直接インストールして使用するソフト
- Webアプリ:インターネットを通じて情報をやり取りするソフト
デスクトップアプリ
デスクトップアプリは外部と情報をやり取りせず、その端末内で処理が完結します。例えばWordやExcelをクリックすれば、ネットにつながなくてもそのまま使うことができますよね。パソコンに直接インストールして使うモノであり、処理はパソコン自身が行い、画面はOSが表示しています。
Webアプリ
対してWebアプリケーションは端末の中だけで処理は完結しません。インターネットを通じて情報をやり取りしながら、処理を行います。Amazonでネットショッピングをする際にはインターネットに接続している必要がありますよね。処理はインターネット上にあるサーバが行い、画面はHTMLで作成し、ブラウザで表示する仕組みとなっています。
使用するアクションの違い
PADでアプリを操作する際はこれら2つを明確に区別する必要があります。なぜなら使うべきアクションが異なってくるからです。
まずWebアプリの場合は「Webオートメーション」アクショングループの中から処理を選んでいきます。ブラウザをベースとした操作になるので、HTMLの解読に特化したアクションがこちらでは用意されています。Webの操作を自動化する際には「Webオートメーション」アクショングループを使うのが鉄則です。

それに対してデスクトップアプリの場合は「UIオートメーション」アクショングループから処理を選んでいきます。こちらはC#やJavaで作られたWindowsアプリケーションを操作するためのモノであり、ウィンドウの取得などに特化したアクションが用意されています。

全てのアプリケーションを「UIオートメーション」で扱うことも可能ですが、Webを操作する際は「Webオートメーション」を使った方がより正確で、様々な専用のアクションも用意されています。そのため、自分が今どんな種類のアプリケーションを操作しているのかを意識しながら、対象のアクションを選ぶことができると良いかもしれません。