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
UniFlow 完全に理解した / I can develop UniFlow a little.
Search
Tetsuya Mori
PRO
September 02, 2019
Programming
0
530
UniFlow 完全に理解した / I can develop UniFlow a little.
2019/09/02 (Mon) に実施された「KidsStar 開発合宿」で発表した UniFlow というライブラリの解説資料です。
Tetsuya Mori
PRO
September 02, 2019
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.3k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.5k
はじめての C# 大統一理論
monry
PRO
0
750
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
260
Unity で ARゲームを作った話
monry
PRO
1
830
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.9k
Democratized Unity Package Manager
monry
PRO
1
2.8k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.1k
ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood
monry
PRO
3
7k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
330
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
700
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
200
AI時代のUIはどこへ行く?
yusukebe
13
7.7k
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
240
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
130
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
ProxyによるWindow間RPC機構の構築
syumai
3
960
Claude Codeで挑むOSSコントリビュート
eycjur
0
190
AWS発のAIエディタKiroを使ってみた
iriikeita
1
160
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
410
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
KATA
mclloyd
32
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Thoughts on Productivity
jonyablonski
70
4.8k
Code Review Best Practice
trishagee
70
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Being A Developer After 40
akosma
90
590k
Transcript
גࣜձࣾΩοζελʔ$50 ɹ࠸ 6OJ'MPX શʹཧղͨ͠ .PO ,JET4UBS։ൃ߹॓ *DBOEFWFMPQ6OJ'MPXBMJUUMF
͜Μʹͪʂ
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ηογϣϯ֓ཁ
w$"'6ͬͯͯɺʮ1SFTFOUBUJPOʹԙ͚Δ ΠϕϯτͷऔΓճ͕͠໘ष͍ͳ͊ʯͬͯײͯ͡Δਓ wʮϘλϯͷ֦ॖΞχϝͪʯͱ͔ʮೋԡ͠ରࡦʯͱ͔ ຖճॻ͔ͳ͖Ό͍͚ͳ͍͚ͲநԽ͠ਏ͍ॲཧΛڞ௨Խ ͍ͨ͠ͱࢥ͍ͬͯΔਓ wνϡʔτϦΞϧͱ͔ͷʮͪΐͬͱϢʔβΠϯλϥΫγϣϯ ඞཁͳΜ͚ͩͲɺجຊࣗಈ࠶ੜʯΈ͍ͨͳॲཧΛ ίʔυॻ͔ͣʹ࣮ݱ͍ͨ͠ਓ w͍ͬͯ͏͔,JET4UBSؔऀͰ6OJUZ৮Δਓ
ࠓͷରऀ ηογϣϯ֓ཁ
w6OJ'MPXʹ͍ͭͯ ࠓ͢ίτ ηογϣϯ֓ཁ
w6*&MFNFOUTʹ͍ͭͯ w(SBQI7JFXʹ͍ͭͯ ࠓ͞ͳ͍ίτ ηογϣϯ֓ཁ
ηΫγϣϯλΠτϧ wࣄגࣜձࣾΩοζελʔ$50 wՈ࠺ɾ່ w6OJUZྺ w!NPOSZ wBLBΜΓ͌ઌੜ 7 ࣗݾհ ηογϣϯ֓ཁ
ࣗݾհ"XBSE ηογϣϯ֓ཁ w.JDSPTPGU.71 GPS%FWFMPQFS5FDIOPMPHJFT w6OJUZ"NCBTTBEPS
ࣗݾհ+PC ηογϣϯ֓ཁ ະबֶࣇʙখֶߍֶ͚ͷ ৬ۀମݧΞϓϦʮͬ͜͝ϥϯυʯΛ Ҏ্ʹΘͨΓ։ൃɾӡӦ
ηΫγϣϯλΠτϧ wΩοζελʔֶशா 1JYJW#005)ʹͯ ධൢചதʂ w"TTFU#VOEMF w։ൃൿ wւ֎ۈͷ͓͠ wษڧձ։࠵ w"OESPJEࣗಈςετ w7FDUPS(SBQIJDT
10 ࣗݾհ13 IUUQTLJETTUBSUCGCPPUIQN ηογϣϯ֓ཁ
ࣗݾհ13 ηογϣϯ֓ཁ #ͷϥδ ύʔιφϦςΟͬͯ·͢ʂ ήετืूதʂ
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ΠϚίί
4VNNBSZPG6OJ'MPX
ίϯηϓτ 6OJ'MPXͷ֓ཁ %FWFMPQNFOU 1SFTFOUBUJPO-BZFST XJUIPVU$PEJOH
ίϯηϓτ 6OJ'MPXͷ֓ཁ wϧʔϧΛ౷Ұ w֤छΠϕϯτͷϝοηʔδϯά wॲཧͷݺͼग़͠ w֦ுੑߴ͘ wฤू͠қ͘
8IBUEPFT6OJ'MPXEP 6OJ'MPXͷ֓ཁ w6OJUZͷੈքͰൃੜ͢Δ֤छॲཧΛ ଓ͢ΔύΠϓϥΠϯͱͯ͠ػೳ wྲྀΕ͖ͯͨॲཧΛϝοηʔδͱͯ͠ ϏδωεϩδοΫʹड͚͢
ߏཁૉ 6OJ'MPXͷ֓ཁ w$POOFDUBCMF w$POOFDUPS w3FDFJWFS w&WFOU.FTTBHFT w6OJ'MPX(SBQI
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS 6OJUZͷ֤छॲཧΛଓ
͕ࣗॲཧͷى ඌʹͳΓ͏Δ ConnectorBaseΛܧঝ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ʮλοϓ࣌ʯʮԻऴྃ࣌ʯ
ʮ5JNFMJOFऴྃ࣌ʯ ͱ͔ͷΠϕϯτൃՐ࣌ʹ ޙଓͷ$POOFDUBCMF ʹଓ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ʮԻ࠶ੜʯʮΞχϝ࠶ੜʯ
ʮ5JNFMJOFఀࢭʯ ͱ͍ͬͨॲཧΛݺͼग़ͯ͠ ޙଓͷ$POOFDUBCMF ʹଓ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ʮ5JNFSʯʮ*OUFSWBMʯ
ʮ'JMUFS ະ࣮ ʯ ͳͲͷཧతͳॲཧΛ࣮ߦ͠ ޙଓͷ$POOFDUBCMF ʹଓ
ߏཁૉ$POOFDUBCMF 6OJ'MPXͷ֓ཁ w$POOFDUPS w&WFOU w$POUSPMMFS w-PHJD w3FDFJWFS ྲྀΕ͖ͯͨϝοηʔδΛ
ड͚औͬͯʮԿ͔ʯ͢Δ ࠓͷॴҎԼ͕ར༻Մೳ wԿ͠ͳ͍ wϩάग़ྗ͢Δ wIObservable.OnNext()
ߏཁૉ&WFOU.FTTBHFT 6OJ'MPXͷ֓ཁ wܦ༝͖ͯͨ͠$POOFDUBCMFͷ ใ͕֨ೲ͞ΕΔ wIReceiver.OnReceive(EventMessages eventMessages) w·͊ɺ͏ίτগͳ͍ͱࢥ͏
ߏཁૉ6OJ'MPX(SBQI 6OJ'MPXͷ֓ཁ
ߏཁૉ6OJ'MPX(SBQI 6OJ'MPXͷ֓ཁ ͕Μͬͨ
ߏཁૉ6OJ'MPX(SBQI 6OJ'MPXͷ֓ཁ w4DFOF1SFGBCʹؚ·ΕΔ $POOFDUBCMFͷใΛҰཡ wͦͷͰ৽͍͠$POOFDUBCMFΛ Ճ͢ΔͳͲͷฤू࡞ۀ0, wৄ͘͠ޙड़
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ΠϚίί
)PXUPVTF6OJ'MPX
%FNP 6OJ'MPXͷ͍ํ -JWF%FNP
w6OJ'MPXͷ֓ཁ w6OJ'MPXͷ͍ํ w6OJ'MPXͷ֦ு ΞδΣϯμ ΠϚίί
&YUFOE6OJ'MPX
$POOFDUPSՃ 6OJ'MPXͷ֦ு wछผΛΘͣConnectorBaseΛܧঝ͠·͠ΐ͏ w[AddComponentMenu]ΛΕͣʹ w6OJ'MPX(SBQI͔Βࢀর͞Ε·͢ wϝχϡʔ໊"UniFlow/<Type>/<Name>"ͱ ͠·͠ΐ͏ wFH[AddComponentMenu("UniFlow/Event/FooBarEvent")]
3FDFJWFSՃ 6OJ'MPXͷ֦ு wReceiverBaseΛܧঝ͠·͠ΐ͏ w$"'6͔Β͏߹ ObservableReceiverBase͕ศར wpublic interface IFoo
: IObservableReceiver wpublic class Foo : ObservableReceiverBase, IFoo w[Inject] private IFoo Foo { get; }
6OJ'MPX(SBQIʁ 6OJ'MPXͷ֦ு wConnectableBaseΛܧঝͨ͠ Ϋϥεࣗಈతʹ(SBQI/PEFͷ ରʹͳΔ w"EE/PEFͷ5SFF AddComponentMenuଐੑͷ ύϥϝʔλΛಡΜͰߏங
5IBOLZPVGPSZPVS BUUFOUJPO