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.4k
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
4.1k
設計ナイト2022 トランザクションスクリプト
shinpeim
12
3.6k
Ruby (off|with) the Rails
shinpeim
20
5.2k
綱渡りバッチ脱出大作戦
shinpeim
3
3.7k
今あえて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.4k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
32k
Other Decks in Programming
See All in Programming
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
190
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.5k
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
160
Google Opalで使える37のライブラリ
mickey_kubo
3
150
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
500
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
270
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
ドメイン駆動設計のエッセンス
masuda220
PRO
4
980
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
100
Developer Joy - The New Paradigm
hollycummins
1
370
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
130
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
300
Featured
See All Featured
Docker and Python
trallard
46
3.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Agile that works and the tools we love
rasmusluckow
331
21k
The Invisible Side of Design
smashingmag
302
51k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Writing Fast Ruby
sferik
630
62k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Fireside Chat
paigeccino
41
3.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
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 ਖ਼͜ͷํੑ͔ͳΓ͋Γͩͱࢥ͏ɺͱ͍
͍͏ҙݟΛൃ৴͠·ͨ͠