当社がハイブリッドアプリ開発にMonacaを選んだ理由
こんにちは、Monacaソムリエです。
ソムリエだから、たまにはMonacaの記事を書けとご要望をいただいたので、
今回はMonacaについてです。
ただ、技術的なところではなく
なぜ、当社がハイブリッドアプリ開発にMonacaを選んだか?です。
Monaca導入前はどちらかというとiOS、Androidそれぞれのプログラム言語(Objective-c→Swift、Java)
を使って、それぞれの開発環境(Xcode、Eclipse→Android Studio)でネイティブアプリ
を中心に開発していました。
もちろん、ハイブリッドアプリ開発(Cordova)でやっていて、
ハイブリッド開発含めて、当社の開発状況を見ていて
どのプロジェクトでも同じようなことで問題になっていました。
「なぜ、開発環境構築に時間がかかるんだろう?」
「なぜ、こんなにややこしいんだろうか?」
プロジェクトによって、またはOS(iOS、Android)によって開発環境の構築手順が
異なります。毎回同じ方法ではなく、毎回異なります。
新しい人がプロジェクトに参画すると、決まってこんな声が聞こえます。
「ビルドが通らない。。。」
これで半日、ひどいときはこれに2、3日費やしてしまいます。。。
また、いちいち環境手順書を作らないといけないし、手順書がないとプロジェクトが壊れたときに
泣きをみます。。。
「なぜ、こんなに無駄な時間をつくってしまうのだろうか??」
これが、私の素朴は疑問でした。
以前から何となく知っていたMonacaですが、ある日その説明会がオンラインで
無料で開かれるので、聞いてみました。
聞いてみて思いました。直感で「これはイケる」と。
直感だけで決めたのではなく、これで先ほど言った課題が解決出来ると確信したからです。
なので、即稟議を書いて、即導入しました。
やはり、開発環境を整えるのが非常に楽です。
Cordovaベースである程度作られているので、すぐに開発が始められます。
面倒な構築手順はいりません。
あとは、すぐに始められるので学習コストも抑えられます。
ご存知の通り、HTML5+CSS+Javascriptで開発します。
つまり、Web知識さえあれば、ネイティブアプリ未経験者でも始められるということです。
当社はもともとネイティブアプリの知識は豊富でしたので、不足する知識は充分カバー出来ました。
Cordovaプラグインはネイティブコードで書かれていたので、そのデバッグ知識や実際に作れるという
ところに強みがありました。
あとはWebデザイナーとの親和性が高くなりました。
Webデザイン→HTMLコーディング→そのままMonacaアプリ開発と
つなげられたので、デザイナー(フロントエンジニア)のスマホアプリでの活躍の場
が広がったということです。
ここで簡単にMonacaのメリット、デメリットをまとめておきます。
メリット
・環境構築が楽
・Web知識で開発できる
・上記により、学習コストが抑えられる
・Webデザイナー、フロントエンジニアの活躍の場が広がる
デメリット
・Web知識だけで解決できない問題もある。
・Cordovaプラグイン含めて、ネイティブの知識も必要
・Monaca Localkitが遅い(重い)
・トランスパイルが遅い
技術的と言いますか、当社の経験上のお話を載せておきます。
MonacaはSPA(Single Page Application)です。
SPAとは単一のWebページのみから構成するものです。
つまり、単一ページでその中でコンテンツが入れ替わっていくイメージです。
そこで気をつけてほしいのは、画面遷移を考えるときにこのSPAを考慮しておかないと
えらいことになるということです。
「えらいこと」というのは、画面の親子関係だったり、どの画面に遷移したり
考慮すると思うのですが、それを考慮せずに組み立てコーディングしてしまうと
この画面を閉じたときにこの画面に遷移するという実装がおかしくなってしまい
迷子になってしまうのです。
デスクトップアプリであれば、画面ごとにフォームを作ればいいし、
Webアプリであれば、画面ごとにHTMLを作ればいいのですが、
SPA単純にそれが出来ないので、そこを考慮して設計してね。
っということです。
当社がなぜ、Monacaを取り入れたか?は大体わかりましたでしょうか?
もう少し詳しいことは、以前私がコミュニティ(MonacaUGカンファレンス)で
発表した資料や是非過去のMonacaあるあるを見てください。
後、こちらも見てください。
Monacaのプチ知識です。
「Monaca」の由来ですが、Cordovaベースで作られていますので、
それを包括して、包み込んでいるので、その作りが餡子に皮かぶせている
「もなか」→「モナカ」→「Monaca」になったようです。
あと、なぜ私がMonacaソムリエになったのか?
それは内緒ですw。
Monacaはアシアル株式会社が開発・運営クラウド技術を活用した、日本発・次世代のアプリ開発プラットフォームです。
VMTはMonacaの開発パートナーです。
当社で開発している3D・VR・ARアプリケーションの開発エンジニアを募集中です。
詳しい求人内容はバルテスグループ採用サイトをご覧ください。
画像をクリックいただきますと詳しい求人内容をご覧いただけます。
是非フォローや「いいね!」をお願いいたします!
公式アカウントはこちら