CodeZine(コードジン)

特集ページ一覧

Apache Cordovaで本格スマホアプリに挑戦しよう

Apache Cordovaで本格スマホアプリに挑戦しよう 第1回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/02/10 14:00

目次

開発するOSの選択

 ブラウザだけでもハイブリッドアプリ開発が部分的に進められると述べましたが、実際の実機での確認やリリース作業までを含めるとどのOSでも開発が可能というわけにはいきません。

 例えば、iOSアプリの場合、ビルド作業などでMacが必要になるなど、ネイティブアプリ開発と同じ制約があります。Androidアプリの場合にはSDKをWindows向けにもMac/Linux向けにもリリースしているので開発するOSは問いません。

 通常のアプリ開発では、AndroidとiOSの場合が多いと思いますので、多くのアプリ開発者がMacを使わざるを得ない状況になっています。また、Windows向けアプリもサポートする必要がある場合には、Windowsの開発環境が必要になります。業務でアプリ開発を行っている人は開発業務以外ではWindowsを使っていると思うので、Windowsの操作について戸惑うことはないと思いますが、Macを使ったことがない人にとって、実機検証などをするためだけにMacを操作することが面倒ではあります。そして、会社によってはセキュリティポリシーの都合上、Macを社内ネットワークに接続することを禁じている場合などもあります。

 また、iOSの場合、つい最近までは開発時に自分のiPhoneやiPadにアプリをインストールにも、iOS Developer Programという有料のプログラムへの参加と、MacもしくはiOS Developer Program上のサイトを使ってプロビジョニングファイルというのを作成し、アプリにサイニング(証明書とアプリをまとめてパッケージング)する必要があり、開発したアプリを実機にインストールすることも簡単にはできませんでした。

 現在では、この制約はなくなり実機確認が楽にはなりましたが、Mac自体は依然として必要です。

 それでも、できるだけiOSのアプリ開発をMacを使わず開発を進めたい場合には、後ほど紹介するMonacaのようなクラウド上でアプリをビルドできるサービスを用い、これらの作業の軽減をすることは可能ですので、導入を検討してみるのも良いでしょう。これらのサービスでは実機上でデバッグできるアプリもあるため、実機での動作確認も容易になります。

 ただし、サードパーティのプラグインや、自分で作っているプラグインを使う場合には、完全な確認をすることは難しいと思われるので、その場合にはネイティブアプリと同様の開発環境が必要になります。

 それでも、開発メンバーの全員がこれらの知識をもつ必要がなく、一部のメンバーが使えればいいので、これもApache Cordovaで作るメリットの一つと言えると思います。

Cordovaが使えるサービス・フレームワーク

 続いて、Apache Cordova(または、PhoneGap)が使えるサービスやフレームワークなどを紹介します。Apache Cordovaは現在では様々なサービスやフレームワークに対応しているので、クラウドサービスを使って手軽に始めたり、より本格的なアプリを作る際にはフレームワークを用いることもできます。

PhoneGap/PhoneGap Build

 Cordovaの歴史でも紹介しましたが、PhoneGap/PhoneGap Buildはアドビシステムズ社が提供するApache Cordovaのディストリビューションとクラウド上でモバイルアプリを構築するサービスです。利用するコマンド名などに若干の違いや、設定ファイルなどにも違いがあります。

 図5はPhoneGap Buildを使ったアプリの作成画面です。HTMLファイルをZipでアーカイブしてアップロードするだけの簡単なインターフェースなので、非常に手軽に始められます。また、phonegapコマンドを使ってローカルで開発することもできるので、いろいろな開発スタイルが採れます。

図5 PhoneGap Buildのファイルアップロード画面
図5 PhoneGap Buildのファイルアップロード画面

Monaca

 Monacaはアシアル社が提供するクラウド上でモバイルアプリを開発できるサービスです。PhoneGap Buildと違って図6のようにクラウド上にあるIDEを使うことで、AndroidやiOSなどの環境を用意せずに手軽に開発できます。また、ローカル上で開発できる「Local Kit」や、Visual Studioとの連携ができたり、独自のUIフレームワークを提供したりと、アシアル社自体が積極的にApache Cordovaに対しての普及活動なども行っています。

図6 monacaでの開発画面
図6 monacaでの開発画面

Ionic framework

 ionic frameworkはモバイルアプリが作りやすいように独自のUIフレームワークを提供しているフレームワークで、海外ではよく利用されています。SassやAngularJSを内部で利用しているため、これらの経験を持っていればより速く開発ができます。また、Apache Cordovaで用意されているコマンドではなく、独自のコマンドを使うようになっていますので、少々の注意が必要になります。

Sencha Touch

 Sencha TouchはExt JSなどで有名なSencha社が提供するモバイル向けHTML5フレームワークです。モバイル向けアプリケーションに特化したものではありませんが、このSencha Touchを使ってアプリケーションを作ると、それをそのまま、Sencha Cmdというツールを使ってモバイルアプリケーションにすることができます。内部ではApache CordovaもしくはPhoneGapを使っています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Apache Cordovaで本格スマホアプリに挑戦しよう

もっと読む

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。個人紹介主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしど...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5