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
昨今のフロントエンド
Search
Takahiro Shinoda
May 19, 2020
Technology
0
130
昨今のフロントエンド
Takahiro Shinoda
May 19, 2020
Tweet
Share
More Decks by Takahiro Shinoda
See All by Takahiro Shinoda
Firebase Authenticationについて
takashinoda
0
67
Study on participatory projection mapping that can be enjoyed by performers
takashinoda
1
46
Proposal of Interactive Projection Mapping using Human Detection by Machine Learning
takashinoda
0
39
A Proposal of Interactive Projection Mapping Using Kinect
takashinoda
0
42
Other Decks in Technology
See All in Technology
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
「Linux」という言葉が指すもの
sat
PRO
4
140
S3アクセス制御の設計ポイント
tommy0124
3
200
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
slog.Handlerのよくある実装ミス
sakiengineer
4
440
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
テストを軸にした生き残り術
kworkdev
PRO
0
210
KotlinConf 2025_イベントレポート
sony
1
140
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
380
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.1k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Bash Introduction
62gerente
615
210k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Gamification - CAS2011
davidbonilla
81
5.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Producing Creativity
orderedlist
PRO
347
40k
Balancing Empowerment & Direction
lara
3
620
Transcript
ࡢࠓͷϑϩϯτΤϯυ
JavaScript ૯બڍ
ϑϩϯτΤϯυΧϯϑΝϨϯεԬϠϑʔגࣜձࣾͷϒʔεͰࡱͬͨࣸਅ JavaScript ૯બڍ
JavaScript ૯બڍ
ਓؾ্Ґ
w +BWB4DSJQUͷεʔύʔηοτ w +BWB4DSJQUͰܕఆ͕ٛͰ͖Δ w ίϯύΠϧ͢ΔࣄͰ+BWB4DSJQUΛੜ͢Δ w 74$PEFͱ૬ੑ͕ྑ͍ TypeScript https://www.typescriptlang.org/
w CPPMFBO w OVNCFS w TUSJOH w BSSBZ TypeScriptͷܕ Ұ෦ൈਮ
let flag: boolean = true let decimal: number = 123 let hex: number = 0xfff let myName: string = 'Taro' let list: number[] = [1, 2, 3] ͜ͷ৭ͷจࣈ͕ܕऍ Ξϊςʔγϣϯ ܕऍΛ༩͢ΔࣄͰɺ໌ࣔతʹܕΛ੍͢Δ
ܕ͕͋ΔͱԿ͕ྑ͍ͷ͔ function expo2(amount) { return amount ** 2 } const
value = expo2('1000') // 1000000 const withTax = value * 1.1 ࣮ફ5ZQF4DSJQU#''ͱ/FYUKT/VYUKTͷܕఆٛ٢Ҫ݈จגࣜձࣾϚΠφϏग़൛ΑΓ z+BWB4DSJQUͰɺ࣍ͷίʔυʹͳΓ·ͤΜ จࣈྻͰ͋ͬͯͱͯ͠ѻ͑Δ߹ʹɺ ҉తʹʹมͯ͠͠·͏ͨΊͰ͢ɻ ͜ͷᐆດͳڍಈ͕όάͷԹচʹͳΓɺ ։ൃऀΛ·͖ͤͯ·ͨ͠ɻz
ܕ͕͋ΔͱԿ͕ྑ͍ͷ͔ ܕऍͰܕΛOVNCFSܕʹ͢Εɺ͜ΕΛະવʹ͙ࣄ͕Ͱ͖Δ
JSͷϑϨʔϜϫʔΫɾϥΠϒϥϦ
JSͷϑϨʔϜϫʔΫɾϥΠϒϥϦ ۙΑ͘ฉ͘7VFɾ3FBDU "OHVMBS͞Θͬͨࣄͳ͍ͷͰׂѪ͍ͤͯͩ͘͞͞
npm trends
npm trends SFBDU͕ਓؾͰ͕͢ɺຊͩͱ7VF͕SFBDUҎ্ʹਓؾͳؾ͕͠·͢
ͳͥਓؾͳͷ͔
ͳͥਓؾͳͷ͔ 41"ͷݪଇΛ࠾༻͍ͯ͠Δ
ͳͥਓؾͳͷ͔ 4JOHMF1BHF"QQMJDBUJPO
w 41"ͱɺ୯ҰͷϖʔδͰίϯςϯπͷΓସ͑Λߦ͏8FCΞϓϦέʔ γϣϯΞʔΩςΫνϟͷ໊শ w 41"ͰϒϥβʹΑΔϖʔδભҠΛߦΘͣʹίϯςϯπͷΓସ͑ͳͲ Λߦ͏͜ͱͰɺϢʔβʔମݧ 69 Λେ্͖ͤ͘͞Δ͜ͱ͕Մೳ w ैདྷͷ8FCϖʔδͰભҠ࣌ʹϖʔδશମ͕ॻ͖ΘΔ͕ɺ41"Ͱ+4
Λ༻͍ͯϖʔδͷ)5.-ͷҰ෦Λࠩ͠ସ͑ͯίϯςϯπΛΓସ͍͑ͯ Δɻ͜ΕʹΑΓɺϒϥβͷڍಈʹറΒΕͳ͍6*ͷ࣮ݱɺύϑΥʔϚϯ εͷ্͕Մೳ Single Page Application https://www.oro.com/ja/technology/001/
w 41"ͱɺ୯ҰͷϖʔδͰίϯςϯπͷΓସ͑Λߦ͏8FCΞϓϦέʔ γϣϯΞʔΩςΫνϟͷ໊শ w 41"ͰϒϥβʹΑΔϖʔδભҠΛߦΘͣʹίϯςϯπͷΓସ͑ͳͲ Λߦ͏͜ͱͰɺϢʔβʔମݧ 69 Λେ্͖ͤ͘͞Δ͜ͱ͕Մೳ w ैདྷͷ8FCϖʔδͰભҠ࣌ʹϖʔδશମ͕ॻ͖ΘΔ͕ɺ41"Ͱ+4
Λ༻͍ͯϖʔδͷ)5.-ͷҰ෦Λࠩ͠ସ͑ͯίϯςϯπΛΓସ͍͑ͯ Δɻ͜ΕʹΑΓɺϒϥβͷڍಈʹറΒΕͳ͍6*ͷ࣮ݱɺύϑΥʔϚϯ εͷ্͕Մೳ Single Page Application Ծ%0.ʹΑΓ࣮ݱ
w Ծ%0.ɺϒϥβ͕͍࣋ͬͯͨ%0.πϦʔΛɺ+BWB4DSJQUͷΦϒ δΣΫτͱͯ͠දݱ w ͦͯ͠ɺϝϞϦ্ͷԾ%0.πϦʔΛ༻͍ͯࠩݕΛߦ͍ɺඞཁ࠷ ݶͷࠩͷΈΛϦΞϧ%0.ʹө͢ΔͨΊɺҰൠతʹύϑΥʔϚϯε͕ ্͢ΔͱݴΘΕͯΔ Ծ(Virtual)DOM https://employment.en-japan.com/engineerhub/entry/2020/02/18/103000#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82DOMDocument-Object-Model%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B
Ծ%0.πϦʔΛछྨ༻ҙ มߋલޙͷπϦʔछྨ ԿΒ͔ͷΞΫγϣϯͰTUBUF͕ॻ͖ΘΔ Ծ%0.Λ࠶ߏங͢Δ มߋલޙͷԾ%0.πϦʔΛ༻͍ͯࠩݕ͢Δ
͕ࠩ͋ͬͨՕॴ͚ͩϦΞϧ%0.ʹө͢Δ ԾDOMͷಈ͖ https://employment.en-japan.com/engineerhub/entry/2020/02/18/103000#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82DOMDocument-Object-Model%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B
·ͱΊ
w 5ZQF4DSJQU+BWB4DSJQUͷεʔύʔηοτͰܕͷఆ͕ٛՄೳ w 3FBDU7VF41"Λ࣮ݱ͢ΔͨΊͷ+4ͷϑϨʔϜϫʔΫɾϥΠϒϥϦ ·ͱΊ
࠷ۙͷχϡʔε ࣗͷ؍ଌͰ͖ͨൣғͰ৽͠ΊͷχϡʔεΛհ͠·͢
w ʹW͕ϦϦʔε w /PEFKTͷ࡞ऀ3ZBO%BIMࢯʹΑͬͯ࡞Β Εͨ৽͍͠ηΩϡΞͳ+454ͷϥϯλΠϜ w ࡞ऀ͕ࣗ/PEFKTͷ༷Λޙչͯ͠࡞Γ ͨ͠ͷ w ԕ͍ະདྷϦϓϨΠε͞ΕΔʁ
Deno https://deno.land/ https://qiita.com/so99ynoodles/items/c3ba2a528052827e3b3c ެࣜαΠτ 2JJUB
ɹͬͯΈΔ $ brew install deno )PNFCSFXͰΠϯετʔϧͰ͖·ͨ͠ NBD04 $ deno run
https://deno.land/std/examples/welcome.ts $ deno —-version deno 1.0.0 v8 8.4.300 typescript 3.9.2 αϯϓϧϓϩάϥϜΛ࣮ߦ Welcome to Deno https://deno.land/#installation ެࣜαΠτ
w 3FBDU&VSPQF d Ͱൃද w GBDFCPPLͷ৽͍͠ঢ়ଶཧϥΠϒϥϦ w 3FBDUͷެࣜͳঢ়ଶཧϥΠϒϥϦͰͳ͍ w "UPNͱ4FMFDUPSΛܦ༝ͯ͠3FBDUίϯϙʔ
ωϯτʹྲྀΕΔϑϩʔάϥϜΛ࡞ w ݱࡏ&YQFSJNFOUBM ࣮ݧ൛ Recoil ެࣜαΠτ https://recoiljs.org/ https://blog.uhy.ooo/entry/2020-05-16/recoil-first-impression/ ࢀߟ