2011年7月20日豆蔵グループの主催による「Android技術セミナー 〜今後の適用分野・技術トレンドと開発事例紹介〜 」が開催された。
Androidプラットフォームの適用範囲は広がっており、モバイル端末をはじめてとして、車載システム、家電機器業務システムなど、様々な分野へ広がっている。
本セミナーでは、幅広い適用範囲を象徴するような、Androidの業務システム事例や車載等への適用事例の紹介や複雑化するアプリケーションに対応するための設計手法などについて発表が行われた。
最初に、頓智ドット株式会社の渡辺氏による基調講演が行われた。「Androidの現状と今後の適用分野」と題したこの基調講演では、Android開発における情報収集の重要性とAndroidも包括した統合的なソリューションの重要性が主張された。
一般的に、Android開発には幅広いスキルセットが必要となるため、開発者コミュニティなどへの積極的な参加や開発者自身が積極的に情報収集に努めるとともに、Twitterやacebookなどといった情報収集源の活用が必須である考えを述べた。
特に、「懇親会への参加は非常に重要であり、スピーカーから講演では話せない内容を聞くことができるなど、貴重な情報交換の場となる」ことや 「Androidの開発においては、組織力より個人力がとても重要となっている。情報交換を積極的に行い質を高めていく必要がある」など強い個人力を持つ開発者に対してフランクな場で情報交換をする重要性についての言及があったのは印象的であった。
また、渡辺はAndroid開発において、個人単位であればアプリケーション単体で収益が出るが、企業における開発の場合ではAndroidアプリ単体では収益が出にくいと言う。
企業開発において収益を出すための処方箋として、氏は、「Androidを含めた全体のソリューションを構築し、市場に打って出るべきだ」と強く主張した。
次に、株式会社豆蔵の岡田氏による「複雑化するAndroidアプリに対する設計の重要性」と題した講演である。
岡田氏は、Android開発の動向と頻繁なバージョンアップやデバイス依存などの課題を取り上げ、その結果、今後Androidが進化するに伴い、Android開発はより大規模・複雑化していくだろうという予測を示した。
このような大規模・複雑化に立ち向かうためには、岡田氏は「品質向上のための組織作り」が必須であると述べ、組織作りには、下記の4点が重要であると主張した。
- 開発プロセスの見直し
- 設計の重要性を見直し
- 情報共有の仕組み
- ツールの活用
最初の「1. 開発プロセスの見直し」について、反復型開発プロセスの採用やソースコードレビューやペアプログラミングをプロジェクトに取り入れることが重要であり、
「2. 設計の重要性を見直し」では、複雑化するAndroidアプリにおいて、アプリケーション全体の構造を規定し共通部品を提供することが肝要だと述べた。
さらに、「3. 情報共有の仕組み」について、Androidの課題である複数機種対応や複数バージョン対応にはTracなどを活用しての構成管理が必須であるとし、
「4. ツールの活用」ではFindbugsやmavenなどソースコードの静的解析ツールや構成管理ツールを積極的に導入すべきであると述べた。
岡田氏は最後に自社のプロトタイプ開発支援サービスを紹介した。このサービスは、プロトタイプを積極的にプロジェクトの中で作成し、関係者とアプリケーションの動作を確認しながら仕様を固めていく種類のサービスであり、 段階的にアイデアを具体化し、共通認識を持って開発を進めることによってプロジェクトを成功に導けるメリットについて述べた。
3つ目の講演では、「Android端末とBackendサービスを取り組んだ実例の紹介」と題して株式会社豆蔵シンビオの劉氏から発表があった。
劉氏は、Androidアプリケーションの特徴をプラットフォームの側面、開発者の側面、今後の展望の側面の3点で説明した。
プラットフォームの側面では、確かに初期投入コストが低く抑えられるが、対抗プラットフォームであるiOS(iPhone、iPad)と比較するとまだまだ遅れを取っているという認識を示した。
そのため、現状のAndroidは、twitter、facebookアプリケーションといったソーシャル要素を取り込み、プラットフォーム全体の魅力を高めている段階であると述べた。
次に、開発者にとってのAndroidのメリットとして、開発者人口が多いJavaが開発に利用できるため、開発に対する敷居が低い点について言及した。
しかし、タッチスクリーンを意識したUI設計などスマートフォン、タブレット端末について通常のJava開発と異なるノウハウが必要になる点が開発者にとっての課題になると述べた。
また、今後のAndroidの展望として、XboxのKinectに代表されるナチュラルユーザーインターフェースや、ソーシャル要素を絡めたVoIPサービス、OpenGLやWebGLによる3D表現などが採用される展望を示した。
劉氏からは、同氏が所属する豆蔵シンビオのスマートフォンとWebサービスの連携を生かした事例の紹介もあった。スマートフォンとWebサービスの連携では、 サービス側に主要な機能を集約した上でセキュリティを考慮した作りにすることが重要であると述べた。この事例に留まらず同社は、アジャイル開発を取り入れており体制とプロセスを重視していることについても言及した。
体制とプロセスを重視することにより品質が高いオフショアサービスを実現していると述べた。
株式会社オープンストリームの両角氏による「ワークスタイルを革新するAndroid」と題した発表では、 スマートフォンとクラウドを有効活用するための情報システム戦略について説明があった。
両角氏は、スマートフォンとクラウドを組み合わせることにより、企業情報システムの課題解決の幅が拡がると主張する。
例えば、GPSを利用した位置情報サービスが活用できる点、スマートフォンの持ち運びの容易さ、データをクラウド側に保持することにより、端末紛失による情報漏えいを防ぐといった点がメリットをうまく利用する点がポイントとなる。
しかし、通信途絶の場合にアプリケーションが使えない点や、スマートフォンの画面の大きさで表示できる情報に限界がある点などスマートフォンの利用にはデメリットがある点についても触れ、 メリット・デメリットを把握した上でデメリットを感じさせないアプリケーションを提供することが重要であると述べた。
両角氏のセッションでも事例の紹介があり、プロジェクトを実施する中で得たスマートフォンアプリケーションを開発する上の重要な点として、「アーキテクチャ」「セキュリティ」「継続運用」の3点をあげた。
アーキテクチャのポイントして、巨大な一枚岩のアプリケーションを作成するのではなく、小さなアプリをAndroidのインテントという仕組みを使って連携させて、大きなアプリケーションのように見せることが重要であると述べた。
また、ユーザーインターフェースについては基盤を作成し、レイアウトと操作性に統一感を出すことも重要であると述べた。
セキュリティ面では、端末紛失のリスクや端末不正利用などについての対応を述べ、一番重要なことがユーザのモラル向上であり、教育が重要であると述べた。
最後の継続運用では、企業内の多数のユーザに対するアプリケーションの配信方法やアップデートの方法についてデモを交えながらの紹介があった。
最後に、懇親会が開催されその中でQAセッションが開かれた。
QAセッションの中で、「Android端末に多種多様な機種が存在しており、どのように対応するか」という質問があり、もっとも注目が集まった。
頓智ドットの渡辺氏は、「特にカメラについては機種毎にクセがあるため特に苦労する。現状では個別に対応している」と述べた。
QAセッションからの登場となった豆蔵シンビオのアレックス氏は、「テストの自動化が肝となるが、自動化にも限界があり現状では人的リソースをかけて対応するしかない」と述べた。
懇親会では、多数の質問があり和やかのうちにセミナーは閉会した。
Androidの業務システム事例や適用事例は今後さらに多数登場することが予想され、複雑化するアプリケーションへの対応が必要になる。
そのため、今後このようなセミナーが多数開催されると思われる。InfoQではこのようなセミナーレポートを今後も継続的に実施するのでご期待いただきたい。