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
プロトタイプ開発と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
110
GitHub Copilot Use Cases at ZOZO
horie1024
1
3.8k
Miro × ZOZO ZOZOのMiro活用事例紹介
horie1024
0
3.2k
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.4k
既存画面の Jetpack Composeでの書き換え: FAANSでの事例紹介 / Case study of rewriting existing screens with Jetpack Compose
horie1024
0
2.2k
スキルマップを作った話 / Create a skills map
horie1024
3
4.9k
Miroを使った開発効率向上のための取り組み / Using Miro Efforts to Improve Development Efficiency
horie1024
0
2.8k
Other Decks in Programming
See All in Programming
AI Augmentation Techniques with Liberty
ivargrimstad
1
420
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
160
AI-Powered Domain-Driven Design
ziobrando
0
420
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
340
AmebaブログはKMPから卒業します
kmars0605
0
340
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
220
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
320
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.8k
LLM 101
dalinaum
0
480
LLM 101: Exploring LLMs, Starting with Tokens.
dalinaum
0
100
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
250
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
520
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
630
Designing Experiences People Love
moore
143
24k
Embracing the Ebb and Flow
colly
88
5.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
650
WENDY [Excerpt]
tessaabrams
14
40k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
First, design no harm
axbom
PRO
2
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How STYLIGHT went responsive
nonsquared
100
6.4k
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ศར
͋Γ͕ͱ͏͍͟͝·ͨ͠