なぜその技術を使うのか? / Connehito marche online 20201112
by
dachi023
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ͳͥͦͷٕज़Λ͏ͷ͔ʁ @dachi023
Slide 2
Slide 2 text
Ξμν Ϧϣ GitHub: @dachi023 Twitter: @dachi_023 Blog: https://dachi.work ίωώτגࣜձࣾͷϚϚϦؔ࿈ͷࣄۀͰ ϦʔυΤϯδχΞΛ͍ͬͯ·͢
Slide 3
Slide 3 text
ࠓͷຊ
Slide 4
Slide 4 text
ॻ੶͕ൃച͞Εͨ • ࢲͷ୲αϯϓϧίʔυͱͦͷղઆύʔτ • ࣥචʹ͋ͨΓɺԿΛॻ͔͘ɾ͑Δ͔Λߟ͑ͨ • ʮͳͥ͏ͷ͔ʁʯΛେࣄʹ͢Δ͜ͱʹͨ͠ • ࣅͨΑ͏ͳ༰Λϒϩάʹॻ͍ͨ https://dachi.work/posts/2020-10-09_publish-tech-book
Slide 5
Slide 5 text
(ͦͷٕज़Λ) ͳͥ͏ͷ͔ʁ • ݱͷϑϩϯτΤϯυʹબࢶ͕ଟ͘ଘࡏ • Angular, React, Vue • Parcel, Rollup, webpack • Etc … • ͕ࣗॴଐ͢Δ৫ɺ։ൃ͢ΔϓϩμΫτΛཧղ ͦͷ্Ͱదͳٕज़બఆΛ͠ଓ͚͍ͯ͘ඞཁ͕͋Δ
Slide 6
Slide 6 text
దͳٕज़બఆΛ͢Δʹ • ৄ͘͠ॻ੶Λߪೖ̓͠ • ࣮ࡍʹͲΜͳέʔεͰҙࢥܾఆ͍ͯ͘͠ͷ͔ʁ • ຊൃදͰίωώτͷϓϩμΫτ։ൃͰར༻͖ͯͨ͠ ٕज़Λʮͳͥͬͨͷ͔ʯΛަ͑ͯղઆ
Slide 7
Slide 7 text
2016·ͰΓ·͢ • ੲ + ٕज़બఆ࣌ʹߟ͍͑ͯͨ͜ͱ • ࣌ΛΔਓջ͔͍͠ؾ࣋ͪͰݟΕΔ͔ • ͱ͜ΖͲ͜ΖهԱ͕ᐆດ • Ͱ͍͍ͩͨ߹ͬͯΔ (ͣ)
Slide 8
Slide 8 text
2016ʙ
Slide 9
Slide 9 text
• React Vue ʹਓʑ͕ັྃ͞Ε͍ͯ͘ • ↑ ʹ࿈ಈͯ͠ jQuery ґଘ͕ঃʑʹݮΔ • ES2015 ͕ਁಁ࢝͠ΊΔɺprototype ͳΜͯͳ͔ͬͨ ※ ※ ΄ͱΜͲҙࣝ͠ͳͯ͘Α͘ͳ͚ͬͨͩͰ͢ • Babel Λ༻͍ͨτϥϯεύΠϧ͕Ұൠతͳख๏ʹ • webpack ͷ಄ʹΑΓ Grunt, gulp ͕ਰୀ 2016ʙ มֵظ
Slide 10
Slide 10 text
2016ʙ ίωώτ • ϑϩϯτΤϯυΤϯδχΞͱͯ͠ೖࣾ લCTOʮϑϩϯτΤϯυ͍͍ײ͡ʹ͓ئ͍͠·͢ʂʯ • Grunt, gulp ΛΊͯ webpack Λ͍࢝Ίͨ ͍ͭͰʹطଘίʔυΛؾ߹Ͱ CommonJS ରԠ • ESLint ΛೖΕͯνʔϜ։ൃ͕͘͢͠ͳͬͨ • ύοέʔδϚωʔδϟΛ npm ͔Β Yarn ʹมߋ
Slide 11
Slide 11 text
2016ʙ ٕज़બఆ࣌ͷ؍ • ES5 ϕʔεͷίʔυͰͷ։ൃͮ͠Β͕͞ݦஶʹ • Babel, webpack ʹΑͬͯ ES2015 ه๏Λ֫ಘ • require-exports ରԠͰϑΝΠϧؒͷΓͱΓ͕վળ • ίʔσΟϯάʹடংΛͨΒ͢ ESLint • ݸਓʹڧ͘ґଘͨ͠ίʔσΟϯάελΠϧ͔Βͷ٫ • jQuery ΛΊͯ React Λ͍͔͕ͨͬͨ νʔϜͱͯ͠४උ͕Γͳ͍ͱࢥ͍ཌʹ࣋ͪӽ͠
Slide 12
Slide 12 text
2017ʙ
Slide 13
Slide 13 text
2017ʙ ઓࠃ࣌ ऴྃ • React Vue Λར༻͢ΔνʔϜ͕૿͖͑ͯͨ • Flux ͕ΞʔΩςΫνϟબఆͷఆ൪ʹ • 2016ʹྲྀߦΓ࢝ΊͨϥΠϒϥϦɾπʔϧͷ ίϛϡχςΟ͕ൃలɺؔ࿈ϥΠϒϥϦॆ࣮ • Flow, TypeScript ʹΑͬͯ JS ͰܕΛҙࣝ࢝͠ΊΔ
Slide 14
Slide 14 text
2017ʙ ίωώτ • React (Flux) Λಋೖ ࣾͷΤϯδχΞ͚ʹษڧձΛΔͳͲͯ͠ڭ • ίϯϙʔωϯτࢦͳ UI ͷߏங • Flux ʹΑͬͯෳࡶͳσʔλϑϩʔ͕ղফ • Flow Λಋೖ • ܕͷૉΒ͠͞Λ࠶ೝࣝ • ࣌ɺPHP ҰͩͬͨͨΊ͋·ΓೃછΜͰͳ͔͔ͬͨ
Slide 15
Slide 15 text
2017ʙ ٕज़બఆ࣌ͷ؍ • jQuery ͔ΒͷύϥμΠϜγϑτ • ͑ͳ͍͔ΒΘͳ͍ɺͰ͍ΒΕͳ͍ • jQuery ͷਓؾ͕Լ߱ؾຯͰ͋Δ͜ͱ໌֬ͩͬͨ͠ɺ ࠓͷ··Ͱ·͍ͣͩΖ͏ͳͱࢥͬͨ • ৽͍͜͠ͱͷνϟϨϯδ • ೖࣾ2Ͱ༨༟͕ग़͖͔ͯͨ͠Εͳ͍ • ܕΛίωώτʹ࣋ͪࠐΜͰͦͷૉΒ͠͞ΛޠΓ͍ͨ
Slide 16
Slide 16 text
2018ʙ
Slide 17
Slide 17 text
2018ʙ ͔Ώ͍ॴʹख͕ಧ͘ • Next.js Nuxt.js Ͱ SSR ͢Δख๏͕ྲྀߦΔ ͜ΕʹΑͬͯ SEO ͷݒ೦১ • Gatsby Λ༻͍ͨ React x GraphQL Ͱ SSG ͢Δख๏ ओʹίʔϙϨʔταΠτϒϩάͰΘΕ࢝ΊΔ • styled-components, Emotion ͳͲͷྲྀߦ CSS-in-JS Λ࠾༻͢Δέʔε͕૿͑ͨ
Slide 18
Slide 18 text
2018ʙ ίωώτ • ৽نΞϓϦͰͷ React ࠾༻͕ඪ४Խ • ͋Θͤͯशख़্͍ͤͯ͘͞ • @connehito/eslint-config Λެ։ • ࣾඪ४ԽͷऔΓΈͷ1ͭ • Storybook ͷӡ༻Λ։࢝ • Greenkeeper ͰϥΠϒϥϦͷόʔδϣϯΛ͍࢝ΊΔ • ׂͱૣ͍ஈ֊Ͱ͍͚ͭͳ͘ͳΓஅ೦ (ͦͯ͠ dependabot )
Slide 19
Slide 19 text
2018ʙ ٕज़બఆ࣌ͷ؍ • React Λ͍ଓ͚͍ͯ͘ɺͱ͍͏அ • ໘ഇΕ͍͔ͯͳ͍ͩΖ͏ • ΑΓ͍͜ͳͯ͠։ൃޮΛ্͍͛ͨ • νʔϜͰ҆ఆͨ͠։ൃΛ͢Δ • ίʔσΟϯάελΠϧͷࣾ౷Ұ • ίϯϙʔωϯτͷՄࢹԽɾڞ༗ʹΑͬͯೝࣝΛἧ͑Δ • ఆظతͳόʔδϣϯΞοϓͷઓ
Slide 20
Slide 20 text
2019ʙ
Slide 21
Slide 21 text
2019ʙ ग़ἧͬͨ • TypeScript 3.x ͕ੈʹਁಁ͠͡ΊΔ (ϦϦʔε 2018) • TS σϑΝΫτελϯμʔυͱ͍͑Δ͘Β͍ʹ • React ʹ Hooks ͕͖ͬͯͨ • ؔίϯϙʔωϯτͰͷ࣮͕ͨΓલʹͳΔ • େཻͷϑϨʔϜϫʔΫϥΠϒϥϦͷొɾ಄ ͦ͜·Ͱܹ͘͠ͳ͘ɺख़ͨ͠งғؾ
Slide 22
Slide 22 text
2019ʙ ίωώτ • Hooks Λशಘ͠ Class ϕʔεͷίʔυ͔ΒঃʑʹҠߦ • Atomic Design ϕʔεͷσΟϨΫτϦߏͰ։ൃ • ίϯϙʔωϯτͷαΠζײΛΑΓҙࣝ • Greenkeeper ͔Β dependabot ͷҠߦ • ͦͯ͠ Renovate ɾɾɾ • Next.js Λ࠾༻ɺίωώτࣄۀॳͷ React Ͱ SSR
Slide 23
Slide 23 text
2019ʙ ٕज़બఆ࣌ͷ؍ • ৽͍͠ཁૉΛऔΓೖΕ͍ͯ͘ • Hooks ศར → ࣾʹਁಁͤ͞ΔɾྲྀߦΒͤΔ • ࠓ͋ΔίʔυΛΑΓྑ͍ํʹਐΊΔͨΊͷྗ • όʔδϣϯΞοϓӡ༻ʹເΛݟ͗͢Δ • ԿճΓ͑ΔΜͩΖ͏ɾɾɾ
Slide 24
Slide 24 text
2020ʙ
Slide 25
Slide 25 text
2020ʙ ͑Δ • ϢʔβʔϓϥΠόγʔɾηΩϡϦςΟͷॏཁࢹ • User-Agent, 3rd Party Cookie ͷ੍ݶͷܭը • Next.js ʹۄػೳ͕ࡌ͞ΕΔ • Fast Refresh, Incremental Static Regeneration • Node.js όοΫΤϯυॆ࣮ • Prisma 2.x, Blitz • αʔϏεશମΛ JS ͚ͩͰߏஙͯ͠ҧײͷͳ͍࣌
Slide 26
Slide 26 text
2020ʙ ίωώτ • ಓ۩͕ग़ἧͬͨͷͰͲ͏ӡ༻͢Δ͔Λߟ͑ΔϑΣʔζ • lighthouse-ci Λར༻ͨ͠ύϑΥʔϚϯεܭଌ • Renovate, Sentry Λܧଓతʹӡ༻͢ΔͨΊʹͲ͏͢Δ͔ • ১͖͠Ε͍ͯͳ͍՝Λղܾ • ϑϩϯτΤϯυ͕ಘҙͳϝϯόʔ͕૿͑ͨ • ܙΛग़͠߹ͬͯ՝Λ1ͭ1ͭย͚͍͖͍ͯͨ
Slide 27
Slide 27 text
2020ʙ ٕज़બఆ࣌ͷ؍ • ։ൃϝϯόʔ૿Ճʹӡ༻͕͖͑ΕΔ͔ • ͕ؒ૿͑ͯΊͰ͍ͨҰํɺӡ༻໘Ͱͷݟ͕͠ඞཁ • গਓͰΑ͠ͳʹ͍ͬͯͨ͜ͱ͕ճΒͳ͘ͳΔ • ͍Α͍Α JS = ϑϩϯτΤϯυͷͷɺͰͳ͍ • ݁ߏલ͔Βͦ͏͚ͩͲࠓճͷϏοάΣʔϒΆ͋͞Δ • ٕज़બఆͷ෯͕͕Δνϟϯε
Slide 28
Slide 28 text
Ҏ্ɺ5ͷ ৼΓฦΓͰͨ͠
Slide 29
Slide 29 text
࠷ޙʹݴ͍͍ͨ͜ͱ
Slide 30
Slide 30 text
ͳͥ͏ͷ͔ʁৗʹߟ͑Δ • 4ϚϚϦͷ Web ৮ͬͯΔͷʹ՝͕ਚ͖ͳ͍ • ٕज़ਐา͢Δ͠զʑͷࣝߋ৽͞ΕΔ • ͱָ͍ͬͯ͠ʂ • ٕज़બఆ͢Δͱ͖ʹҙ͍ࣝͨ͜͠ͱ • ڵຯຊҐɾظઢͰͷҙࢥܾఆͲ͔͜Ͱޙչ͢Δ • ͜ͷϥΠϒϥϦΛೖΕΔͱࠓޙͲ͏ϓϩμΫτ͕ྑ͘ͳͬͯ ͍͘ΜͩΖ͏ʁΛߟ͔͑ͯΒೖΕΔ͔அ
Slide 31
Slide 31 text
ʲPRʳϑϩϯτΤϯυ։ൃೖ ϓϩϑΣογϣφϧͳ ։ൃπʔϧͱઃܭɾ࣮ https://www.shuwasystem.co.jp/book/ 9784798061771.html