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

ZOZOTech meetup Frontend #10

shogo.yamada
June 19, 2019
1.5k

ZOZOTech meetup Frontend #10

shogo.yamada

June 19, 2019
Tweet

Transcript

  1. © ZOZO Technologies, Inc. 目次
 4 ・Flutterとは
 ・Flutter for Webとは


    ・Flutter for Webを使ってログ監視サイトを作る
 ・実装方法
 ・実際触ってみて感じた、メリット、デメリット
 ・まとめ

  2. © ZOZO Technologies, Inc. Flutterとは
 5 ・Googleが開発している、iOSとAndroid両方を1つのコードで動か すためのSDK (2017/5/12 に初リリース)


    
 ・2018/12/5 に開催されたFlutter Liveにてバージョン1.0が発表
 
 ・現在も開発は活発に進んでいる

  3. © ZOZO Technologies, Inc. Flutter for Webとは
 6 ・Flutter Live

    2018にてFlutterをWebでも動くようにするプロジェク ト「Humming Bird」発表
 
 ・その後Google I/O 2019にて「Flutter for Web」となりテクニカル プレビューとしてリリース

  4. © ZOZO Technologies, Inc. Flutter for Webを使ってログ監視サイトを作る
 
 9 ・DroidKaigi、try!

    Swift、RubyKaigiで展示したファッションチェック アプリ
 FlutterとFirebase ML Kitを使ってカン ファレンス用デモアプリを作った話 https://techblog.zozo.com/entry/2019 /03/08/170000
  5. © ZOZO Technologies, Inc. Flutter for Webを使ってログ監視サイトを作る
 
 11 ・アプリで確認だとデメリットが多い


    (インストールしないといけない、Firebaseコンソールに素早くアク セスできない etc..)
 Flutter for Webでソースコードを改変せずにデプロイ したい!!

  6. © ZOZO Technologies, Inc. 手順
 13 ・Flutter for Webの開発環境を作る
 ・Flutter

    for Webを既存プロジェクトに導入
 ・ローカルで起動
 ・Firebase Hostingにデプロイ

  7. © ZOZO Technologies, Inc. 手順
 14 ・Flutter for Webの開発環境を作る
 ・Flutter

    for Webを既存プロジェクトに導入
 ・ローカルで起動
 ・Firebase Hostingにデプロイ
 そんなに甘くなかった、、、、

  8. © ZOZO Technologies, Inc. 手順
 16 ・import先はWebとモバイルで異なっている
  import 'package:flutter/material.dart';  Flutter

    (mobile)
 Flutter for Web
  import 'package:flutter_web/material.dart';  補足:他にもあります。

  9. © ZOZO Technologies, Inc. 手順
 17 ・Flutter for Webでプロジェクトを作成し、ソースコードを持ってく る


    ・importを変更する
 ・Flutter (Mobile用)のプラグインを使っている場合はDart用のプ ラグインに変更
 

  10. © ZOZO Technologies, Inc. 手順
 19 ・`webdev build` コマンドでプロジェクトをビルド
 ・`webdev

    serve -r` コマンドでローカルで起動する
 ・ http://127.0.0.1:8080 にアクセスすると表示できる
 

  11. © ZOZO Technologies, Inc. 手順
 21 Firebase Hostingにデプロイ
 ・デプロイする前にfontを指定したjsonファイルを配置する
 →

    https://github.com/flutter/flutter_web/blob/master/examples/custom_fonts/web/assets/FontManifest.json
 ・デプロイの手順は他のプロジェクトと同じなので割愛
 

  12. © ZOZO Technologies, Inc. 実際触ってみて感じた、メリット、デメリット
 
 24 メリット
 ・100%モバイルコードがWebで動くわけではないが、ほとんどのコー ドはそのまま動く


    ・マテリアルデザインも忠実に再現されていて美しい
 ・DartはJavaとJavaScriptの良いところを持ってきたような言語で書 きやすい

  13. © ZOZO Technologies, Inc. 実際触ってみて感じた、メリット、デメリット
 
 25 デメリット
 ・文字列の選択ができない
 ・モバイルアプリをそのまま動かせるわけではない


    ・エラー文言がわかりにくい
 (DartをJavaScriptにコンパイルしてるので、Dart側でどんな問題が あったか特定しづらい)
 etc....
 

  14. © ZOZO Technologies, Inc. 実際触ってみて感じた、メリット、デメリット
 
 26 Flutter team do

    not recommend using code created with Flutter for web in production at this time.
 
 「Flutter チームは現時点では商用でFlutter for webを使ってコード を書くことはおすすめしない」
 
 (参照:https://github.com/flutter/flutter_web)
 現時点まだちゃんと使えるわけではない (2019/6/20 時点)