1
/
5

リードエンジニアが語る!Flutterの可能性と未来

今エンジニア界隈で注目を浴びているアプリ開発ツールFlutter。2019年、当社はFlutterを「youbride」に導入し、運用を開始しました。当時はFlutterを用いたプロダクト実装の運用事例が少なく、導入までには約1年の歳月を要しました。今回は、Flutter導入プロジェクトの中心となったエンジニア・菊池紘さんに導入までの経緯とFlutterのメリット、さらには今後の展望について聞きました。

慢性的なリソース不足を解消できる「使い勝手の良さ」が決め手

―Flutter導入までの経緯を教えてください。

菊池:もともと、Flutter導入のきっかけとなったのは「開発チームのリソース不足」という大きな問題があったことでした。エンジニアが3名、デザイナーが2名という受け皿に対して圧倒的に業務量が多かったんです。これを何とか解消したいと。そこで効率化のためのフレームワークを探していました。

多大な業務量の理由のひとつが、プラットフォームが複数存在し、それぞれのフロントエンドのコードベースが別れていたことです。1つの機能を追加する場合、ウェブサイト(PC用・スマホ用・ガラケー用(当時。現在は閉鎖))・iOSアプリ・Androidアプリの5つに対して開発の手を入れる必要がありました。当然、それに付随してデザインにかかるコストも増えます。コードベースを一元化し、複数のフォームファクタに対応することが最大の課題でした。

当然、Flutter以外にも導入候補はありました。PWAとReactNativeもそれぞれコードベースの統合は可能でしたが、マッチングアプリ、というプロダクトに照らした時に不適だったのです。

―最初からFlutter一本で候補を絞っていたわけではないのですね?

菊池:はい、そうです。最初からFlutterの採用を決めていたわけではありませんでした。最有力候補だったのはPWAで、メンバーの期待も大きかったのですが、iOSへはプッシュ通知を送信することができない、というマッチングアプリとしては致命的な制限があり、やむなく却下しました。

PWAを候補から除いてしまうと、当時はウェブサイトのコードは統一できませんでした。そこで、iOSとAndroidのアプリを一本化して、マッチングアプリとしての機能も維持できる。この2つの要素が不可欠でした。そしてその両方を高い水準で満たすのがFlutterだ、という結論に至りました。

今では大手アプリでも採用されているFlutterですが、導入を決めた2018年当時、日本だとCARTUNEさんくらいしかプロダクション採用事例はありませんでした。海外では中国のテンセントが使用していることを知り、それならやってみよう、方向性が固まりFlutter導入となりました。

生産性の向上と品質管理向上へとつながった

――Flutter導入する際に苦労した点などはありましたか?

菊池:当時、Flutterの日本での導入事例が限りなく少なかったので、手探りで進めていった部分はありましたね。Flutter自体、新しいツールでしたのでバグや不具合なども発生するんです。そのあたりをチームで確認しながら、問題点を洗い出していきました。

ちなみにFlutterは「Dart」という言語を使用するのですが、公式のLanguage Tourはかなり丁寧で、「この言語を読み解いていくのはすごく簡単だな」という所感でしたね。昔からエンジニアをやっていて、JavaとJavaScriptがわかるのであれば、Dartは1日学習すればある程度読み書きできると思います。ストレスなく扱いやすい点も、Flutterの良さのひとつだと思います。

――新しいツールだけれど、そこまで構える必要はない、ということなんですね。

実際導入後のメリットはどこにあると思いますか?

菊池:メリットはなんといっても、リソース不足の改善につながったことです。1つのプロダクト開発にかかる時間的コストも大きく下がりました。Androidアプリの新規開発をする場合を例にすると、Flutterを使用せずに開発した場合と比べて1~2割ほど時間が削減されるのではないでしょうか。Flutterは、宣言的UIを採用しているため、従来のアプリケーションよりもUIを組みやすくなっています。1つの機能を実装する場合、違うプラットフォームであっても、同じ機能を提供しなければならないのですが、その時も別々に作り込むより開発は楽ですし、統一感を持たせることもできます。

特にマッチングアプリは、メンバーさんが「使いやすい仕様であること」がマスト。その点、Flutterは欲しい機能、必要な機能をつくり込むのも比較的簡単にできますし、自由度が高いと思います。

また、ひとつのコードで動いているので、試作や品質管理をする際に確認が楽になった点も大きいですね。コードベースの一元化は、管理側のコストを下げることにもつながる。これは、運用してはじめてわかったことですね。

Flutterに強い企業として、さらに究めていきたい

――今後もFlutter導入が予定されているのですか?

菊池:はい。当社は、企業としてもエンジニアにしても、Flutter導入にかなり前向きなこともあり、他にもFlutter導入を進めているアプリケーションがあります。しかし、Flutterにすべて置き換える、ということにはならないと思います。
新規に開発する機能であればiOSやAndroidの画面単位でもFlutterを追加できる「Add-to-app」という機能があるので、部分的な使用は今後も進んでいくかなとは思います。

――チームとして今後目指す目標を教えてください。

菊池:大きく分けて2つあります。
1つは、Flutterコミュニティを大きく拡大していくことですね。正確な数はわからないですが、少しずつ導入企業も増えてきています。日本でもユーザーのコミュニティがあるのですがチームとしてはコミュニティに積極的に関わっています。Flutterのプラグインを開発したり、ライブラリにバグの報告をしたり、改善をしたりなど。大きな輪となって、Flutterのより良い活用を見出していきたいですね。
これからコミュニティもまだまだ大きくなっていくでしょうし。海外では大きなカンファレンスが開催されているので、Diverseがミートアップなどを開催できたらいいな、とも考えています。

もうひとつは、Flutterに興味を持ち、前のめりになって活動してくれる方が入社してくれることですね。実際、開発チームの渡邉さんは、Diverseは数年前からFlutterを採用していてノウハウがありそうだから、という理由で入社を決められたそうで、今は自分でどんどんいろんなチャレンジをしてくださっています。

新しく、また勢いもあるフレームワークを使った開発に先陣を切って携われる経験はそうそうないと思います。新しい物好きのエンジニアさんには、魅力的に映るそんなツールだと思います。ぜひ、私を含む開発チームのみんなと一緒にFlutterの未来を切り拓いていけたらいいな、なんて大きな野望も持っています(笑)。

――菊池さん、ありがとうございました!

株式会社Diverse's job postings
18 Likes
18 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more