Monacaで、HTML5 + CSS3 + AngularJSのモバイルハイブリッドアプリを開発する
そうだ今年はスマホアプリをつくろう
スマホアプリの開発をしたいなあと思い立ち、色々検討しています。自分は今までスマホアプリを作ったことがないので、無理かな~と思ったのだけれども、調べてみるとまったく無理でもなさそうなので、その辺についてまとめてみます。
iPhoneかAndroidか
スマホアプリというと、まず大きく二種類に分けられる。一つはiPhoneやiPad向けのiOSアプリ。そして二つ目は、Androidアプ リ。どちらの端末をターゲットとするか決めなければならない。
本当であれば両方に対応するのがいいのだけれども、なかなかうまくはいかない。iOSはswiftやobjective-cという言語で開発を行うのに対し、AndroidはJavaで開発する。言語が異なる上に端末も異なるため、一つのコードで両方対応というのは難しい 。
ネイティブアプリかWebアプリか
アプリの提供方法も二つある。一つ目は「ネイティブアプリ」。ネイティブアプリはiOSならApp Store、AndroidならGoogle Playというアプリストアからダウンロードしてインストールするという提供方法。二つ目は「Webアプリ」。単純にウェブをスマホ向けにUIを用意して提供するという方法。
作るのが楽なのは「Webアプリ」で、通常のウェブサイトをレスポンシブデザインに変更すればよい。レスポンシブデザインは Bootstrapを使えば容易に可能。
だけれども、一般的にスマホアプリというと「ネイティブアプリ」を指すことが多く、メリッ トも多い。プッシュ通知や課金などはネイティブアプリのほうがしやすい。しかし、アプリストアは審査や手続きが多く、手間 がかかるというデメリットがある。
以上をまとめると、ネイティブアプリをiOSとAndroid両方に対応するように二つ開発するのが一番いいのだけれども、これが一番手間と技術力が必要となる。開発経験が乏しい自分では、無理ではないにしても時間がかかりすぎる。さてはてどうしたものか。
妥協点はハイブリッドアプリ
これをうまく解決…というか、妥協点となる開発方法が「ハイブリッドアプリ」というもの。Webアプリをパッケージングして ネイティブアプリにまとめるようなイメージ。
言語はHTML5・CSS3・Javascriptで開発を行う。swiftやobjective-c、Javaといった難しい言語ではなく、とっつきやすい言語で開発できる。
HTML5・CSS3・Javascriptだけではスマホに搭載されたカメラやGPSなどのハードを操作することはもちろんできない。
それを可能とするのが、Apache Cordovaというもの。このCordovaによってスマホ特有の機能を活かしたアプリ開発が可能となる。
HTML5・CSS3・Javascript+Cordova、それをネイティブアプリ化するとなると、これまた大変ではないかと思うのだけれども、最近はそれらをひとまとめにして提供してくれるサービスがいくつかある。
その中でも日本の企業が開発しており、無料で使用 できるのが「Monaca」というプラットフォームサービス。
Monacaのメリット
Monacaのいい点はいくつかあって、まずは「クラウドで提供されるため、ブラウザのみで開発環境が整う」という点がある。ブラウザ上で開発を行うので、PCのパワーはそれほど必要ではなく、自分はCore2Duoの中古PCで開発を行っているが、不満がないレベルで開発がおこなえている。
端末にアプリケーションをインストールする必要がなく、インターネットとブラウザがあればどこでも開発が可能。複数端末でも使えるのが便利。
ほかには、デバッグツールが便利という点。Monacaデバッガーというアプリが、iOS、Android両方で提供されており、そのアプ リをインストールすると、簡単にデバッグが可能となる。いちいちアプリをビルドする必要がないのですぐに試すことができる ので、開発の効率化につながる。これは本当に便利。
そしてなんといっても、無料というのが一番のメリット。思い立ったらすぐ始めることができる。サポートや機能を拡張できる 有料プランもあるのだけれども、最初は無料プランで十分。というか、個人レベルならずっと無料プランで大丈夫かと思われる。ビジネスで使用するのであれば有料プランのほうがいいと思うけれども、月額5000円なので敷居は低い。
実際にアプリを作成してみると、本当に簡単にモバイルアプリが作成できる。モバイルアプリ初心者でも1週間くらいあれば簡単なアプリが作成できます。こんなサービスが無料だなんて、本当にクラウド様様だなあと思います。いま、スマホアプリやウェブアプリを作成するのは、本当に楽になりました。
Monacaでスマホアプリを作ります
こういったサービスを使えば、体力のないスタートアップ企業でも早く・簡単に・お金をかけずにサービスを始めることができ そうですね。最初は小さく初めて、スケールできたら人を雇って各プラットフォーム向けにネイティブ化すればいいわけです。
今は簡単なアプリケーションを作成しているので、開発ではまったりした点をこのブログに載せていければと思います。