キャリア

Flutterの特徴と現状。エヌ次元株式会社にインタビュー

エヌ次元株式会社は2014年に設立された会社で、ソフトウェア設計や開発事業を行っています。

2018年3月から開発において多くのケースでFlutterを採用しているということで、エヌ次元株式会社代表取締役の澤良弘さんとFlutterアプリエンジニアである渡邉龍之介さんにお話を伺いました。

エヌ次元株式会社公式サイト:https://nzigen.com/

Flutterとは

―Flutterとはどんなものですか?

渡邉:FlutterはGoogleが主導して作っているアプリケーションフレームワークで、Dartという言語で、AndroidとiOSのクロスプラットフォームが作成できるというものです。

エヌ次元株式会社・Flutterアプリエンジニア渡邉龍之介さん

:私たちの会社は2018年の3月に業務での開発技術として正式に対応しまして、基本的にiOSやAndroidに直接書かないFlutterに踏み切ることにしました。

【Flutterについての捕捉】

FlutterとはGoogleが開発した、オープンソースのモバイルアプリケーションフレームワークです。開発言語としてDartが用いられており、現在クロスプラットフォームの開発フレームワークとしてAndroidやiOS向けのアプリケーション開発に利用されています。

正式版のリリースは2018年12月であり、発表されて間もないフレームワークですが、既存のフレームワークの良さを取り入れつつもさらに洗練された作りになっています。

特徴としては

・一つのコードで違うプラットフォームのUI構築ができる

・公式ライブラリのUIコンポーネントが豊富で柔軟なデザインに対応でき、UI実装のリソースを削減できる

・Dart言語はJavaやJavaScript、Rubyなどの様々な言語から影響を受けたオブジェクト指向言語であり、安全性やセキュリティの高いアプリケーションを開発できる

などがあります。

Flutterを導入する理由および注目した理由

―導入されるお客様のモチベーションなどはいかがでしょうか?

:最初のモチベーションとしては採用してもしなくてもどちらでもいいという声が多かったです。どちらかというと弊社が作るのであったらいいよ、という風に信頼をしていただき、割と実用化もスムーズにできました。

結果として、特にお客さんとのコミュニケーションミスも生まれていません。

―ではエヌ次元さんがFlutterに注目し始めた理由はなんでしょうか?

:6・7年前のことですが、僕はクロスプラットフォーム系の技術や言語に、Titaniumから入りました。基本的にJavaScriptで全て書くというものだったのですが、メンテナンスがすごくしづらいという印象があり、バージョンアップのたびに壊れるということが多発して、結局ネイティブでの実装をすることとなりました。

エヌ次元株式会社・代表取締役澤良弘さん

その後、今度こそという感じで、React Nativeを経てさらに洗練されたクロスプラットフォームであるFlutterが登場しました。割とバージョンアップで大きな不具合が出ることが少ないという印象が導入当初からありましたね。

React Nativeと比べて、比較的スキルレベルが低めの技術者の方から上級者まで幅広く触れるということがFlutterの強みです。

渡邉:また、バージョンを追う毎にだいぶ早くなっていて、使いやすくなっていると思います。

Flutterのコミュニティについて

―Flutterが広く使われるには、技術者コミュニティの盛り上がりも大切だと思うのですが今の状況はどうでしょうか?

渡邉:今はFlutterのコミュニティが少しずつ出て来ていますね。Flutter Japanという澤もMeetupで登壇したコミュニティが1年前くらいからあります。

渡邉:最近ではFlutter Japan が開催するFlutter Meetupという勉強会に70人の枠で100人が応募して、1日以内で定員が埋まるような状況になっています。

ライブラリが作成される段階に

渡邉:Flutter自体の完成度がすごく高いので、改善というよりもコミュニティが育ち、実際の世界で使われているUIのライブラリが作成され、すぐにそのライブラリを入れるだけで開発者ができるという段階に来ていると思います。

今は基本的なものについては標準のライブラリで作れるのですが、Twitterのあれが作りたい、Instagramのあれが欲しい、となると自分で作るのは最初すごく大変です。よりコミュニティが成熟してくると、様々な具体的なユースケースに落とし込まれたライブラリが増えて実装するスピードも早くなるのではないかと思っています。

その他、Flutterの注目点

―その他、何かFlutter関して面白い点や注目する点はありますか?

渡邉:FlutterはそもそもReact Nativeにすごく似たものなので、Reactで使われている構造やロジックがそのまま適応できるというケースがすごく多いんです。Reactを使う人も多いので、それが理由でサービスがたくさん出て来ているという感じですね。

:また、最初渡邉が申し上げた通り、FlutterはiOSとAndroidで注目されたのですが、実はMacやWindows、Linuxの画面でも動くというのがFlutterの特徴です。さらに組み込みでハードウェアにも普通に乗せることができるというのも面白いです。

渡邉:特にIoT機器を扱いたくて、ソリューションサービスでアプリとWebとデスクトップアプリを作りたいとか、組み込みで常駐のアプリケーションを動かしたいという場合は、すごいソリューションになると思います。

Flutterの注意点としては、UIはほとんど使い回しができるのですが、リスクのI/OなどがOSによって変わってしまうので、それは外からのインジェクションする形で乗せ変えてあげなければいけないかもしれません。

あとはインターフェイスがあるかどうかですね。それがあれば、特にBtoBでビジネスをやっていらっしゃる方にはすごくメリットがあると思います。