富士ソフトにおけるモバイルアプリ開発で、クロスプラットフォーム開発にどのように取り組んできたのか、座談会を開催しました。
後編では、クロスプラットフォーム開発に取り組んだことの効果や現在の取り組み内容、将来に向けての展望などについて話しました。
<メンバー紹介>
・システム事業本部 メディアネットワーク事業部 第2技術部
小一原 宏樹
スマートデバイス向けアプリ 開発プラットフォーム「smartCOCO」を開発。
いち早く、クロスプラットフォーム開発に取り組む
・エリア事業本部 北日本事業所 システム&ソリューション第2技術グループ
西田 篤史
携帯電話開発のノウハウを活かした幅広い組込制御系開発の知見を持つ
・プロダクト事業本部 moreNOTE事業部 商品開発グループ
小宮山 卓
Windows/iOS/Androidで使えるペーパーレス会議システム「moreNOTE」担当
・イノベーション統括部 先端技術支援部 モバイルインテグレーション室
松嶌 孝典
Android端末の開発をはじめとするモバイル関連新技術の全方位スペシャリスト
クロスプラットフォームのメリットは?
小宮山:クロスプラットフォームでは、完全に同じ画面レイアウトが実現でき、同じ操作性で利用できるので、私たち開発者にとっても、お客様にとっても使いやすいです。ボタンの位置が少し違ったり、表示されるメッセージが違ったりすると、お客様は戸惑ってしまうことがあります。アプリの説明をする場面でも、「今日はiPadで説明しますが、AndroidタブレットやWindows PCでも同じです」と言い切れるのは素晴らしい。以前は様々なデバイスをお客様のところに持っていき、個別に説明する必要がありました。
小一原:OS毎に別々に開発すると、保守についてもそれぞれ対応しなければなりませんからね。1つのソースコードだけで様々なデバイスに実装できるので、ソースコードの量を減らせるメリットもあります。開発するソースコードの量が減ることは、コストを減らすことにつながるのです。
松嶌:それぞれのOSテストが必要なことは変わりませんが、テスト仕様書は3分の1になりますし、マニュアルなどのドキュメントも3分の1になります。同じ開発期間で考えると、開発に取り組む技術者の数も減らせます。つまり、使い勝手だけでなく、コスト面でのお客様のメリットもあるのです。
小一原:クロスプラットフォーム開発にすれば、開発コストが3分の1になる、ということではありません。ですが、コストの問題や開発期間、OSの制限などで実現できなかったデザインや機能の実現や品質の向上に注力でき、それらを「付加価値」として提供できるようになります。
クロスプラットフォーム開発でのキーワードはCI/CDのサイクル
ーmoreNOTEのクロスプラットフォーム開発成功の秘訣は何ですか?
松嶌:次の課題としては、「いかにテストの負荷を圧縮できるか」だと考えています。OSが3つあるので、1カ所を修正すると、OS毎にテストが必要になります。これを自動化したいと考えています。その取り組みについて、DevOpsやCI/CDというキーワードがあります。ソースコードをコミットすると、自動的に構築され、テストまで行われます。テストまで自動化することができれば、開発からリリースまでの製品サイクルをもっと早くできるはずです。
小宮山:moreNOTEのプロジェクトでは、CI/CDのサイクルがうまく回っているので、全員が在宅の状況でも開発が止まらず、ソースの管理やビルドの環境なども問題なくに実現できていますね。東京でも札幌でも、どこでも同じリポジトリを使用しており、遠隔でもモジュールのバージョンがずれる、ということもありません。
また、Visual Studio App Centerを使って、ソースコードを修正したら自動的にテスト担当者の端末に配信する仕組みを構築しているため、テスト担当者がテストするときに古いバージョンで確認している、という問題が発生しません。
松嶌:これにより、「バージョンアップは怖くない」という感覚を経験できています。実際、他のプロジェクトではバージョン間違いなどがありましたが、moreNOTEの開発では一切なくなりました。
小宮山:大規模なアプリになればなるほど、バージョンの管理が大変になるので、アプリ開発だけに限らず規模の大きな開発なら導入すべきだと思っています。拠点が分散している、開発者数が多いとなおさら必要だと感じます。
松嶌:人の手を介さずに配信までできているので、自動化というか自律化だと思っています。
西田:レポート機能などもツールとして便利だと感じています。1カ月程度の出張期間で必要なスキルを習得し、その後は遠隔でもうまくコミュニケーションできています。ツールの効果を感じています。
Xamarinが向いているアプリ、向いていないアプリとは?
小一原:Xamarinも万全ではないので、癖があるところなどを先行して調査して、まずは社内で共有しよう、という取り組みをしています。国内でも先駆者的にXamarinに取り組んでいる会社はありますが、実際にビジネスで使われる製品を提供している会社はあまりないと感じています。
松嶌:ちょっとしたツールを開発する場合はXamarinが便利だというイメージがあります。ですが、実際にはmoreNOTEのようにビジネスとしての品質が求められるアプリでは、あまり使われていないのではないかと思いますね。
一般的なアプリの開発では、基本的にXamarinでいいと思います。Xamarinが向いていないものとしては、家電とつながるような特殊な通信が必要なアプリや、OS毎に違う仕組みが必要なアプリなどが考えられ、このようなアプリはOS別に開発したほうがいいと思います。
小宮山:Windowsだけでいい場合はWebアプリという選択肢もあります。ですが、昨今、モバイル機器を使う機会が増えていますので、Xamarinのようなツールを使ったアプリ開発が向いていることもあります。
Xamarin以外に注目している技術は?
松嶌:次々と新しい技術が登場しているので、そのスピード感で新技術を追い続ける必要があると感じています。
小一原:富士ソフトでは、Xamarinのように新しい技術だけでなく、創業当初から様々な開発環境や技術に対する調査を実施してきて現在に至っています。これが強みだと思っています。さらに、組織として推進できるチームがあり、日本全国の拠点にいる技術者に技術を浸透できます。
松嶌:将来的に注目している技術として、PWAがあります。Webアプリとして作成しますが、利用者はスマートフォンにインストールでき、オフラインで実行できます。アプリストアに登録する必要がなく、すぐに配信でき、即時更新できることもメリットです。ネイティブに近い動作ができるのであれば、試してみたいと考えています。
Androidでは多くの端末で実行できるようになっていますが、iOSではもう少し時間がかかりそうです。状況を見ながら進めています。最近は「ノーコード」という言葉も注目されていますね。
最後に
松嶌:Xamarinに関しては、技術的な部分では使いこなせるようになりました。今後は、このXamarinを活用することのメリットをお客様に伝え、開発をより効率化し、高品質なアプリ開発をすることで、お客様に貢献していきたいと思っています。
小一原:古くから取り組んでおり、社内での第一人者という自負があるので、さらにXamarinを追求していきたいと思っています。お客様を引きつけられるくらい魅力を伝えていきます。
小宮山:商品としていかにお客様に喜んでもらうか、いかに便利なものを届けられるか。開発者として新しい技術に挑戦して、さらにお客様に喜んでもらうことが醍醐味です。技術者として挑戦を続けたいと思っています。
西田:モバイルのネイティブアプリ開発だけではお客様に響かないところがあったので、提案の武器としてクロスプラットフォーム開発の技術を得られたのは大きいです。全社を挙げて大きなプロジェクトが推進できるのが富士ソフトの強みだと思いました。全社で協力してより良いものを作っていきたいと思っています。
富士ソフトによるクロスプラットフォーム開発
この記事の執筆者
システムインテグレーション事業本部
ネットサービス事業部
次長