パソコンやスマートフォン、タブレット端末で利用できるアプリは、大きくWebアプリケーションとネイティブアプリケーションの2種類に分類できます。この2つの大きな違いは、インターネット通信を必要としているかどうかです。
ブラウザ経由で特定のWebページにアクセスしなければならないWebアプリは通信回線が必要ですが、端末にインストールすれば利用できるネイティブアプリは通信回線を必要としません。反対にSkypeなど一部を除くWebアプリは、インストールの必要がなく通信環境さえあれば手軽に利用できるのがメリットです。

開発面に目を向けていくと、Webアプリケーションに用いられている言語はHTMLが主体です。そのほか、画面の装飾やデザインを構築する言語であるCSS、ユーザーが操作した際に動きを与えるJavaScript、PHPなどWebページ作成と同様の言語が用いられています。
一方でネイティブアプリは、OSやその端末の機能・特性をフル活用した動作が一般的です。そのためOSおよびその端末の特徴に合ったプログラミング言語を用いる必要があります。iOSに対してはSwiftやObjective-C、Androidに関してはKotlinやWebページ開発でもお馴染みのJavaが用いられることが多い傾向にあります。

Webアプリが優位な点は、OSアップデートの影響をほとんど受けない点や、プラットフォームの審査が不要な点です。集客および利益を得るにはアプリストアを利用しなければならないネイティブアプリに対し、Webアプリはストアが不要であり課金手数料などが発生しないため、コスト面でも有利です。