Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Flutterはナビタイムジャパンの新規アプリ開発で輝く

 Flutterはナビタイムジャパンの新規アプリ開発で輝く

2020/07/15開催されたTECH PLAY様主催イベント「クロスプラットフォームLT会!経験者が語るそれぞれの技術の特徴&メリット 〜 ReactNative/Flutter〜」にて発表した資料です。

NAVITIME JAPAN

July 15, 2020
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Technology

Transcript

  1. • 松村航裕 (Kosuke Matsumura) • Android / iOS / Flutter

    ◦ Androidの方が得意 • Flutter歴 約1年半 • 個人でもFlutter製アプリをリリース https://note.com/shcahill/n/n8732a9ed1a57 twitter @kosuke_mtm 自己紹介
  2. NAVITIME JAPAN 会社名 株式会社ナビタイムジャパン (英名 NAVITIME JAPAN Co., Ltd.) 代表者

    代表取締役社長 大西 啓介 (工学博士) 設立日 2000年 3月 1日 社員数 550名 (2020年4月現在) 約80%がエンジニア 住 所 東京都港区南青山3-8-38 3 会社概要
  3. 4 トータルメディア事業 ヘルスケア事業 公共交通事業 ドライブ事業 ツーリング事業 MaaS協業事業 インバウンド事業 レベニューシェア ビジネス事業

    テレマティクス事業 交通コンサル ティング事業 ビジネス ナビタイム事業 法人 ソリューション事業 ・トータルナビアプリ ・乗換検索アプリ ・旅行計画,予約アプリ ・海外乗換アプリ ・法人向けウォーキングコース 作成ツールの開発、販売 ・バスアプリ ・公共交通事業者向け ソリューションサービス ・各種カーナビアプリ ・自転車、バイクの ナビアプリ ・次世代の移動革新に  向けた他社との協業 ・自治体向け観光アプリ ・外国人旅行客誘致等の コンサルティング ・通信キャリア会社との プロダクトアプリ ・国内外カーメーカー、車載機 メーカー向けOEMアプリ ・移動に関するビッグデータを 活用した各種コンサル ・動態管理ソリューション ・トラックアプリ ・サービス内で使用されている 機能をAPi,SDKで販売 事業領域 NAVITIME JAPAN
  4. • Flutterとは? • 導入の目的と背景 • ネイティブ vs Flutter • Flutterを採用した所感

    • ナビタイム ジャパンにおける Flutterとの今後の付き合い方 Index
  5. 導入の目的と背景 法人顧客からの 新規アプリ開発案件の増加 例)時刻表の表示や、 乗換検索結果の表示など アプリ要件はシンプル アプリ開発 リソースの不足 新技術導入による エンジニアの

    モチベーション向上 法人顧客 ナビタイム ※ 特 定 の 画 面 だけネイティブで 実 装 することも 可 能 (MethodChannel)なため、  もしネイティブの機能が必要になってもある程度はカバー可能
  6. Flutter Android/iOS 備考 言語 △ ◎ *後述 レイアウトの 組みやすさ ◎


    ◎ HotReloadが便利 慣れるまでは大変かもしれない 多言語対応 △ ◎ あまり直感的ではない 安定性 ◦ ◎ 不具合がちらほら… ライブラリ ◦ ◎ 市場が未成熟かもしれないが、 良質なものも揃っている 開発環境 ◎ ◎ AndroidStudioがそのまま使える *個人の主観です Flutterの特徴 - ネイティブとの比較 -
  7. 良かった点 • OS差分が出ない ◦ 片方のOSで、良かれと思って作ったアニメーションが もう片方のOSで実現が難しかったり • OS間の仕様調整が不要 • 開発速度は、確実に早い

    ◦ Android/iOSで同じ機能をそれぞれ設計・実装して …という手順が省ける。 一度設計すれば両OSで実装できるのは心理的負荷も低い ◦ 検証工数も削減可能
  8. 大変だった点 • Flutterの不具合を踏むと辛い • 有識者が少ない ◦ 学習コストや設計検討において多少時間がかかった → モブプロで開発 ◦

    一方、twitterやDiscordなどのSNSが活発 • 社内で開発・運用できる人が少ない ◦ Android/iOSエンジニアに比べると人数の絶対数が少なく、 開発リソースの調整が難しい ◦ Flutterできる人は大抵凄腕なので、ネイティブエンジニアとして重宝されている
  9. 一般的には… • 新規作成のアプリ ◦ リプレース案件でも選択肢になる • デザインや機能にOS差分がないアプリ ◦ BtoBなど、仕様が絶対的なものには適する •

    OS特有の機能をメインとしないアプリ ◦ センサーやカメラなど ◦ ネイティブとFlutterとのやり取りが大変なので、 OS機能とUIのI/Fが多いと実装が大変 ◦ WebViewも要注意 Flutterが適したアプリとは