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
Using Scala.js with the JavaScript ecosystems
Search
Shinpei Maruyama
July 14, 2017
0
2.3k
Using Scala.js with the JavaScript ecosystems
Shinpei Maruyama
July 14, 2017
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
3
3.9k
設計ナイト2022 トランザクションスクリプト
shinpeim
12
3.5k
Ruby (off|with) the Rails
shinpeim
20
5.1k
綱渡りバッチ脱出大作戦
shinpeim
3
3.7k
Building native apps with scala.js
shinpeim
2
1.4k
今あえてDRY原則に向き合う
shinpeim
51
560k
Nekogata Drum Sequencer written in Scala.js
shinpeim
2
4k
複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ
shinpeim
36
15k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
32k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
RailsConf 2023
tenderlove
30
1.1k
Agile that works and the tools we love
rasmusluckow
329
21k
Typedesign – Prime Four
hannesfritz
42
2.7k
Making Projects Easy
brettharned
116
6.3k
Why Our Code Smells
bkeepers
PRO
337
57k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Transcript
CZ͠Μ͍BLBೣܕԻػ 6TJOH4DBMBKTXJUI UIF+BWB4DSJQU FDPTZTUFN
BCPVUNF w ג ϝσΟϩϜ w ීஈ4DBMBͱ͔+4ͱ͔ w 1FSM 3VCZͨ͠ͳΉఔʹ w
UXJUUFS!TIJOQFJ
4DBMBKT w 4DBMBUP+BWB4DSJQUͳτϥϯ εύΠϥ w WXBTBOOPVODFEJO +VMZ
&YBNQMF 4DBMBKTެࣜυΩϡϝϯτΑΓҾ༻ IUUQTXXXTDBMBKTPSHEPDJOUFSPQFSBCJMJUZFYQPSUUPKBWBTDSJQUIUNM
)PXUPUSBOTQJMF w TCUʹϓϥΪϯͭͬ͜ΜͰTCUͰ USBOTQJMF͢Δ w UBSHFUσΟϨΫτϦҎԼʹ+4 ϑΝΠϧ͕ు͔ΕΔ
JOUFSPQFSBCJMJUZ CFUXFFO 4DBMBKT BOE +BWB4DSJQU
VTJOH4DBMBKTGSPN+4 w TCUͰు͔Εͨ+4ΛXFCQBDLͰ ͕ͬͪΌΜ͢ΔͳΓͦͷ··ಡΈࠐ ΉͳΓͯ͑͠ྑ͍
VTJOH+4GSPN4DBMBKT w CSJEHFJOUFSGBDFΛ4DBMBKT ଆͰఆٛͯ͠Δ w ৄ͘͠ެࣜυΩϡϝϯτΛ
1SFEFpOFEUZQFT
4DBMBKTͱ OBUJWF+4ͷ ར༻ઓུΛߟ͑Δ
બࢶ w શ෦4DBMBKTͰΔ w Ұ෦4DBMBKTҰ෦+BWB4DSJQU ͰΔ
શ෦4DBMBKTͰΔ w 1SPT w ΞϓϦέʔγϣϯશମ͕ݎ࿚ͳܕͰकΒ ΕΔ w +4ଆͱͷڥΛ͋·Γҙࣝ͠ͳͯ͘ࡁ Ή
શ෦4DBMBKTͰΔ w $POT w +4ͷϥΠϒϥϦࢿ࢈ͳͲΛͲ͏ͬͯ ͏͔ͱ͍͏͕͋Δ w ࣗͰJOUFSGBDFΛఆٛ͢Δʁ·͡Ͱʁ w ͱ͍͑༗໊Ͳ͜Ζ͢Ͱʹ༗ࢤ͕༻ҙ
ͯ͘͠ΕͨΓ͢Δ
શ෦4DBMBKTͰΔ w $POTʢଓ͖ʣ w IUUQTXXXTDBMBKTPSH MJCSBSJFTGBDBEFTIUNM w 7VFKTͱ͔ͷ୯ҰϑΝΠϧίϯϙʔω ϯτͲ͏͢ΜͶΜͱ͔+4ͷΤίγεςϜ ʹΓΕͳ͍ײ͋͡Δ
Ұ෦+4Ұ෦4DBMBKT w 1SPT w +4ͷࢿ࢈ΤίγεςϜʹͦͷ··ΕΔ w $POT w ϧʔϧܾΊͳ͍ͱΧΦεʹͳΔ w
+4ଆܕ͕Θ͍··ͰɺΞϓϦέʔ γϣϯશମ͕ܕͰकΒΕͳ͍
ιϦϡʔγϣϯͷ ͝հ
ιϦϡʔγϣϯ w 6*ૉʹ+4ͷ6*ϑϨʔϜϫʔ ΫͰͦͷ··ॻ͘ w ϞσϧҎԼΛ4DBMBKTͰॻ͍ͯɺ ͔ͦ͜Β+4৮Βͳ͍
.78 7JFX 8IBUFWFS .PEFM 6* -BZFS .PEFM -BZFS
.78 7JFX 8IBUFWFS .PEFM 7VFΒ 3FBDUΒ ϒϥβ'8 %0.ͷ ߹ʹৼΓճ͞ΕΔ ෦
Ͳ͏ͤ ࣗͰ ઃܭͯ͠ ॻ͘෦
7VFKTXJUI4DBMBKT 7VF$PNQPOFOU 7JFX 7JFX.PEFM .PEFM 7VFKT 4DBMBKT $PNNBOE 2VFSZ &WFOU
XBUDI
7VFKTXJUI4DBMBKT 7VF$PNQPOFOU 7JFX 7JFX.PEFM .PEFM 7VFKT 4DBMBKT $PNNBOE 2VFSZ &WFOU
JOWPLF ෭࡞༻
7VFKTXJUI4DBMBKT 7VF$PNQPOFOU 7JFX 7JFX.PEFM .PEFM 7VFKT $PNNBOE 2VFSZ &WFOU OPUJGZ
4DBMBKT
7VFKTXJUI4DBMBKT 7VF$PNQPOFOU 7JFX 7JFX.PEFM .PEFM 7VFKT Ͳ͏ͤ ࣗͰ ઃܭͯ͠ ॻ͘෦
$PNNBOE 2VFSZ &WFOU GFUDI
σʔλϑϩʔ୯ํ 7VF$PNQPOFOU 7JFX 7JFX.PEFM .PEFM 7VFKT Ͳ͏ͤ ࣗͰ ઃܭͯ͠ ॻ͘෦
$PNNBOE 2VFSZ &WFOU
αϯϓϧίʔυ w αʔόʔͱಉظ͢ΔλΠϓͷ 5PEP"QQ w IUUQTHJUIVCDPN 4IJOQFJN 4DBMBKT5PEP&YBNQMF
"QQMJDBUJPO4FSWJDF
ී௨ͷ4DBMB
7VFKTଆ
ී௨ͷ୯ҰϑΝΠϧ ίϯϙʔωϯτ
՝
.PEFMϨΠϠʔ "QQMJDBUJPO ϐϡΞ4DBMBͰॻ͚Δ $PNNBOEͳͲ +4ଆʹ&YQPSU %PNBJO ϐϡΞ4DBMBͰॻ͚Δ *OGSBTUSVDUVSF 4DBMBͰॻ͚ͳ͍ʂ
%*ͰղܾͰ͖ͦ͏ w *OGSBͷ*'Λ%PNBJOʹॻ͘ w ͦͷ*'Λຬͨͨ͠ɺ+4ଆͰॻ͍ͨ ࣮Λ%*͢ΕΑͦ͞͏ w ·࣮ͩݧͰ͖ͯͳ͍͚Ͳ$MFBO "SDIJUFDUVSFతʹے͕ྑͦ͞͏ ʹݟ͑Δ
ͦͦαΠζେ͖͍ w 5PEP"QQϨϕϧͰɺNJOJGZ͋Γ Ͱ.#͑ w ݫ͍͠
ࠓޙͷల
͋Δఔෳࡶͳ(6*ΞϓϦॻ͖͍ͨ w ෳࡶʹͳΕͳΔ΄Ͳ4DBMBͷྑ ͕͞ޮ͍ͯ͘Δͣ
FMFDUSPOʹ͍͍ͨ w &MFDUSPOͳΒͭʹ+4ͷαΠζ େ͖͘ͳͬͯͳ͘ͳ͍ʁ w ͔ͨ͠ʹʂʂʂ w 4DBMBͰ(6*ΞϓϦέʔγϣϯ։ ൃʂʂʂʂ
UPCF DPOUJOVFE