【Phonegap/Cordova 入門01】そもそもPhonegapってなに?使い方など

みなさん、こんにちは!

今回は、本ブログ初のプログラム関係の話題です。こういうのも挟んでいきますよ!

はい。で、今回のテーマはPhonegap/Cordovaを使おうよ!というものです。まず、そもそもそれ何?という所から始めましょう。ほかのサイトでも詳しく説明されていますが。

PhonegapとCordovaとは、スマートフォンアプリを開発するためのフレームワークです。私はPhonegapの方を主に使っているので、以降、Phonegap/Cordovaではなく単にPhonegapと書きます。

(Phonegap/Cordovaを使用してすぐに開発していきたいんだ!という方は、こちらの記事をご覧ください⇒【Javascript】爆速でハイブリッドなスマホアプリ開発入門する)

 

まずは、特徴を列挙していきます。

1. ハイブリッドアプリ開発ができる

つまり、1つのプログラムで、Android端末でも、iOSでも動くアプリが作れます。なんとうれしい!

通常、スマホアプリ開発を行う場合、AndroidならJavaで、iOSならSwiftで、とそれぞれのプラットフォーム向けの言語で開発する必要があります。しかし、Phonegapを使用すると、サポートしている全てのターゲットで動くアプリが作成できます。

と強気な記述をしていますが、実際には、微妙に各OSごとに動きが異なる所があったりするので、実際には各OSごとのコーディングが必要だったりします。

2. 開発のための技術はHTML5+CSS+Javascript

Phonegapは、通常のWebページを作って、それをアプリで動かせるようにビルドする、みたいな感じです。普通にHTML+CSSでレイアウトと見た目を、Javascriptでユーザからの入力を処理してーという感じですね。Webアプリ開発とほぼ同じですので、潜在開発可能技術者が多いと思います。アプリを作るために新たにJavaやSwiftの学習をしなくていいですからね。ありがたいです。

NativeScriptなども同じくハイブリッドアプリ開発ができますが、こちらは、HTMLではなくXMLを使用してUI記述を行ったり、JSコードを見てもかなりWebアプリを作る感覚とは異なります。
(ネイティブ並み(というかネイティブか?)のスピードが出るので、修得しておくとかなり強いとは思いますが。)

3. WebViewで動作している

上記技術で作成されますが、裏方ではそれを完全ネイティブコードに変換しているわけではなく、WebViewというアプリ内でwebページを表示するための機能を利用して動作します。
ネイティブアプリよりも動作スピードは遅いです。その遅さが体感できる程にはハッキリしています。(2016/10現在の話です)

 

ざっと特徴としてはこんな感じです。

ここまでの話だと、
「え?じゃぁ、JavaやらSwingやらでネイティブアプリを作る意味なくね?みんなPhonegap/Cordovaで作ればいいんじゃ?」
と思ってしまいますよね。
現実はそんなことはありません。以下にPhonegap/Cordovaのメリット/デメリットを記述します

メリット

Web技術者であれば新たな技術習得は不要

HTML5+CSS+Javascriptですぐに開発に取り掛かれます。
もちろん、Cordovaのインストール、ビルド方法などのは別途学ばないといけませんが、新たに学ぶことは多くありません。修得コストはとても低いと言えます。
また、外部プラグインを使用しなければ、Webブラウザ上で動作確認ができのも便利な点です。

マルチプラットフォーム

Android, iOSの他に、WindowsPhone, BlackBerryなどにも対応したアプリが(ほぼ)1つのソースで生成できます。
前述の通り、通常であればターゲットOSごとに開発が必要ですが、Phonegapを使用することで複数ターゲットのアプリを作る時も開発工数が減少します。

デファクトスタンダード

ハイブリッドアプリ開発界隈の実質デファクトスタンダードなので(2016年ハイブリッドアプリ動向などがソース)、とりあえずPhonegap/Cordovaを学んでおけば波に乗れます。
また、開発ユーザが多いため、情報もそこそこ(海外が多いですけど)ネット上に転がっています。

 

デメリット

処理スピードが…

完全ネイティブアプリの処理スピードには敵わないです。
前述の通り、WebView上で動作するので、完全ネイティブなアプリにはスピード面ではどうしても勝てません…
3Dゴリゴリのゲーム開発などの開発には向きません。Unityしましょう。

まとめ

  • Phonegap/Cordovaはハイブリッドアプリ開発のフレームワーク
  • 3Dゲームなどの開発には向かないが、もっと動きの少ないアプリ(メモ帳、家計簿、ネットから情報を受け取って表示する系のアプリなど)の開発には向いている
  • Web技術者がスマホアプリ開発をする場合、学習コストが少なく済む

はい。今回は概要というか、かなり一般的な話になってしまいました。次回は環境構築とPhonegapアプリを動かしてみる、みたいな回にしようと思います。

以上です!

 

次の記事はこちら⇒【Phonegap/Cordova 入門02】 環境構築と実機で動作確認

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です