Flutterの特徴と現状。フリーランスエンジニアNoteフリーランスエンジニアNoteキャリアFlutterの特徴と現状。2019年8月8日エヌ次元株式会社は2014年に設立された会社で、ソフトウェア設計や開発事業を行っています。澤良弘さんと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に注目し始めた理由はなんでしょうか?澤:6・7年前のことですが、僕はクロスプラットフォーム系の技術や言語に、Titaniumから入りました。基本的にJavaScriptで全て書くというものだったのですが、メンテナンスがすごくしづらいという印象があり、バージョンアップのたびに壊れるということが多発して、結局ネイティブでの実装をすることとなりました。Nativeを経てさらに洗練されたクロスプラットフォームであるFlutterが登場しました。バージョンアップで大きな不具合が出ることが少ないという印象が導入当初からありましたね。Nativeと比べて、比較的スキルレベルが低めの技術者の方から上級者まで幅広く触れるということがFlutterの強みです。渡邉:また、バージョンを追う毎にだいぶ早くなっていて、使いやすくなっていると思います。Flutterのコミュニティについて―Flutterが広く使われるには、技術者コミュニティの盛り上がりも大切だと思うのですが今の状況はどうでしょうか?渡邉:今はFlutterのコミュニティが少しずつ出て来ていますね。Japanという澤もMeetupで登壇したコミュニティが1年前くらいからあります。Meetupという勉強会に70人の枠で100人が応募して、1日以内で定員が埋まるような状況になっています。ライブラリが作成される段階に渡邉:Flutter自体の完成度がすごく高いので、改善というよりもコミュニティが育ち、実際の世界で使われているUIのライブラリが作成され、すぐにそのライブラリを入れるだけで開発者ができるという段階に来ていると思います。今は基本的なものについては標準のライブラリで作れるのですが、Twitterのあれが作りたい、Instagramのあれが欲しい、となると自分で作るのは最初すごく大変です。コミュニティが成熟してくると、様々な具体的なユースケースに落とし込まれたライブラリが増えて実装するスピードも早くなるのではないかと思っています。Nativeにすごく似たものなので、Reactで使われている構造やロジックがそのまま適応できるというケースがすごく多いんです。Reactを使う人も多いので、それが理由でサービスがたくさん出て来ているという感じですね。澤:また、最初渡邉が申し上げた通り、FlutterはiOSとAndroidで注目されたのですが、実はMacやWindows、Linuxの画面でも動くというのがFlutterの特徴です。組み込みでハードウェアにも普通に乗せることができるというのも面白いです。渡邉:特にIoT機器を扱いたくて、ソリューションサービスでアプリとWebとデスクトップアプリを作りたいとか、組み込みで常駐のアプリケーションを動かしたいという場合は、すごいソリューションになると思います。Flutterの注意点としては、UIはほとんど使い回しができるのですが、リスクのI/OなどがOSによって変わってしまうので、それは外からのインジェクションする形で乗せ変えてあげなければいけないかもしれません。あとはインターフェイスがあるかどうかですね。それがあれば、特にBtoBでビジネスをやっていらっしゃる方にはすごくメリットがあると思います。naohiroフリーランスエンジニアNote子供もアスリートもITリテラシーが必須の時代!アントレ・キッズ代表の西田...それぞれのやり方を尊重した学びを!プログラミングワークショップ・OtOM...最近の投稿それぞれのやり方を尊重した学びを!プログラミングワークショップ・OtOMOの倉本大資さんにインタビューFlutterの特徴と現状。Academiaの西出大介さんにインタビューサイト内検索HOMEキャリアFlutterの特徴と現状。フリーランスエンジニアNote。