AsyncAPIã«ã¯ç¬èªã®AsyncAPIãšãã£ã¿ãŒãããããããã®åœ¢åŒãšããžã¥ã¢ã«ãµããŒããçµåããããšããå§ãããŸãïŒAsyncAPIãšãã£ã¿ãŒã«ã¯ãã®ãªãã·ã§ã³ããªããyamlã®èª¬æ->ããžã¥ã¢ã«ãµããŒãã®ã¿ããããŸãïŒã
@EricWittmannããªãã¯ããã«ã€ããŠã©ãæããŸããïŒ ãããšãããã¯ã¯ã¬ã€ãžãŒãªã¢ã€ãã¢ã§ããïŒ
AsyncAPIçšã®Apicurioããžã¥ã¢ã«ãšãã£ã¿ã欲ããã§ãã çŸåšããã®ãããžã§ã¯ãã«ã¯ããã®ãããªåãçµã¿ã®ããã®ãšã³ãžãã¢ãªã³ã°åž¯åå¹ ããããŸããã :(
@EricWittmannãåçããããšã
AsyncAPIã®ãµããŒããè¿œå ããã®ã¯å€§å€ãªäœæ¥ã ãšæããŸãã æåã®ã¿ã¹ã¯ã¯ããããããã®ããã®ããŒãµãŒ/ã¢ãã«ã¬ã€ã€ãŒãå®è£ ããããšã§ãã OAIã®å Žåãããã§ãããè¡ããŸããã
https://github.com/apicurio/oai-ts-core
ãããã£ãŠãããããå§ããã®ãããã§ããããããããã asyncapi-ts-core
ãããªæ°ãããªããžããªã§ãã
ããªãããã®ãããªããšãããŠãããªããããã¯çŽ æŽãããããšã§ãïŒ Apicurioã®æ®ãã®éšåã«asyncapiãµããŒããå°å ¥ããããã®æè¯ã®æ¹æ³ã«ã€ããŠèãå§ããå¿ èŠããããŸãã ããŸããŸãªUIããŒãžã«ããã£ãŠããã€ãã®èæ ®äºé ããããŸãã
ãã®äŸ¡å€ã®ããã«ãAsyncAPIã¯ããã€ãã®è¿œå ã®èžæ°ãæŸãå§ããŠããŸãã ãã®ãããApicurioã§ãµããŒããæäŸããããšã¯ãåªå é äœã®ãªã¹ããäžã£ãŠããŸãã :) ETAããã®ãããªãã®ã¯ãŸã ãããŸããããããŸãããã°ããã®åéã§ããçšåºŠã®é²æ©ãéããããšãã§ããŸãã
ãã®ãã¥ãŒã¹ãèããŠããããã§ãã
FWIWã AsyncAPI2.0.0çšã®
ããã¯èå³æ·±ãã§ãã @ fmvilas-ãã€ã³ã¿ãããããšãã å®éã«ã¯ãAsyncAPIãšOpenAPIçšã®ç¬èªã®çµ±åããŒã¿ã¢ãã«å®è£ ãããã§æ§ç¯ããŸããïŒ https ïŒ
ãã®ã©ã€ãã©ãªã¯Javaã§èšè¿°ãããTypescriptã«ãã©ã³ã¹ãã€ã«ããããããããã¯ãšã³ããšUIã®äž¡æ¹ã§çŽæ¥äœ¿çšã§ããŸãã ãŸããå®å šãªèšªåè ãµããŒããåçŽãªæäœå€æãšã³ãžã³ãªã©ãããŸããŸãªæ©èœããããŸãã
ã³ã¡ã³ãã®ããèå³æ·±ãéšåãã€ãŸãApicurioã§AsyncAPIã䜿çšããããã«å®è¡ããå¿ èŠã®ããã¿ã¹ã¯ã«ã€ããŠèª¬æããŸãã :) :)ä»ã®å€§ããªããšã¯ããããããšãã£ã¿ãŒã®ãµããŒãã ãšæããŸãã æçµçã«ã¯ãããžã¥ã¢ã«OpenAPIãšãã£ã¿ãŒïŒæ€èšŒãšåæç·šéã®ãµããŒããå«ãïŒãšåçã®æ©èœãå¿ èŠã§ãã ãã ããçæçã«ã¯ãæ¢åã®ããã¹ãããŒã¹ã®AsyncAPIãšãã£ã¿ãŒãApicurioã«çµ±åããããšã§ïŒããããäžæçã«ïŒè¯ãè²¢ç®ãã§ãããšæããŸãã ããã¯ãšãŠãã¯ãŒã«ã§ã倧ãã«åœ¹ç«ã€ã§ãããã ããã¹ãããŒã¹ã®ãšãã£ã¿ãšããžã¥ã¢ã«ãšãã£ã¿ã®äž¡æ¹ããµããŒããããŠãããªãã·ã§ã³ã§ããæªæ¥ãèŠãããšãã§ããŸããã ç§ã¯å®éã«1人ã®ã³ãã¥ããã£ãŠãŒã¶ãŒã«ãããæ±ããŠããŸãã-圌ãã®äžçŽéçºè ã¯ããžã¥ã¢ã«ãšãã£ã¿ã奜ãã§ã¯ãªãã代ããã«ããã¹ããšãã£ã¿ãæãã§ããŸããã å³ã«è¡ããŸãã
ãšãã£ã¿ãŒä»¥å€ã«ãã¿ã¹ã¯ã®ãªã¹ãã«ã€ããŠèããå¿ èŠããããŸãã ããããä»ã®ãã¹ãŠã¯ãšãã£ã¿ãŒã®äžã«ã€ã³ã¯ãªã¡ã³ã¿ã«ã«ãªããŸãïŒãããžã§ã¯ãã®çæãªã©ïŒã
ã³ã¡ã³ãã®ããèå³æ·±ãéšåãã€ãŸãApicurioã§AsyncAPIã䜿çšããããã«å®è¡ããå¿ èŠã®ããã¿ã¹ã¯ã«ã€ããŠèª¬æããŸãã :) :)
ç§ã¯ããªããèã ïŒïŒ
ããŠãããªããèšã£ãããã«ãç°¡åã§ç°¡åãªãã®ããå§ããŸãããã ã³ã©ãã¬ãŒã·ã§ã³ã§ãã垯åå¹ ãã§ã次第ããç¥ããããŸãã ããããšãïŒ
確ãã«ãã³ã©ãã¬ãŒã·ã§ã³ã¯çŽ æŽãããã§ãããã ãããŸã§ã®éãAsyncAPIãšãã£ã¿ãŒãä»ã®ã¢ããªã±ãŒã·ã§ã³ã«åã蟌ãæ¹æ³ã«é¢ããããã¥ã¡ã³ããããã°ãPOCãšããŠèå³æ·±ããã®ãããã«ããã¯ã¢ãŠãã§ããã§ãããã
ç§ã¯ããã®éã³å Žã«ãããšãã£ã¿ãŒãåç §ããŠããŸãïŒ https ïŒ
ãŸã 調ã¹ãŠããŸãããä»ã®ã¢ããªã±ãŒã·ã§ã³ã§ç°¡åã«å©çšã§ããããã«æ§ç¯ãããŠãããã©ããã¯ããããŸããããããã§ããã°ãã€ã³ããŒãããŠäœ¿çšããã®ã¯é£ãããããŸããã ããã¯ãApicurio Studioå ã§ïŒå°ãªããšãåæã®ïŒAsyncAPIãµããŒããèŠæ±ããã®ã«å€§ãã«åœ¹ç«ã¡ãŸãã
ããã«ã¡ã¯@EricWittmann ã
ç§ã¯ä»æ¥ãAsyncAPIçšã®ã°ã©ãã£ã«ã«ãšãã£ã¿ãè¿œå ããã³ã¹ãã調æ»ããããšã«æéãè²»ãããæè¿çµæã®å§ãŸãã«å°éããŸããã 以äžã®ã¹ã¯ãªãŒã³ã·ã§ãããåç §ããŠãã ãã-OpenAPIãšåãæ§é ãåäœæããæ¢åã®ã³ãŒããšãã£ã¿ãŒãè¿œå ããã®ã§ãçŸåšã®æ©èœãšåçã®æ©èœããã§ã«åããŠããŸãã 以åã«è¿œå ããAsyncAPIã®äŸããå§ããŸããã
ç§ãå ±æãããããã€ãã®èãã質åïŒ
å®è£
åŽã®1çªç®ïŒæ°ãããšãã£ã¿ãŒã³ã³ããŒãã³ãã¯ãã§ã«ååšããŠãããæ¢åã®ã³ã³ããŒãã³ãã察å¿ããAsyncApi*
è€è£œããããšã§ãããã«åŸãããšãè¿œæ±ããŠããŸãã ã»ãšãã©ã®å Žåã OasDocument
ãAaiDocument
ã«çœ®ãæããã ãã§ãããããã¯ããã»ã©ãšã¬ã¬ã³ãã§ã¯ãããŸãã...ããããç§ã¯è¡šé¢ãåŒã£ãããã ãã§ã2ã€ã®ä»æ§ã®éã«ãã£ãšéèŠãªéãããããŸã...ãã®æ¹æ³ãç¶æãã2ã€ã®ç¬ç«ããã³ã³ããŒãã³ãã®ã»ããã䜿çšããããã³ãŒãã«if document.isOpenApi()
ãŸãã¯if document.isAsyncApi()
ããããããå Žåã§ããçžäºã«æ¥ç¶ããããšããŸããïŒ ã©ãæããŸãã ïŒ
ããã»ã¹ã®2çªç®ã ããªããåã«èšã£ãããã«ãããã¯å€§ããªåªåãããããŸãã...æè¡çã«é£ããããšã§ã¯ãããŸããããé·ããŠçŽ°å¿ã®æ³šæãæã£ãŠããŸã...ã ããç§ã¯å¿èåããªããäœããã³ãããããåã«ã¹ããã¯ãšãã£ã¿å
šäœãå®è£
ããããšã¯äžå¯èœã ãšæããŸãã ããããåªå
床ã®é«ããã®ïŒ Channels
ã DataTypes
ã Messages
ã Examples
;- ïŒïŒæ¬¡ã«ãåªå
床ãäœãããŸãïŒ Servers
ã Traits
ãªã©...ïŒã ã©ãæããŸãã ïŒ å€ãã®ãã«ãªã¯ãšã¹ãã§å®è£
ãåå²ããŠã倧äžå€«ã§ããïŒ
MicrocksãAsyncAPIã¢ãã¯ïŒããã³æ°é±éã§ã®ãã¹ãïŒããµããŒãããããã«ãªã£ãããšããåç¥ãããããŸããããç§ã¯æ¬åœã«åãã§ãæäŒãããŸãã ãããã£ãŠãApicurioãããããµããŒãããææ°ã®APIä»æ§ã®äž»èŠãªã¹ã¿ã€ã«ãã«ããŒã§ããããã«ããããšã¯ãã²ãŒã ãã§ã³ãžã£ãŒã«ãªãå¯èœæ§ããããŸãã
cc @fmvilas ;-)
ãŸã第äžã«-Microcksã«AsyncAPIãµããŒããè¿œå ãããããšãããã§ãšãããããŸãïŒ æè¿è¿œå ãããã®ãèŠãŸããã
ç§ã¯ããã«ã€ããŠããã€ãèããŠããŸãã ãŸããæè¡çã«ãç°¡åããªå Žåã¯ãAsyncAPIPlaygroundãšãã£ã¿ãŒãApicurioStudioã«åã蟌ãã§ã¿ãã®ãçã«ããªã£ãŠãããšæããŸãã :)ããã¯ããã«æåããApicurioStudioã§AsyncAPIããã¥ã¡ã³ããç·šéããããã®åççãªãããŒã¿ããµããŒããæäŸããŸãã
ãã®åŸãããžã¥ã¢ã«ãšãã£ã¿ã®äœæã«éäžã§ããŸãã
ïŒ1ïŒå®è£ ã«ã€ããŠã®è³ªåã§ãããã³ã³ããŒãã³ããè€è£œããAsyncAPIã«åãããã«å€æŽããããšã¯ãçæçã«ã¯æ£ããã¢ãããŒãã ãšæããŸãã ãã®çç±ã¯ãåŸã§ãªãã¡ã¯ã¿ãªã³ã°ããŠ2ã€ã®ãšãã£ã¿ãŒéã§ã³ã³ããŒãã³ããå ±æããã®ã¯ç°¡åã§ããããã以äžã«ãããæç¹ã§Reactã§StudioUIå šäœãåå®è£ ããäºå®ã§ãã ãã®ãããçŸåšã®Angularã®å®è£ ã§è¡ã£ãäž»èŠãªäœæ¥ã¯ç¡é§ã«ãªããŸãã ãšã«ããåŸã§ããçŽãå¿ èŠãããã®ã§ãäœããéãããæ¹ãè¯ãã§ãã
ïŒ2ïŒåªåã¯æè¡çã«é£ããããšã§ã¯ãªããé·ã现å¿ã®æ³šæãæã£ãŠããããšã«åæããŸãã :)å®è£ ãè€æ°ã®PRã«åå²ããããšã¯çã«ããªã£ãŠãããšæããŸããããŸãããã°ãè€æ°ã®è²¢ç®è ã«ãŸããã£ãŠäœæ¥ãåå²ããããšãã§ããŸãã
@fmvilasãšãã£ã¿ãŒã¯AsyncAPIPlaygroundãªãŒãã³ãœãŒã¹ã«ããïŒç§ã¯ããã ãšæããŸãïŒãApicurio Studioãªã©ã®ä»ã®ããŒã«ã«ç°¡åã«çµ±åããããšãã§ããŸããïŒ
ïŒã¯ãã®å ŽåãããŠããŒããã¥ã¡ã³ããžã®ãã€ã³ã¿ã¯çŽ æŽãããã§ãããïŒ
ããããšã@EricWittmann ïŒ
æåã«AsyncAPIãã¬ã€ã°ã©ãŠã³ãããã£ãšèŠãŠã¿ãŸããããNodeJSã«ãµãŒããŒåŽã®ã³ã³ããŒãã³ããããããã§ãã ã ããç§ã¯çµ±åã¯ããã»ã©ç°¡åã§ã¯ãªããšæã£ãŠããŸãã...ãããç§ããšãã£ã¿ãŒã®æ¹æ³ãæ¢æ±ããçç±ã§ã;-)
é±æ«ãŸã§ã«ããå°ãæéããããããšãã§ããã¯ãã§ã...ãããããã°ãæ¥é±ã®åãã«æåã®PRãæåºããŠã¿ãŸãã äž»ãªæ
å ±ïŒ Version
ã Contact
ã License
ã Tags
ïŒãšã Channels
èªã¿åãå°çšãã¬ãã¥ãŒãç·šéã§ããããã«ããå¿
èŠããããŸããå·ŠåŽã®åã®
ããã¯ãªãŒãã³ãœãŒã¹ã§ãããããã§èŠã€ããããšãã§ããŸãã ãã ãããªãŒãã³ã³ããªãŒããééã£ãè¡ãåã«ãäžç·ãåŒããããšã«ãã£ãŠãšãã£ã¿ãŒèªäœã«å ±åããããšã©ãŒãªã©ãã¯ããã«åªãããã®ã«åãçµãã§ããŸããããã¯å®éã«ã¯AsyncAPI Hubã§èŠããããã®ã§çœ®ãæãããŸãã ããã¯ãŸã ãªãŒãã³ãœãŒã¹ã§ã¯ãããŸãããã幎æ«ãŸã§ã«éããªããªãªãŒã¹ãããäºå®ã§ããReactã§ã¯ã Monacoãšãã£ã¿ãŒïŒVS Codeã匷åãã
ãã ããApicurio Studioã§Angularã䜿çšããŠããããšãèãããšãããã圹ç«ã€ãã©ããã¯ããããŸããã ReactãšAngularãçµã¿åãããããšãå¯èœã ãšèããŸããããæ£çŽãªãšããè©Šããããšã¯ãããŸããã
@fmvilasã«æè¬ã
ä»ã®äººããããåã蟌ãããšã«èå³ããããšã¯æã£ãŠããŸããã§ãããããã§ã«åé¢ãããã³ã³ããŒãã³ãã§ãããããç°¡åã«åã蟌ãããšãã§ããã¯ãã§ãããããç°¡åã«åã蟌ãããšãã§ããŸãã Monacoã¯ãµãŒããŒåŽã®ã¬ã³ããªã³ã°ããµããŒãããŠããªããããã³ã³ããŒãã³ãã¯çŽç²ã«ã¯ã©ã€ã¢ã³ãåŽã®Reactã§ãã
éäžã§ãšãã£ã¿ãŒãããŒãã¹ãã©ããããããã®æåã®PRïŒ ïŒ1280ãåç §
ãããŠãããã«ãã1ã€ïŒ1285ããããŸã;-)
éããªããããã©ã«ãã§AsyncAPIãµããŒããæå¹ã«ããå¿ èŠããããŸãïŒãã®æ©èœã¯çŸåšãããã©ã«ãã§ãªãã«ãªã£ãŠãããšæããŸãïŒã
ããã«ã¡ã¯@EricWittmannãšãã¹ãŠïŒ
ããããã1ã€ãããŸãïŒOperationãMessageãOperationTraitãMessageTraitã®ãµããŒãã ïŒ1313ãåç §;-)
åæŠå¿µã®ãã¹ãŠã®è©³çŽ°ã¯ããŸã å®å šã«ã°ã©ãã£ãã¯åœ¢åŒãšããŠå®è£ ãããŠããŸãããããã¬ãŒã ã¯ãŒã¯ã¯ããã«ãããŸãã
ããã«ã¡ã¯ãã¿ããªïŒ
ä»é±ã®çµããã«ããã€ãã®æ°ããæ¡åŒµæ©èœãèŠã€ãããŸãããå¥ã®PRïŒ1382ããããŸãã
ããã§ãæ°ããæäœãäœæãããã€ããŒããšããããŒã®ã¿ã€ããèšå®ããäŸãæäŸã§ããŸãïŒMicrocksã³ãã¯ã¿ã䜿çšããŠAsyncAPIãçŽæ¥ã¢ãã¯ã§ããããã«ãªã£ãã®ã§äŸ¿å©ã§ãðïŒ
@EricWittmannã©ã®ããã«ãããæå¹ã«ããŸããïŒ
apicurio-studio-uiã³ã³ãããŒã®å Žåã APICURIO_UI_FEATURE_ASYNCAPI
ç°å¢å€æ°ã"true"
ïŒããŒã«å€ã§ã¯ãªãæååãšããŠïŒ @ alizard0ã«èšå®ããå¿
èŠããããŸãã
æãåèã«ãªãã³ã¡ã³ã
éããªããããã©ã«ãã§AsyncAPIãµããŒããæå¹ã«ããå¿ èŠããããŸãïŒãã®æ©èœã¯çŸåšãããã©ã«ãã§ãªãã«ãªã£ãŠãããšæããŸãïŒã