Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ZOZOTech meetup Frontend #10
Search
shogo.yamada
June 19, 2019
1.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ZOZOTech meetup Frontend #10
shogo.yamada
June 19, 2019
More Decks by shogo.yamada
See All by shogo.yamada
Jetpack ComposeへのリファクタリングのTIPS: CustomViewの便利な使い方 / Refactoring TIPS to Jetpack Compose: Useful usage of CustomView
yshogo
0
1.2k
Android StudioのLiveTemplateの便利な使い方 / Android LiveTemplate Method
yshogo
0
1.7k
ZOZOの新規サービス 「FAANS」の開発 Android編/FAAN App Create on Android
yshogo
0
1.7k
PORT_Firebase___Algolia.pdf
yshogo
0
260
Flutter_meetup_tokyo__10.pdf
yshogo
0
6.1k
PORT Firebase x Flutter
yshogo
0
480
flutter-meetup.pdf
yshogo
0
99
Potetochips #61
yshogo
1
580
Firebase ML Kitを使った デモアプリ活用事例 @Google App DOJO
yshogo
1
230
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Facilitating Awesome Meetings
lara
57
7.1k
エンジニアに許された特別な時間の終わり
watany
109
250k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Technical Leadership for Architectural Decision Making
baasie
3
580
Making Projects Easy
brettharned
120
6.8k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
240
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Embracing the Ebb and Flow
colly
88
5.2k
Transcript
Flutter for Webを使ったログ監視アプ リ 株式会社ZOZOテクノロジーズ 開発部 山田尚吾 Copyright ©
ZOZO Technologies, Inc.
© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ 開発部 ZOZOTOWN Android担当 山田 尚吾
2 @yshogo87 @yshogo87
© ZOZO Technologies, Inc. 3 ・2018年9月入社 ・現在はZOZOTOWN Android担当 ・個人ではFlutterとFirebaseをよく触ってる ・一人開発が趣味
© ZOZO Technologies, Inc. 目次 4 ・Flutterとは ・Flutter for Webとは
・Flutter for Webを使ってログ監視サイトを作る ・実装方法 ・実際触ってみて感じた、メリット、デメリット ・まとめ
© ZOZO Technologies, Inc. Flutterとは 5 ・Googleが開発している、iOSとAndroid両方を1つのコードで動か すためのSDK (2017/5/12 に初リリース)
・2018/12/5 に開催されたFlutter Liveにてバージョン1.0が発表 ・現在も開発は活発に進んでいる
© ZOZO Technologies, Inc. Flutter for Webとは 6 ・Flutter Live
2018にてFlutterをWebでも動くようにするプロジェク ト「Humming Bird」発表 ・その後Google I/O 2019にて「Flutter for Web」となりテクニカル プレビューとしてリリース
© ZOZO Technologies, Inc. Flutter for Webとは 7
© ZOZO Technologies, Inc. 8 Flutter for Webを使ってログ監視サイトを作る
© ZOZO Technologies, Inc. Flutter for Webを使ってログ監視サイトを作る 9 ・DroidKaigi、try!
Swift、RubyKaigiで展示したファッションチェック アプリ FlutterとFirebase ML Kitを使ってカン ファレンス用デモアプリを作った話 https://techblog.zozo.com/entry/2019 /03/08/170000
© ZOZO Technologies, Inc. Flutter for Webを使ってログ監視サイトを作る 10 ・採点結果をFirestoreに保存し、カンファレンス中に結果の数値
を確認していた
© ZOZO Technologies, Inc. Flutter for Webを使ってログ監視サイトを作る 11 ・アプリで確認だとデメリットが多い
(インストールしないといけない、Firebaseコンソールに素早くアク セスできない etc..) Flutter for Webでソースコードを改変せずにデプロイ したい!!
© ZOZO Technologies, Inc. 12 手順
© ZOZO Technologies, Inc. 手順 13 ・Flutter for Webの開発環境を作る ・Flutter
for Webを既存プロジェクトに導入 ・ローカルで起動 ・Firebase Hostingにデプロイ
© ZOZO Technologies, Inc. 手順 14 ・Flutter for Webの開発環境を作る ・Flutter
for Webを既存プロジェクトに導入 ・ローカルで起動 ・Firebase Hostingにデプロイ そんなに甘くなかった、、、、
© ZOZO Technologies, Inc. 手順 15 ・Flutter for Webを既存プロジェクトに導入 現時点ではできない
(2019/6/20 時点)
© ZOZO Technologies, Inc. 手順 16 ・import先はWebとモバイルで異なっている import 'package:flutter/material.dart'; Flutter
(mobile) Flutter for Web import 'package:flutter_web/material.dart'; 補足:他にもあります。
© ZOZO Technologies, Inc. 手順 17 ・Flutter for Webでプロジェクトを作成し、ソースコードを持ってく る
・importを変更する ・Flutter (Mobile用)のプラグインを使っている場合はDart用のプ ラグインに変更
© ZOZO Technologies, Inc. 手順 18 マイグレーション方法もかかれている https://github.com/flutter/flutter_web/blob/master/docs/migration_guide.md
© ZOZO Technologies, Inc. 手順 19 ・`webdev build` コマンドでプロジェクトをビルド ・`webdev
serve -r` コマンドでローカルで起動する ・ http://127.0.0.1:8080 にアクセスすると表示できる
© ZOZO Technologies, Inc. 手順 20
© ZOZO Technologies, Inc. 手順 21 Firebase Hostingにデプロイ ・デプロイする前にfontを指定したjsonファイルを配置する →
https://github.com/flutter/flutter_web/blob/master/examples/custom_fonts/web/assets/FontManifest.json ・デプロイの手順は他のプロジェクトと同じなので割愛
© ZOZO Technologies, Inc. 手順 22
© ZOZO Technologies, Inc. 23 実際触ってみて感じた、メリット、デメリット
© ZOZO Technologies, Inc. 実際触ってみて感じた、メリット、デメリット 24 メリット ・100%モバイルコードがWebで動くわけではないが、ほとんどのコー ドはそのまま動く
・マテリアルデザインも忠実に再現されていて美しい ・DartはJavaとJavaScriptの良いところを持ってきたような言語で書 きやすい
© ZOZO Technologies, Inc. 実際触ってみて感じた、メリット、デメリット 25 デメリット ・文字列の選択ができない ・モバイルアプリをそのまま動かせるわけではない
・エラー文言がわかりにくい (DartをJavaScriptにコンパイルしてるので、Dart側でどんな問題が あったか特定しづらい) etc....
© 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 時点)
© ZOZO Technologies, Inc. 実際触ってみて感じた、メリット、デメリット 27 開発はちゃんと進んでる ・動作の安定化 ・CSSの改善
・Flutter本体のプロジェクトにマージしてそのまま動くようにする
© ZOZO Technologies, Inc. 28 まとめ
© ZOZO Technologies, Inc. まとめ 29 ・FlutterはモバイルアプリのためのSDKでそれをそのままWebでも 動くようにするプロジェクト ・現状はモバイルプロジェクトをそのまま動かせることはできない ・現状は「とりあえず動く」レベルものだと思う
・開発は活発なので今後の期待
None