Slide 1

Slide 1 text

ͦͷJavascriptɺ શ෦TypeScriptʹͪ͠Ό͑ Taro Matsuzawa(@smellman)

Slide 2

Slide 2 text

ࣗݾ঺հ ஍ཧۭؒܥΤϯδχΞ ೔ຊUNIXϢʔβձձ௕/Ұൠࣾஂ๏ਓOSGeo೔ຊࢧ෦ཧࣄ/Ұൠࣾஂ๏ਓΦʔ ϓϯετϦʔτϚοϓϑΝ΢ϯσʔγϣϯδϟύϯϝϯόʔ ౦ژిػେֶOB/౦ژిػେֶCySecݱ໾ੜ breakcoreΫϥελ ૊௕ͱݺ͹Εͯ·͢

Slide 3

Slide 3 text

૊௕ʢ୤ୀࡁΈʣ

Slide 4

Slide 4 text

OSSͷ׆ಈ React NativeܥϥΠϒϥϦͷվम react-native-static-server (iOSରԠ), redux-persist (ϥΠϒϥϦΛ·Δ͝ͱ TypeScriptʹॻ͖׵͑Δ) ͳͲ OpenMapTilesϓϩδΣΫτ΁ͷߩݙɺ஍ཧؔ܎։ൃ΍຋༁ ckanext-spatial (Python3ରԠ) ͳͲ ͦͷଞɺؾ͕޲͘··ίʔυ΍υΩϡϝϯτΛॻ͍ͯ·͢

Slide 5

Slide 5 text

redux-persist ReactͰΑ͘࢖ΘΕΔঢ়ଶͷอ࣋Λ͢Δreduxʹؔ܎͢ΔϥΠϒϥϦ redux-persistΛ࢖͏ͱঢ়ଶΛLocalStorage(Web)/AsyncStorage(React Native)ͳͲʹอ࣋ͯ͘͠ΕΔ εϚϗΞϓϦͰঢ়ଶΛอଘ͢ΔͷʹศརͳϥΠϒϥϦ

Slide 6

Slide 6 text

ಋೖΛݕ౼ͨ݁͠Ռ ϝϯςφϯε͕2೥͙Β͍์ஔ ϝϯςφʔ͕ډͳ͍ͱ͍͏issue͕์ஔ͞Ε͍ͯΔ Pull Request΋Կ΋͔΋์ஔ ͳΜͱ͔͍ͨ͠

Slide 7

Slide 7 text

ιʔείʔυΛಡΜͰΈΔ ΢οɺFlow࢖ͬͯΔ…

Slide 8

Slide 8 text

Flow FLOW IS A STATIC TYPE CHECKER FOR JAVASCRIPT Facebook͕࡞ͬͨJavascriptͷ੩తܕνΣοΧʔ Javascriptʹແཧ໼ཧܕͷ֓೦ΛೖΕΔ ΊͬͪΌಡΈͮΒ͍ʼʻ

Slide 9

Slide 9 text

ܕೖΕΔͳΒ ΋͏TypeScriptͰ͍͍͡ΌΜʂ

Slide 10

Slide 10 text

͍͍͡ΌΜ Flow͕·͡ϝϯςφϯεͷ࢓ํ͕Θ͔ΒΜ VSCode͕Flowͷόʔδϣϯ͕ҧ͏ͱΤϥʔΛు͖·͘Δ ͦ͜·ͰͪΌΜͱܕ෇͚͕͞Ε͍ͯΔΘ͚Ͱ΋ͳ͍ ໌ࣔతʹanyͬͯॻ͖͍ͨ͡ΌΜ͔͢

Slide 11

Slide 11 text

ͱ͍͏Θ͚Ͱ

Slide 12

Slide 12 text

΍ͬͨ͜ͱ શ෦TypeScriptԽɺFlowΛ๾໓ Travis CI͔ΒGithub Actions΁ Eslint, rollup, ͦͷଞ΋Ζ΋Ζશ෦ॻ͖௚͠

Slide 13

Slide 13 text

ͱ͸͍͑ Ϛʔδ͞ΕΔ·Ͱ਺ϲ݄͔͔ͬͨ ཧ༝͸؆୯ɺϝϯςφʔ͕ั·Βͳ͔ͬͨ ઌ೔ɺϝϯςφʔͱίϯλΫτΛऔͬͯมΘΓͷϝϯςφʔ͕ग़ ݱͯ͠΍ͬͱίϝϯτ

Slide 14

Slide 14 text

ײँ

Slide 15

Slide 15 text

–ckalika “͜Μʹͪ͸ɺ͋ͳͨͷϓϧϦΫΤετʹ໨Λ௨͢ͷʹ͕͔͔࣌ؒͬͯ͠·͍ɺਃ͠༁͋Γ·ͤΜͰͨ͠ɻࠓɺ ѱҙͷ͋Δ΋ͷ΍ҙຯͷͳ͍΋ͷؚ͕·Ε͍ͯͳ͍͔֬ೝͨ͠ͱ͜ΖͰ͕͢ɺ͜Ε͸...ɻຊ౰ʹײಈ͠·͠ ͨɻcreateAsyncLocalStorage()ʹkeys഑ྻΛ௥Ճͯ͠Ұ؏ੑΛ࣋ͨͤΔͳͲɺࡉ෦ʹ·ͰؾΛ഑ͬͨ ౒ྗʹײँ͠·͢ɻ ࠓͷͱ͜Ζςετ͸͋·Γ͍ͯ͠ͳ͍ͷͰɺ༧૝֎ͷ݁ՌʹͳΔՄೳੑ΋͋Γ·͢ɻ΋ͦ͠͏ͳͬͨΒɺέʔ εόΠέʔεͰରॲ͠·͕͢ɺࢲ͸ؒҧ͍ͳ͋͘ͳͨͷมߋηοτΛਐΊΔ΂͖ͩͱࢥ͍·͢ɻࡉ͔͍मਖ਼ ʢύοέʔδͷόʔδϣϯɺREADME.mdͷߋ৽ͳͲʣΛՃ͍͑ͨͱࢥ͍·͕͢ɺͦΕΒ͕Ͱ͖ͨΒɺتΜ ͰϚʔδ͠·͢ɻ TypeScript΁ͷҠߦͱΠϯϑϥͷۙ୅Խ͸ɺඇৗʹॏཁͰҙٛਂ͍ࣄۀͰ͢ɻ͜ΕʹΑΓɺΑΓҰ؏ੑͷ͋ ΔɺΑΓଟ͘ͷςετΛߦ͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳΓ·͢ͷͰɺվΊͯײँ͍ͨ͠·͢ɻ”

Slide 16

Slide 16 text

ۤ࿑͸ใΘΕΔ TypeScriptԽʹΑͬͯΑΓςετ͠΍͘͢ͳͬͨ શମతͳݟ௨͠΋ fl owͰத్൒୺ʹܕΛ͚ͭΔΑΓ΋Θ͔Γ΍͘͢ ͳͬͨ(ओ؍ ͜ΕͰ΍ͬͱଞͷਓ΋ϝϯςφϯεʹՃΘΕΔΑ͏ʹͳͬͨ ͜͜ॏཁͰ͢Αʂ

Slide 17

Slide 17 text

·ͱΊ JavascriptͰॻ͔Ε͍ͯΔ΋ͷ͸TypeScriptԽͨ͠ํ͕ྑ͍ྫ΋͋Δ ༐ؾΛͩͯ͠Pull RequestΛग़͢ͷ͕ॏཁ

Slide 18

Slide 18 text

͝੩ௌ͋͟·Δਫ࢈