Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロトタイプ開発とFlutter
Search
Ryosuke Horie
July 19, 2018
Programming
15k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロトタイプ開発とFlutter
Ryosuke Horie
July 19, 2018
More Decks by Ryosuke Horie
See All by Ryosuke Horie
Androidifyから学ぶFirebase AI Logic SDKの使い方
horie1024
0
88
GitHub Copilot Use Cases at ZOZO
horie1024
1
3.5k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
3.1k
GitHub Copilotは開発者の生産性をどれだけ上げるのか?ZOZOでの全社導入とその効果 / How Much Does GitHub Copilot Improve Developer Productivity? The Company-wide Implementation and Its Effects at ZOZO
horie1024
36
31k
ZOZOTOWNにおける開発生産性向上に関する取り組み / Initiatives to Improve Development Productivity at ZOZOTOWN
horie1024
8
6.8k
How does the Relay connect Android app development and Design?
horie1024
2
2.3k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
2.1k
スキルマップを作った話 / Create a skills map
horie1024
3
4.8k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.8k
Other Decks in Programming
See All in Programming
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
110
MIZARU@SPAJAM2026 第二回予選
1901drama
0
100
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
360
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
140
リアルな遅延を測る仕様
kota_yata
1
140
信頼性の目標を誰も求めてない
shubox
0
490
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
670
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
100
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
350
Deep dive into the select statement (GopherCon UK)
jespino
0
170
不幸な GC
chencmd
0
880
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.7k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
From π to Pie charts
rasagy
0
350
Fireside Chat
paigeccino
42
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Un-Boring Meetings
codingconduct
0
410
Facilitating Awesome Meetings
lara
57
7.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
330
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Transcript
© Start Today Technologies Inc. ϓϩτλΠϓ։ൃͱ'MVUUFS 'MVUUFS.FFUVQ5PLZP ελʔτΡσΟςΫϊϩδʔζ৽ࣄۀ෦ງߐ྄հ
© Start Today Technologies Inc. ࣗݾհ w ງߐ྄հ w ελʔττΡσΠςΫϊϩδʔζ
w ৽ࣄۀ෦ϑϩϯτΤϯυνʔϜ w "OESPJEΤϯδχΞ w !)PSJF
© Start Today Technologies Inc. ࣗݾհ એ w 1&",4͞Μ͔ΒຊΛग़͠·͢ʂ w
"OESPJEςετશॻ w $*$%ͷষΛࣥච͍ͯ͠·͢
© Start Today Technologies Inc. w Ҏ্ͷγϣοϓɺ Ҏ্ͷϒϥϯυͷऔ Γѻ͍ʢ݄࣌ʣ wৗ࣌ສҎ্ͷΞΠςϜͱຖฏۉ
Ҏ্ͷ৽ணΛܝࡌ wଈૹαʔϏεΪϑτϥοϐϯάαʔϏεπ έ͍͓·͔ͤఆظศ ຊ࠷େڃͷϑΝογϣϯγϣοϐϯάαΠτ
© Start Today Technologies Inc. w࠾ੇ༻ϘσΟʔεʔπʮ;0;046*5ʯʹΑͬͯܭଌ ͨ͠ମܕσʔλ͔ΒɺΦʔμʔϝΠυํࣜͰ͠ ൢച͢ΔϓϥΠϕʔτϒϥϯυ wʮ;0;046*5ʯͷΦʔμʔສ݅ಥഁʢ ݄࣌ʣ
w݄ॳ०͔ΒੈքΧࠃʹͯൢചΛ։࢝༧ఆ ϓϥΠϕʔτϒϥϯυʮ;0;0ʯ
© Start Today Technologies Inc. w ສμϯϩʔυಥഁɺίʔσΟωʔτߘ૯ ສ݅Ҏ্ʢ݄࣌ʣ wશੈքʢ"QQ4UPSF(PPHMFQMBZ͕ར༻Մೳͳશ ͯͷࠃʣͰμϯϩʔυ͕Մೳ
wେͷண͜ͳ͕͠ࢧ࣋ΛूΊɺສਓҎ্ͷϑΥ ϩϫʔΛ࣋ͭ8&"3*45"Ϣʔβʔੜ ϑΝογϣϯίʔσΟωʔτΞϓϦ
© Start Today Technologies Inc. wສμϯϩʔυಥഁɺίʔσΟωʔτߘ૯ ສ݅Ҏ্ wػցֶशΛ༻͍ͨϨίϝϯυ৽ػೳʮGPS:PVʯ w"QQMF͕ࣾબͿϕετΞϓϦʹબग़ɺ(PPHMF͕ࣾબ ͿϕετΞϓϦʹ࿈ଓͰબग़
ϑΝογϣϯΞϓϦ
© Start Today Technologies Inc. ͋Δ lͪΐͬͱ76*ͰԿ͕Ͱ͖Δ͔ݕূͯ͠Έͯz
© Start Today Technologies Inc. ϓϩτλΠϓ w εϚʔτεϐʔΧʔΛ༻ͨ͠αʔϏεͷϓϩτλΠϐϯά w ՝બͼͷΈΛղܾͰ͖ͳ͍͔ʁ
໌ͳʹண͍͔ͯͬ͜ͳʜʁ ͱͬͯΉ վળ͍ͨ͠
© Start Today Technologies Inc. ʲௐࠪʳબͼʹΜͩΒͲΜͳ͜ͱΛ͢Δͷ͔ wͱΓ͋͑ͣΛணͯΈͯɺೲಘ͢Δ·Ͱ͗ண͢Δ w࢞ͳͲʹࣅ߹͍ͬͯΔ͔Ͳ͏͔Λฉ͘ wʮΧʔΩτοϓεʯͳͲ(PPHMFɾ8&"3ͳͲͰݕࡧ ˠεϚʔτεϐʔΧʔʹஔ͖͑ΒΕͳ͍͔ʁ
© Start Today Technologies Inc. ϓϩτλΠϓͷ༷ w εϚʔτεϐʔΧʔͰʮ৭ʯʮࡐ࣭ʯʮʯΛೖྗ w ண͜ͳ͠߹ΘͤΔΞΠςϜΛฦ
w ೖྗΛΫΤϦͱͯ͠8&"3ͷݕࡧ݁ՌΛΞϓϦͰදࣔ͢Δ w J04"OESPJEͰ࣮͠ɺϓογϡ௨Λड͚औΔ w ࢦఆ͞ΕͨΫΤϦͰ8&"3ͷݕࡧ݁ՌϖʔδΛ8FC7JFXͰදࣔ
© Start Today Technologies Inc. ϓϩτλΠϓͷ༷ w εϚʔτεϐʔΧʔͰʮ৭ʯʮࡐ࣭ʯʮʯΛೖྗ w ண͜ͳ͠߹ΘͤΔΞΠςϜΛฦ
w ೖྗΛΫΤϦͱͯ͠8&"3ͷݕࡧ݁ՌΛΞϓϦͰදࣔ͢Δ w J04"OESPJEͰ࣮͠ɺϓογϡ௨Λड͚औΔ w ࢦఆ͞ΕͨΫΤϦͰ8&"3ͷݕࡧ݁ՌϖʔδΛ8FC7JFXͰදࣔ
© Start Today Technologies Inc. 'MVUUFS w ϓϩτλΠϓͷΞϓϦଆΛ'MVUUFSͰ࣮
© Start Today Technologies Inc. 'MVUUFSͰ࣮ͨ͠ཧ༝ w ΫϩεϓϥοτϑΥʔϜ w ਓͰJ04"OESPJE྆ํΛ࣮͢Δඞཁ͕͋ͬͨ
w ϓογϡ௨Λड͚औΓ8FC7JFXΛදࣔ͢Δ୯७ͳΞϓϦ w ࢼ͠ʹ࣮ͯ͠ΈΔͷʹௐΑ͍ w "OESPJE4UVEJPͰ։ൃͰ͖Δ w "OESPJEΤϯδχΞͱͯ͠ັྗత
σϞ
© Start Today Technologies Inc. γεςϜߏ w όοΫΤϯυ'JSFCBTFͰ࣮ (PPHMF)PNF ϓογϡ௨
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w ϩάΠϯॲཧະ࣮ w 66*%ͰΛࣝผɺϩʔΧϧʹอଘ
w ຊདྷͳΒ'JSFCBTF"VUIFOUJDBUJPOΛ͏ͱྑͦ͞͏ w σόΠετʔΫϯΛ'JSFCBTF$MPVE'JSFTUPSFʹอଘ w '$.Ͱϓογϡ௨Λड͚औΓ w 8FC7JFXͰදࣔ
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w 66*%ͷੜ w IUUQTQVCEBSUMBOHPSHQBDLBHFTVVJEΛ༻
w 3'$ͷ7FSTJPO ʹ४ڌͨ͠66*%Λੜ import 'package:uuid/uuid.dart'; var uuid = Uuid().v4();
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w 66*%ͷϩʔΧϧͷอଘ w IUUQTQVCEBSUMBOHPSHQBDLBHFTTIBSFE@QSFGFSFODFTΛ༻
_saveUUID(String uuid) async { var prefs = await SharedPreferences.getInstance(); await prefs.setString('uuid', uuid); } Future<String> _loadUUID() async { var prefs = await SharedPreferences.getInstance(); return await prefs.getString('uuid'); }
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w $MPVE'JSFTUPSFͷอଘ w IUUQTQVCEBSUMBOHPSHQBDLBHFTDMPVE@pSFTUPSFΛ༻
import 'package:uuid/uuid.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; var uuid = Uuid().v4(); Firestore.instance .collection('tokens') .document(uuid) .setData({'token': DEVICE_TOKEN});
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w '$.Ͱϓογϡ௨Λड͚औΓ w IUUQTQVCEBSUMBOHPSHQBDLBHFTpSFCBTF@NFTTBHJOHΛ༻
import 'package:firebase_messaging/firebase_messaging.dart'; final _firebaseMessaging = new FirebaseMessaging(); _firebaseMessaging.configure(onMessage: (Map<String, dynamic> message) { print("onMessage: $message"); }, onLaunch: (Map<String, dynamic> message) { print("onLaunch: $message"); }, onResume: (Map<String, dynamic> message) { print("onResume: $message"); });
© Start Today Technologies Inc. 'MVUUFSଆͷ࣮ w 8FC7JFXͰͷදࣔ w IUUQTQVCEBSUMBOHPSHQBDLBHFTqVUUFS@XFCWJFX@QMVHJOΛ༻
new MaterialApp(routes: { "/": (_) => new WebviewScaffold( url: "https://www.google.com", appBar: new AppBar( title: new Text("Widget webview"), ), ) }, );
© Start Today Technologies Inc. ·ͱΊ w 'MVUUFSΛϓϩτλΠϓ։ൃͰͬͯΈͨ w ϓϩτλΠϓΛ͘࡞Δͷʹྑ͔ͬͨ
w ΫϩεϓϥοτϑΥʔϜɺ)PU3FMPBEɺ"OESPJE4UVEJPͰͷ։ൃ w 'MVUUFS͔Β'JSFCBTFΛར༻͢Δͷඇৗʹ؆୯ w 'JSFCBTFศར
͋Γ͕ͱ͏͍͟͝·ͨ͠