• 株式会社ニジボックス
  • 開発室 マネジャー
  • 藤原 裕司

ハイブリッドアプリ開発を高速化。デバッグも容易なプラットフォーム「Monaca」とは

〜ハイブリッドアプリ開発プラットフォームの「Monaca」を活用して、素早いスマホアプリ開発を実現している事例〜

スマホアプリ全盛の時代。開発するアプリの質は高まり、それにつれて開発期間は長期化する傾向がある。

株式会社リクルートホールディングス100%出資子会社である、株式会社ニジボックス。

同社では、ハイブリッドアプリ開発プラットフォーム「Monaca(モナカ)」を活用することで、2週間で既存のWebサービスのアプリ化を実現した。

Cordova(コルドバ)」をベースとしたハイブリッド方式での開発に加え、プログラムの変更を即座に実機でデバッグできる「Monacaデバッガー」が、そのスピード感を実現したという。

今回は、開発室のマネジャーを務める藤原 裕司さんに、同社の開発スタイルや、Monaca活用の効果について、詳しくお話を伺った。

Mashup Awardsでの受賞を機に、ニジボックスへ

以前はSIerで働いていたのですが、リクルートが主催する日本最大級の開発コンテスト、「Mashup Awards」で受賞したことをきっかけに、リクルートに転職しました。

子会社のニジボックスへの出向が前提だったのですが、ニジボックスの「とにかくアプリを出しまくる」という発想が自分にマッチしていたんです。

現在はニジボックスにて、自社サービスや受託案件の開発と並行して、開発チームのマネジメントを担当しています。

低コスト・短納期なハイブリッドアプリ開発を支える「Monaca」

弊社では、低コストで数多くのアプリを開発するための工夫をしています。

例えばソーシャルゲームでは、基本的な仕組みをまず作り、外側だけを変えて横展開するという発想が取り入れられています。そうして、多くのアプリを、低コストで素早くリリースするんです。

また、ネイティブアプリにも同じ考えを取り入れ、共通部分をネイティブで作り、中身となるコンテンツ部分をWebViewで作る、ハイブリッドアプリで開発をしています。

その開発を支えているのが、ハイブリットアプリ開発プラットフォームの「Monaca(モナカ)」です。

▼ハイブリッドアプリ開発プラットフォーム「Monaca」Webサイト

ハイブリッドアプリ開発では、以前から「Cordova(コルドバ)」のようなフレームワークが使われています。ですが、Cordova単体だと、使いづらかったり、難しい部分があり…。

Monacaは、Cordovaを内包していながらも、その使いづらさが解消されたプラットフォームです。

「Monacaデバッガー」で、実機での確認も素早く

Monacaを使ってみて衝撃を受けたのは、「Monacaデバッガー」です。ブラウザでコードを書いて保存したら、即座にスマホ側にも更新が反映され、実機でデバッグができるんです。

「これは開発効率が高いぞ!」と思い、まずは、自社サービスとしてWeb版を提供していた、レシート画像を送ると買い物がお得になる「レシポ!」のスマホアプリ化に活用しました。

すでにアプリ化を見据えてAPIが完成していたという前提ではありますが、実工数2週間で開発を終え、リリースすることができたんです。

▼レシポ!のサービス概要(左)と実際のアプリ画面(右)

1stリリースはメインフローを意識。細かい改善はリリース後に

もちろん、2週間の開発で完璧なアプリは作れません。ただ、アプリは出してみないとわからないことも多いので、弊社では素早くリリースすることを優先しています。

そこで重視しているのは、私たちが「メインフロー」と呼んでいる、そのアプリのメインの機能の一連の流れをスムーズに行えるようにしておくことです

「レシポ!」でいうと、トップ画面で商品を選択し、レシートを撮影してポイントを受け取るまでの流れですね。

まずはメインフローを中心としたシンプルな形でリリースして、細かい部分に関しては、ユーザーからのフィードバックを受けることで、改善していけばいいと思っています。

実際、「レシポ!」の場合も、ユーザーの反応を見ながら、最適なUIへ柔軟に変更していきました。今となっては、当初のUIの影も形もありません。そういった細かい調整も、Monacaならすぐに実機で確認できるので、便利ですね。

ハイブリッドで開発すると、エンジニアの採用も楽に!

Moncaでハイブリッド開発することの利点は、やはりHTML、CSS、JavaScriptというWebの技術だけで開発できることです。

そうすると人を集めるのも楽なんですよ。「iOSのアプリをリリースしたことがある人」と言うより、「JavaScriptを一生懸命書いてきた人」と言った方が、圧倒的に人が集まりやすいんです。

さらに言うと、面接も楽ですね。面接する側からすると、JavaScriptなら、最近使ったライブラリを聞けば弊社の仕事に合うか、ある程度判断できます。

ハイブリッド開発に向くアプリと、向かないアプリの違いとは?

ハイブリッドのアプリ開発も、やはり万能というわけではありません。向くアプリと向かないアプリがあるんです。

ひとつは、やはりスピードですね。JavaScriptがWebブラウザで動くだけなので、やはり動作はネイティブより遅くなってしまいます。

もうひとつ、iOSなりAndroidなりの端末の機能をふんだんに使うアプリでは、ネイティブで開発した方が良いと思います。

ハイブリッドで開発すると、JavaScriptから端末の機能を呼び出すために、いちいちプラグインを作る必要がありますし、それだとMonacaデバッガーでのデバッグはできないため、開発の効率が落ちるんですよ。

ただ、弊社のクライアントさんは、それほど動作速度が命というわけでもないですし、アプリを開発する理由も、「スマホのホーム画面にアイコンを置けるようにしたい、プッシュ通知を送りたい」といったところが主なので、それほど端末固有の機能は使いません。

そういった要件であれば、ハイブリッド開発がベストフィットするので、弊社では、受託案件でもすでに数件、Monacaを使って開発しました。

プラグインの開発が進めば、Monacaはもっと便利になる!

Monacaには、ブラウザでコードを書く「Monacaデバッガー」だけでなく、ローカル環境での開発、例えば「Visual Studio(ビジュアル スタジオ)」や「Sublime Text(サブライムテキスト)」を使っている人向けのツールもあるので便利ですね。

要望があるとすれば、より開発を効率化するために、端末の機能を呼び出すためのプラグインを、公式で開発してくれると嬉しいですね。

今後もMonacaを活用して、スピーディーに数多くのアプリを開発していきたいと思っています。(了)

;