SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

開発する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を使っています。

次のページ
Apache CordovaをサポートしているIDE

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Apache Cordovaで本格スマホアプリに挑戦しよう連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9218 2016/04/07 10:46

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング