和歌山のエンジニアコミュニティ Wackerの勉強会で使用したスライドです。
8BDLFSͭ·Έ͙͍3FBDU
View Slide
8FC$PNQPOFOUTᓺ)5.- IFBEFSVMSPMFtOBWJHBUJPODMBTTOBWJHBUJPOMJBISFGϯϸδBMJMJBISFGϯϸδBMJMJBISFGϯϸδBMJVMIFBEFSNBJOEJWDMBTTBSUJDMFIτΩύϰIEJWθϸϋϸωEJWEJWEJWDMBTTBSUJDMFIτΩύϰIEJWθϸϋϸωEJWEJWNBJOθϸϢ⑲ϒϸύΛͩ͟ᆚ IFBEFS/BWJHBUJPOIFBEFSNBJO"SUJDMF"SUJDMFNBJOಠࣗλάʹΑΔཁૉͷΧϓηϧԽ ࠶ར༻ੑɾϞδϡʔϧੑͳͲͷ؍͔Βخ͍͠ΑͶ
ϑϨʔϜϫʔΫReactAngularIUUQTBOHVMBSJPIUUQTGBDFCPPLHJUIVCJPSFBDU IUUQSJPUKTDPNRiotIUUQTKQWVFKTPSHVue.js
3FBDU$PNQPOFOUJNQPSU3FBDUGSPNSFBDUJNQPSU\SFOEFS^GSPNSFBDUEPN)FMMP$PNQPOFOUDMBTT)FMMPFYUFOET3FBDU$PNQPOFOU\SFOEFS \SFUVSO EJWDMBTT/BNFIFMMPQ\)FMMPUIJTQSPQTOBNF^QEJW^^(0SFOEFS )FMMPOBNFXBDLFS EPDVNFOUHFU&MFNFOU#Z*E BQQ৭ʑॻ͖ํ͋Δ͕ɺ+49ͱ&$."4DSJQUͰهड़͢Δ͜ͱ͕Ұൠత τϥϯεύΠϧ͕ඞཁ ίϯϙʔωϯτࢦͷԸܙΛड͚ΔͨΊͷϞδϡʔϧ JNQPSUɾFYQPSU ϞδϡʔϧͷόϯυϦϯά͕ඞཁ
ϞδϡʔϧόϯυϦϯάɾτϥϯεύΠϧอकੑΛอͪͭͭɺϒϥβ࣮ͱͷޓੑΛ֬อ͢ΔɹJavaScript(ES6 source)React Component(ES6 source, JSX)JavaScript(ES6 module)JavaScript(CommonJS module)JavaScript(ES5 distribution)Bundler(webpackBrowserify)Transpiler(Babel)
3FBDUͷڊେͳγεςϜֶͿ͖ʁ&$."4DSJQU +49τϥϯεύΠϥ Ϟδϡʔϧόϯυϥ3FEVY 3FBDU3PVUFS #BCFM XFCQBDL5ZQF4DSJQU 549 ʜ&O[ZNF+FTU TUPSZCPPL3FBDU"1*
3FBDUͷڊେͳγεςϜֶͿ͖ʁޙʹԿ͕Ͳ͏มΘ͍ͬͯΔ͔༧Ͱ͖ͳ͍ɻ ͭ·Έ͙͍͓ͯ͘͜͠ͱɺগͳ͘ͱྑͦ͞͏ɻ
ϋϯζΦϯIUUQTHJUIVCDPNXBLBZBNBIBDLFSXSFBDUWReact — Easy React TemplateHJUDMPOFHJU!HJUIVCDPNXBLBZBNBIBDLFSXSFBDUHJU DEXSFBDU OQNJOTUBMMOQNTUBSU PQFOMPDBMIPTUIUUQTHJUIVCDPNXBLBZBNBIBDLFSXSFBDU
3FBDU$PNQPOFOUͷ࡞ͭͷํ๏ΫϥεએݴɺQVSFSFOEFSGVODUJPOᐙঢ়ᴋ TUBUFΤᬤͶͥͺ͟͞ΝDMBTT&YBNQMFFYUFOET3FBDU$PNQPOFOU\SFOEFS \SFUVSO Q)FMMPQ^^ᐙঢ়ᴋ TUBUFΤᬤͶͥͺ͟͞ͼ͖gQSPQTΤ᳃͝ΛᗀͣᲔΝͲͣDPOTU&YBNQMF QSPQT\SFUVSO Q)FMMP1^
+49DMBTT&YBNQMFFYUFOET3FBDU$PNQPOFOU\SFOEFS \SFUVSO EJWDMBTT/BNFIFMMPQ\)FMMPUIJTQSPQTOBNF^Q VM \UIJTQSPQTMJTUTNBQ MJTU\ SFUVSO MJLFZ\MJTUJE^\MJTUWBMVF^MJ^^VMEJW^^)5.-λάΛهड़Ͱ͖Δ+BWB4DSJQU֦ு λάͷ෦Ͱ\^Λ͏ͱ+49ࣜΛೖΕࢠͰهड़Ͱ͖ΔDMBTTଐੑɺGPSଐੑͳͲɺ+BWB4DSJQUͷ༧ޠʹ͋Δଐੑ໊͕͑ͳ͘ͳΔDMBTTDMBTT/BNFɺGPSIUNM'PS
4UBUF ෦ঢ়ଶΛར༻͢ΔDMBTT&YBNQMFFYUFOET3FBDU$PNQPOFOU\ DPOTUSVDUPS QSPQT\TVQFS QSPQTUIJTTUBUF\ᰮঢ়ᴋ^^ SFOEFS \ DPOTUTFMGUIJTSFUVSO CVUUPOPO$MJDL\ TFMGTFU4UBUF \᙮͖ͩঢ়ᴋ^^δϯψδCVUUPO^^ ίϯετϥΫλͰॳظঢ়ଶUIJTTUBUFΛΦϒδΣΫτͱͯ͠ఆٛ ʢΦʔόʔϥΠυ͢Δͱ͖ʹඞͣϕʔεΫϥεͷίϯετϥΫλ TVQFSΛݺͿʣ ΠϕϯτϋϯυϥͰTFU4UBUFؔΛͬͯ෦ঢ়ଶΛߋ৽͢Δ σʔλͷยํόΠϯσΟϯάTFU4UBUFSFOEFSTFU4UBUF
1SPQTΛར༻͢ΔDMBTT$IJMEFYUFOET3FBDU$PNQPOFOU\SFOEFS \DPOTUOBNFUIJTQSPQTOBNFSFUVSO Q*BN\OBNF^Q^^DPOTU1BSFOU QSPQT\SFUVSO EJW$IJMEOBNF\GPP^EJW^ ίϯϙʔωϯτͰΤϨϝϯτͷଐੑͱͯ͠هड़ GPPlCBS ࢠͷίϯϙʔωϯτͰɺUIJTQSPQTܦ༝ͰΞΫηε
*NNVUBCJMJUZDMBTT&YBNQMFFYUFOET3FBDU$PNQPOFOU\ DPOTUSVDUPS QSPQT\TVQFS QSPQTUIJTTUBUF\ᰮঢ়ᴋ^^ SFOEFS \ DPOTUTFMGUIJTSFUVSO CVUUPOPO$MJDL\ TFMGTUBUF\᙮͖ͩঢ়ᴋ^^δϯψδCVUUPO^^ UIJTTUBUFΛߋ৽͢ΔͱյΕ·͢ɻԿ͕ى͖Δ͔͔Γ·ͤΜ UIJTTUBUFMJTUTQMJDF /( ഁյతͳϝιου͕͑ͳ͍ 0CKFDUBTTJHOͳͲΛ׆༻ͯ͠JNNVUBCJMJUZ ෆมੑʹྀ͢ΔNG!
εϥΠυͰ৮Ε͍ͯͳ͍τϐοΫXFCQBDLDPOpHKTͷઃఆ#BCFMͷઃఆϑΥʔϜΛ͏֤छͷϥΠϑαΠΫϧϝιου͕͋Γ·͢ίϯϙʔωϯτͷNPVOUɺSFOEFSɺQSPQTͷड͚औΓͳͲͷλΠϛϯάʹϑοΫͯ͠ҙͷॲཧΛ࣮ߦͰ͖·͢QSPQTͷࢠ͕ͭ͠Β͍3FEVYΫϥΠΞϯταΠυϧʔςΟϯά3FBDU3PVUFSݎ࿚ʹ࡞Γ͍ͨ߹5ZQF4DSJQUͰίϯϙʔωϯτΛهड़͢ΔίϯϙʔωϯτͷϢχοτςετ&O[ZNFFUD
ँࣙ8BDLFSͭ·Έ͙͍3FBDUͷ։࠵ʹ͋ͨΓɺਖ਼ใαʔϏε༷ʹձΛఏڙ͍͖ͨͩ·ͨ͠ɻޚྱਃ্͛͠·͢ɻ 'BDFCPPLϖʔδ IUUQTXXXGBDFCPPLDPN4FJXB+PIP ΣϒαΠτ IUUQXXXTFJXBKPIPDPKQ