チーム開発を円滑にするための必須ツール
はじめに
先日Googleが「世界のスマートフォン利用に関する大規模調査」にて2012年度版の調査結果を公開したところによると、日本のスマートフォン普及率は20%だそうです。昨年2011年は6%だったので、約3倍普及していることになります。
このようにますますスマートフォンのアプリ需要は増大しており、その開発も、より効率的に行っていく必要があります。
本連載では、DaVinciWare様と株式会社ソニックガーデンで共同開発したiPhoneアプリ「AnkiBlank」を題材に、サーバサイド連携を必要とするスマートフォンの開発について、事例を交えて説明をしていきたいと思います。
iPhoneアプリ「AnkiBlank」のご紹介
突然ですが、中学生や高校生の時に暗記シートを使って単語を覚えていた経験はありますか? 個人的には歴史の年号や出来事を、文脈と一緒に覚えるのに使っていた記憶があります。「AnkiBlank」はまさにこの暗記シートをアプリ化したものです。
「AnkiBlank」では覚えたい部分を空欄にして、穴埋め問題の作成を行うことができます。空欄部分をタップすると隠した単語が表示され、暗記に活用することができます。
図1:覚えたい部分を空欄に |
図2:学習用のメモや、復習用の印をつけることもできる |
問題文に使用する文章はWebから作成することができ、その問題をiPhoneに同期して使用します。iPhoneで設定したデータや、閲覧回数等の学習履歴はWeb側でも保持されるので、iPhoneのデータを消失した場合でも「AnkiBlank」の学習データは消えることはありません。
図3:iPhoneとサーバデータの同期 |
このように、「AnkiBlank」はiPhoneアプリだけで完結しているソフトウェアではなく、データの作成や保存のために外部サーバを必要としています。
AnkiBlankを支えるアーキテクチャ
AnkiBlankでは、外部サーバとして、安価に使用できるHeroku(http://www.heroku.com/)というPaaSをステージング環境、本番環境で活用しています。Herokuを使用する利点は様々ですが、今回選定した理由は以下の通りです。
- 今回Web側の機能を開発しているRuby on Railsとの親和性が極めて高い。
- 基本機能が無料で提供されているため、初期コストがかからない。
- アドオンと呼ばれる追加機能が充実しており、開発コストを低減することができる。
図4:AnkiBlankアーキテクチャ図 |
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- youRoomとPivotalTrackerではじめる無駄のないコミュニケーション
- 「TestFlight」によるテストアプリ配信の省力化と開発ノウハウ
- オープンな技術で開発しよう
- 実践「Heroku」をセットアップしてサンプルアプリを動かそう
- Cloud Foundry Summitはエコシステムの拡がりを感じるカンファレンス
- クラウドプラットフォーム「Heroku」の活用
- 富士通が語る「Cloud Foundryを選んだ決め手はエコシステムの拡がり」
- ARCによる新しいビジネスモデルの可能性
- 和田卓人、倉貫義人、萩本順三「会社に頼れない時代」の技術屋が知るべき6つのこと
- Pivotal Lab、ソフト開発にはプロジェクトマネージャーではなくプロダクトマネージャーが必要