【アプリ開発に求められる拡張性とは?】第1回|クラウドの拡張性がUXをつくる

【アプリ開発に求められる拡張性とは?】第1回|クラウドの拡張性がUXをつくる

アプリが遅い!その犯人とは?EAPのアプリがなぜ早いのかについて、アプリとクラウドの最適化でサクサクのアプリを実現しているという秘密をご紹介しました。実はEAPがクラウドに重きをおいている理由はまだまだあるんです。

今回から4回に分けて、アプリ開発における拡張性とは何かについて書いていきたい思います。

そもそも拡張性とは何か?

wikipediaには拡張性とは下記のように定義されています。

機械やソフトウェアなどが本来もつ機能に加えて、付加的な機能を追加したり、それらの性能をあとから向上させる事が可能であるような設計上の特徴。

出展:https://ja.wikipedia.org/wiki/%E6%8B%A1%E5%BC%B5%E6%80%A7

すなわち拡張性とは「設計」の話なのです。ということは実はつくる前に担保されていなければならないのです。

ユーザー体験を支えるクラウドの拡張性

アプリで求められるユーザー体験をうみだすためには、実はアプリ単体でできることは少ないという事実を理解する必要があります。

例えば、アパレルさんのアプリで気になる商品を見つけた場合、お客様のニーズとしては大きく2つが想像されます。一つ目は「十分その商品を理解し、自分のほしい、色、サイズもあるのでそのままECで購入したい。」というニーズ、もう一つは「本当に自分に似合うのか、店舗で試着してから購入したい。」というニーズです。この2つのニーズに合わせた機能をアプリで提供したいと思った場合に、ECのカートとの連携、店舗在庫を管理するシステムとの連携が必要になります。

このとき、連携方式としては大きく3つが考えれます。

  1. 連携先システムがSDKを準備する
  2. 連携先システムがAPIを実装し、アプリに提供
  3. アプリ用のクラウドが連携先のシステムからデータを取得し、さらにAPIを実装しアプリに提供

1.のSDKパターンは広告等のシステムではアプリ用のSDKが用意されていることがよくあります。しかし、在庫管理システムやECシステムがアプリ用のSDKを用意するというのは利用する技術を考慮すると、一般的には難易度が高い選択肢となります。

2.のアプリから他のシステムにつなげるパターンは一見効率が良さそうですが、落とし穴が結構あります。一つはアプリが遅い!その犯人とは?でも触れたアプリ最適化されないAPIの可能性です。これは連携システムがアプリ用にAPIを作ってくれれば解決されます。ただし、すべての連携システムが同じことをやってくれるわけではないということが多く、結局アプリに不要なロジックが増えて様々な課題が発生することになります。

そうするとベストな選択肢として3.のアプリ用のクラウドでシステム連携し、アプリ最適化されたAPIを提供するという方式になります。しかし、ここでも通常はアプリ開発会社ではアプリエンジニアがメインのため、クラウド側の開発が得意ではないという課題が発生します。しかし、ランチェスターの創業時にはスマホ自体がなく、エンジニアの半数はクラウドのエンジニアで構成されます。

また、長年に渡って大企業のマーケティングシステムのインテグレーションに関わってきた経験と知見があり、システム連携のパターンについても熟知しています。

詳しくはまた別の記事で書きたいと思いますが、連携方式にはパターンがあり、EAPではそれらのモジュール化も進んでいます。

それぞれのシステム特性を理解したアーキテクチャ設計で拡張性を担保

アプリにはアプリの、クラウドにはクラウドの得意領域があります。当然そこにつながるシステムにも様々な特性があります。

それぞれのシステムの特性を正しく理解し、役割分担を適切に設計することこそが、拡張性を担保してサクサクのアプリを実現するためのポイントなのです。

これからアプリを検討される企業様も、すでにアプリはあるけどちょっと困ってるんだよねぇという企業様も、お気軽にお問い合わせいただければ事例等をふまえて様々な角度からアドバイス可能です。ご連絡お待ちしております。

TAG

  • このエントリーをはてなブックマークに追加
たしろ
代表取締役 たしろ ta4ken

高校球児⇒バスプロ⇒エンジニアと自らの技術研鑽の日々から、組織と3人の子供達を育てる日々に。悩みはつきませんが、楽しくやってます。