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
450
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# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
980
はじめての C# 大統一理論
monry
PRO
0
560
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
130
Unity で ARゲームを作った話
monry
PRO
0
560
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.6k
Democratized Unity Package Manager
monry
PRO
1
2.4k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
930
ごっこランドをささえる技術 〜AssetBundle 編〜/AssetBundle Fully Understood
monry
PRO
3
6.3k
Timeline でビジュアルプログラミング/Visual Programming uses Timeline
monry
PRO
1
760
Other Decks in Programming
See All in Programming
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
450
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
Implementing Design Systems in Swift
seyfoyun
2
480
Anthropic Cookbook のおすすめレシピ
schroneko
7
1.3k
Ruby Function Composition
bkuhlmann
1
340
Going beyond Apache Parquet's default settings
xhochy
0
140
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
440
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
160
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
420
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
920
使ってみよう Azure AI Document Intelligence
kosmosebi
2
370
Fast JSX: Don't clone props object #28768
yossydev
1
200
Featured
See All Featured
Designing for humans not robots
tammielis
247
25k
Faster Mobile Websites
deanohume
300
30k
Designing for Performance
lara
601
67k
Into the Great Unknown - MozCon
thekraken
15
1k
Building Applications with DynamoDB
mza
88
5.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
A better future with KSS
kneath
231
16k
Done Done
chrislema
178
15k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.4k
Producing Creativity
orderedlist
PRO
338
39k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Clear Off the Table
cherdarchuk
85
310k
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