アプリ開発に求められる拡張性とは?。第2回|クラウドがアプリの開発、運用効率をあげる
前回の記事「【アプリ開発に求められる拡張性とは?】第1回|クラウドの拡張性がUXをつくる」ではアプリのUXには実はクラウドが重要で、そのためクラウドの拡張性がアプリのUXに大きな役割を果たしているという話を書きました。今回はさらに別の角度、クラウドによるアプリ開発の効率化、さらには改修や運用時のメリットについてまとめていきたいと思います。
ネイティブアプリ、ハイブリッドアプリ、2つの開発手法
まず、アプリとクラウドの話に入る前に、アプリ開発の方法について整理する必要があります。アプリ開発には大きくネイティブアプリとハイブリッドアプリの2つの方法があります。ざっくりゆうとネイティブアプリはiOS、AndroidそれぞれのOSごとに別々のプログラミング言語で開発をします。これに対して、ハイブリッドアプリでは一つのプログラムでiOS、Androidの両OSで動くアプリを一度に開発することが可能です。詳細についてはこちらのサイトに詳しく記載されています。
※ちなみに上記のサイトではクックパッドはハイブリッドアプリだと記載されていますが、こちらのサイトによると「2012年頃にiOS向け、2014年にAndroid向けのネイティブアプリに書き換えた。」そうです。
ランチェスターでもアプリ開発を始めた当初はいろいろな実験を行いました。しかし、結果としては、ネイティブでの実装がベストという判断をしました。
その理由は大きく3つです。
- 1. ハイブリッドよりネイティブのほうがサクサクのアプリがつくれる
- 2. アニメーションなど、細かな制御がネイティブのほうがやりやすい
- 3. OS特有の機能を利用することができる
簡単にいうといいアプリをつくろうとするとネイティブにせざる得ないということです。
アプリ設計のポイントwebviewの利用は最小限に
さて、開発手法のつぎに実は設計にも大きなポイントがあります。
それはネイティブアプリであっても、webviewというアプリ内ブラウザの利用で開発を効率化することが可能だという点です。しかしwebviewを多用することによって、UXが悪くなっているアプリも多く、開発手法だけでなく、設計も重要になってくることがわかります。
ネイティブとwebviewの違いについては「教えて!Webviewって何?ネイティブと何が違うの?」を御覧ください。
ネイティブアプリの開発と運用を効率化するクラウドの役割
さて、こだわりのサクサクアプリを作ろうとすると、iOS、Android別々に開発し、かつ、webviewの利用を最小限にする必要があります。とはいえ、可能な限り効率的に開発を行い、変更に強く、運用しやすいアプリにしたいと思うのがエンジニアなわけです。そこでEAPでは、アプリ内のロジックを可能な限り減らすために、クラウドでできることは可能な限りクラウドで処理を一元化し、アプリはアプリでしかできないことに注力する設計になっています。
データ処理はクラウドでおこない、アプリは表現に徹することでiOS、Androidでそれぞれに重複したロジックを実装することを避けています。
これは開発効率を上げるだけでなく、画面の表示項目を変えずに、アルゴリズムを変えるだけであれば、アプリの改修が不要になり、改修にかかるコストが最小化されるメリットもあります。
さらには、アプリに関わる最大の手間?アプリストアへの申請も不要なため、運用における効率化も図ることが可能です。
このように、ネイティブアプリという、最善のUXをうみだす手法を取りながら、開発効率や運用効率まで考慮して設計、実装されているのがEAPの特徴なのです。
このようなこだわりの開発がしたいと思ったエンジニアさん、もしくは、このようなこだわりのアプリを導入したいと思ったマーケターさんなどなど、EAPやランチェスターにご興味を持っていただけのであればお気軽にお声がけください。
高校球児⇒バスプロ⇒エンジニアと自らの技術研鑽の日々から、組織と3人の子供達を育てる日々に。悩みはつきませんが、楽しくやってます。
TAG
- Android
- AWS
- Bitrise
- CodePipeline
- Firebase
- HTML
- iOS
- IoT
- JavaScript
- KPI
- Linux
- Mac
- Memcached
- MGRe
- MGReのゆるガチエンジニアブログ
- MySQL
- PHP
- PICK UP
- PR
- Python
- Ruby
- Ruby on Rails
- SEO
- Swift
- TIPS
- UI/UX
- VirtualBox
- Wantedly
- Windows
- アクセス解析
- イベントレポート
- エンジニアブログ
- ガジェット
- カスタマーサクセス
- サーバ技術
- サービス
- セキュリティ
- セミナー・展示会
- テクノロジー
- デザイン
- プレスリリース
- マーケティング施策
- マネジメント
- ラボ
- リーンスタートアップ
- 企画
- 会社紹介
- 会社紹介資料
- 勉強会
- 実績紹介
- 拡張性
- 採用
- 日常
- 書籍紹介
- 歓迎会
- 社内イベント
- 社員インタビュー
- 社長ブログ
- 視察
- 開発環境