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
95
GitHub Copilot Use Cases at ZOZO
horie1024
1
3.6k
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
Building an Out-of-Order CPU
latte72
1
790
setup-vp GitLab対応の裏側
naokihaba
0
110
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
What We Talk About When We Talk About XP
m_seki
2
660
Intent as Code
shoppingjaws
6
1k
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.1k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
180
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
310
Java 27新機能 / Java 27 new features
kishida
2
150
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
210
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Product Roadmaps are Hard
iamctodd
55
13k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
400
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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ศར
͋Γ͕ͱ͏͍͟͝·ͨ͠