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
Building native apps with scala.js
Search
Shinpei Maruyama
April 03, 2018
Programming
2
1.3k
Building native apps with scala.js
Shinpei Maruyama
April 03, 2018
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.6k
今あえてDRY原則に向き合う
shinpeim
51
560k
Nekogata Drum Sequencer written in Scala.js
shinpeim
2
4k
複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ
shinpeim
36
15k
Using Scala.js with the JavaScript ecosystems
shinpeim
0
2.3k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
32k
Other Decks in Programming
See All in Programming
Java on Azure で LangGraph!
kohei3110
0
120
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
CSC307 Lecture 17
javiergs
PRO
0
110
SODA - FACT BOOK
sodainc
1
920
Use Perl as Better Shell Script
karupanerura
0
690
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
660
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
290
XSLTで作るBrainfuck処理系
makki_d
0
200
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
カクヨムAndroidアプリのリブート
numeroanddev
0
420
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
300
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Building Applications with DynamoDB
mza
95
6.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Gamification - CAS2011
davidbonilla
81
5.3k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
GitHub's CSS Performance
jonrohan
1031
460k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building an army of robots
kneath
306
45k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Building Adaptive Systems
keathley
43
2.6k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Transcript
CZ͠Μ͍BLBೣܕԻػ #VJMEJOHOBUJWF BQQTXJUI 4DBMBKT
BCPVUNF w ג ϝσΟϩϜ w ීஈ4DBMBͱ͔+4ͱ͔ຊޠ ͱ͔ w 1FSM 3VCZͨ͠ͳΉఔʹ
w UXJUUFS!TIJOQFJ
BCPVUNF w 4DBMBKTͱ 3FBDU/BUJWFc&MFDUSPO ͬͯ झຯΞϓϦॻ͍ͨΓͯ͠Δ w #BDLMPHΫϥΠΞϯτ &MFDUSPO
w ίʔυේΤσΟλ 3FBDU/BUJWF
લఏࣝ
4DBMBKT
4DBMBKT w 4DBMBUP+BWB4DSJQUͳτϥϯ εύΠϥ w ϓϩμΫτͰ͏ͱ͜Ζ͕૿͖͑ͯ ͍ͯΔ<ཁग़య>
4DBMBKTϝϦοτ w 4DBMBͰ͋Δ͜ͱ w ;ͭ͏ʹ4DBMB w ҆શ w දݱྗߴ͍
None
4DBMBKTσϝϦοτ w 4DBMBͰ͋Δ͜ͱ w 4DBMB͔Β+BWB4DSJQUͷੈքΛ ৮Ζ͏ͱ͢Δͱ్ʹۤ௧͕૿͑Δ w ಈతܕ͚ϥΠϒϥϦͱ͔ϒϥβͷ "1*ͱ͔ʜʜ
#VJMEJOHOBUJWF BQQTXJUI+4
3FBDU/BUJWF w 3FBDUͰωΠςΟϒεϚϗΞϓϦ ͕࡞ΕΔ w 8FC7JFXͱ͔͡Όͳ͍ w 3FBDU͕/BUJWFͷϓϨθϯςʔ γϣϯΛநԽ͍ͯ͠Δ
&MFDUSPO w +4ͰσεΫτοϓωΠςΟϒΞϓ Ϧ͕࡞ΕΔ w த΄΅ϒϥβΈ͍ͨͳ͔Μ͡
ϝϦοτ w +4Ͱ͋Δ͜ͱ w ࢲݟ͚ͩͲɺωΠςΟϒॻ͚ΔϓϩάϥϚΑΓ+4ॻ ͚ΔϓϩάϥϚͷ΄͏͕͕ଟ͍ w 6*Ήͱ͖ͷ։ൃαΠΫϧ͕ૣ͘ճΔ w ׳ΕΔͱωΠςΟϒͷϏϧυ͕ͪ࣌ؒΉ͠Ζ͠Μ
Ͳ͘ͳΔ w 91MBUͰ͋Δ͜ͱ w ͪΐͬͱਂೖΓ͢Δͱࢮ͵ͷͰ͜ͷແࢹ͠·͢
Ϟνϕʔγϣϯ
ຊԻ w 4DBMBͰωΠςΟϒΞϓϦॻ͖ͨ ͍ w ͳͥͳΒΘΕΘΕ4DBMB͕͖ ͔ͩΒ w ຊԻͰݴ͏ͱ͜Εׂ͕
ݐલ w (6*ΞϓϦέʔγϣϯෳࡶͳঢ়ଶ Λ࣋ͭͨΊɺߏங͢Δͷ͕ඇৗʹΉ ͔͍ͣ͠ w ෳࡶͳྖҬʹରͯ͠4DBMBͷ Α͏ͳڧྗͳݴޠͰཱ͔͍͍ͪͨ
ϐίʔϯʂ 4DBMBKTͷػӡʂ
ൃ w +4ͰωΠςΟϒΞϓϦॻ͚ΔͳΒ 4DBMBKTͰωΠςΟϒΞϓϦॻ͚ Δ͡ΌΜ w ѱຐతͻΒΊ͖ʜʜʂ
ཱ͔ͪ͏͖น ͦͷ
ϏϧυपΓͷ
ϏϧυपΓͷ w ͦͦ+4Ͱ͋ΔఔҎ্ෳࡶͳ (6*ΞϓϦΛ࡞ΔͳΒɺXFCQBDL ͕લఏͱͳ͍ͬͯΔ w 4DBMBKTTCUͰϏϧυ͢Δલఏ
ϏϧυपΓͷ w 4DBMBKTͷMPBEFS͋Δɻ͋Δʹ ͋Δ͕ʜʜ w ڊେϏϧυγεςϜͱڊେϏϧυγ εςϜΛڊେ࿈݁͢Δͷͪΐͬ ͱʜʜʢݸਓͷݟղͰ͢ʣ
ཱ͔ͪ͏͖น ͦͷ
ΘΒ͔͘࡞Γ͍ͨ ෦ WT ߗ͘࡞Γ͍ͨ෦
ॊΒ͔͍΄͏͕͍͍෦ w ͱ͘ʹ3FBDU/BUJWFͱ͔ͰΔͳΒɺ7JFX पΓͷίʔυૉͷ+4ͷ΄͏ָ͕ͩͬͨΓ ͢Δ w ϓϨʔϯͳΦϒδΣΫτ \lBzlCz^Έ͍ͨ ͳͭ ଟ༻͢Δ͠ɺ։ൃͯ͠ΔؒʹΩʔ
ΨϯΨϯมΘΔ w ฤू֬ೝͷαΠΫϧΛ͘ճ͍ͨ͠
ߗ͍΄͏͕͍͍෦ w ͱݴ͑ɺෳࡶͳঢ়ଶཧϩδο ΫΛ+4Ͱॻ͘ͷͭΒ͍ɻ4DBMB ͳΒͳ͋ʜʜͬͯࢥ͏͜ͱଟ͍
ιϦϡʔγϣϯͷ ͝հ
ιϦϡʔγϣϯ w 6*ૉʹ+4ͷ6*ϑϨʔϜϫʔ ΫͰͦͷ··ॻ͘ w ϞσϧҎԼΛ4DBMBKTͰॻ͘
TCU ਤ WVFͩͱ͔ KTY TDBMB JNQPSUͯ͠͏ DPNQJMFEKT DPNQJMF͢Δ XFCQBDL
.78 7JFX 8IBUFWFS .PEFM 6* -BZFS .PEFM -BZFS
.78 7JFX 8IBUFWFS .PEFM &MFDUSPOΒ 3FBDU/BUJWFΒͷ ߹ʹৼΓճ͞ΕΔ ෦ Ͳ͏ͤ ࣗͰ
ઃܭͯ͠ ॻ͘෦
XJUI4DBMBKT 7VFPS3FBDU/BUJWF .PEFM 3FBDU 7VF FUDʜ 4DBMBKT $PNNBOE 2VFSZ &WFOU
7VFPS3FBDU/BUJWF 7VFKTXJUI4DBMBKT .PEFM 4DBMBKT $PNNBOE 2VFSZ &WFOU JOWPLF ෭࡞༻ 3FBDU
7VF FUDʜ
XJUI4DBMBKT 7VFPS3FBDU/BUJWF .PEFM 3FBDU 7VF FUDʜ 4DBMBKT $PNNBOE 2VFSZ &WFOU
XBUDI
7VFPS3FBDU/BUJWF 3FBDU 7VF FUDʜ 7VFKTXJUI4DBMBKT .PEFM $PNNBOE 2VFSZ &WFOU OPUJGZ
4DBMBKT
7VFPS3FBDU/BUJWF 3FBDU 7VF FUDʜ 7VFKTXJUI4DBMBKT .PEFM Ͳ͏ͤ ࣗͰ ઃܭͯ͠ ॻ͘෦
$PNNBOE 2VFSZ &WFOU GFUDI
7VFPS3FBDU/BUJWF 3FBDU 7VF FUDʜ σʔλϑϩʔ୯ํ .PEFM Ͳ͏ͤ ࣗͰ ઃܭͯ͠ ॻ͘෦
$PNNBOE 2VFSZ &WFOU
ίʔυྫ
3FBDU/BUJWF෦
3FBDU/BUJWF෦
3FBDU/BUJWF෦
;ͭ͏ͷ 3FBDU/BUJWF
4DBMB෦
;ͭ͏ͷ4DBMB
ॴײ
ॴײ w ΠϯϑϥετϥΫνϟϨΠϠʔͰ4DBMB͔Β +4ͷϥΠϒϥϦ"1*৮Δͷආ͚ΒΕͳ͍ w ͕͚ͬ͜͜͜͏ͭΒ͍ w ͦ͏ߟ͑Δͱɺ+4ͷ"1*ୟ͖·͘ΔΑ͏ͳͭ ͪΐͬͱਏͦ͏ w
4DBMBͰΞϓϦॻ͚Δ͜ͱࣗମͱͯྑ͍ମ ݧΛಘΒΕΔ
ॴײ w ϓϨθϯςʔγϣϯϨΠϠʔૉͷ +4ɺͦͷԼશ෦4DBMBͱ͍͏ͷ ͔ͳΓମݧ͕ྑ͍ w 4DBMBͰωΠςΟϒΞϓϦॻ͚ ·͢ʂʂʂʂ
·ͱΊ
·ͱΊ w 4DBMBͰωΠςΟϒΞϓϦ͕࡞Γ͍ͨʂͱ ͍͏͍ࢥ͍࣮ݱՄೳͰ͋Δ͜ͱΛݟ͖ͯ ·ͨ͠ w 6*ʹ͍ۙ෦ɺ+4ͷ··Δͱ͏·͍͘ ͘͜ͱ͕ଟ͍͜ͱΛݟ͖ͯ·ͨ͠ w ਖ਼͜ͷํੑ͔ͳΓ͋Γͩͱࢥ͏ɺͱ͍
͍͏ҙݟΛൃ৴͠·ͨ͠