ネイティブアプリ
別名:ネイティブアプリケーション
【英】native application, native apps
ネイティブアプリとは、一般的には、端末内の演算装置が直接に演算処理を行う(実行する)タイプのアプリのことである。
ネイティブアプリの語、は主に「Webアプリ」や「Javaアプリ」との対比において用いられる。スマートフォンやタブレット型端末において言及されるネイティブアプリは、主にWebアプリと対比したものである。
ネイティブアプリに対する「Webアプリ」とは、演算処理をネットワーク上のサーバーで行うタイプのアプリケーションのことである。Webアプリでは端末はもっぱら入出力のみを行う。ネイティブアプリの場合、端末内部の処理装置で演算処理を行う。Webアプリの利用にはインターネットに接続できるネットワーク環境が必要となるが、ネイティブアプリは必ずしもネットワーク環境を必要としない。通信にかかる時間の遅延も決定的に異なる。
Webアプリの処理性能はサーバーに依存し、ネイティブアプリの処理性能は手元の端末のハードウェア性能に依存する側面が強い。Webアプリは手元の端末のスペックにあまり左右されず利用できるが、ネイティブアプリの場合、所有する端末のスペックが極端に低ければ、処理を正常に実行・完了できない場合もあり得る。他方、Webアプリは、手元の端末のスペックにかかわらず、通信障害やサーバー側のシステムの不具合などによって利用に支障を来す場合があり得る。
ネイティブアプリに対する「Javaアプリ」とは、Javaで記述され、Java実行環境(JRE)によりJavaコードをネイティブコードに変換して実行する仕組みを持ったアプリケーションのことである。Javaアプリとの対比におけるネイティブアプリは、直接ネイティブコードで記述されたアプリケーションを指す。Javaアプリによる開発は、ネイティブコードでのアプリ開発に比べて参入のハードルが低く、より豊富なアプリ市場が形成されやすい。
Javaアプリとネイティブアプリとの対比は、携帯電話(フィーチャーフォン)の発展史において話題に上ることが多い。スマートフォンやタブレット型端末などのスマートデバイスでは、ソフトウェア開発キット(SDK)で開発されたアプリをネイティブコードに変換して実行するJavaアプリ型の方式が当たり前となっており、ことさらにJavaアプリとネイティブアプリとを対比することはあまりない。
ちなみに、Android端末などのスマートデバイスのアプリ(モバイルアプリ)において、アプリケーション自体はネイティブアプリでありつつデータの扱いはWebアプリと同様であるような作りのものを「ハイブリッドアプリ」または「ガワネイティブ」などと呼ぶ場合がある。ユーザーインターフェースはレスポンスがよく機能も豊富に、そして情報はクラウド上の豊富なデータを用いてリッチに、というような、両方式のメリットの総取りが期待できる方式として注目されている。
|