- 株式会社ニジボックス
- 開発室 マネジャー
- 藤原 裕司
ハイブリッドアプリ開発を高速化。デバッグも容易なプラットフォーム「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を活用して、スピーディーに数多くのアプリを開発していきたいと思っています。(了)