Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
KotlinでReact Native(expo) を使いたい
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shinnosuke Kugimiya
June 06, 2019
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KotlinでReact Native(expo) を使いたい
Shinnosuke Kugimiya
June 06, 2019
More Decks by Shinnosuke Kugimiya
See All by Shinnosuke Kugimiya
Claude Code x Androidアプリ 開発
kgmyshin
1
2.6k
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
1.4k
15分で分かった気になる dumpsys
kgmyshin
1
380
UIテストはもうMaestroでいいのかもしれない話
kgmyshin
28
14k
新規開発を始めるときにやるべきこと
kgmyshin
19
9.3k
android app error handling
kgmyshin
1
1.6k
solid+cqs+dry
kgmyshin
35
10k
Paging Library ~ アイテムの更新 ~
kgmyshin
2
3.5k
新規チームで新規開発を始める時にやること
kgmyshin
40
9.6k
Other Decks in Programming
See All in Programming
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
300
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
110
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
150
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
高専キャリア LT 発表内容
crysta1221
6
5.7k
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
260
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
920
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
RailsConf 2023
tenderlove
30
1.5k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
How STYLIGHT went responsive
nonsquared
100
6.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
How GitHub (no longer) Works
holman
316
150k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Transcript
!LHNZTIJO %.."OESPJEษڧձ ,PUMJOͰ3FBDU/BUJWF FYQP Λ͍͍ͨ
X © DMM.com ࣗݾհ
X © DMM.com ࣗݾհ w LHNZTIJOఝٶʢ͗͘Έʣ w "OESPJEΤϯδχΞ w $50ࣨॴଐ
w ࠷ۙɺؾ·͙ΕΫοΫʹ·ͬͯڕΛ͖͞ ࢝Ί·ͨ͠
X © DMM.com ΰʔϧ
X © DMM.com ΰʔϧ w ,PUMJONQQͰFYQP͕͑Δ͜ͱΛͬͯΒ͏ w FYQPͳͲͷϑϨʔϜϫʔΫΛ͏ͨΊʹɺͲ͏͍͏͜ͱΛ͢Ε͍͍ͷ ͔ΛͬͯΒ͏ w
ଞͷϑϨʔϜϫʔΫΛ͏ͱ͖ͷࢀߟʹͳΔ
X © DMM.com BHFOEB
X © DMM.com BHFOEB w ͕ࣗ,PUMJO.11Λ͏ཧ༝ w ,PUMJOͰ8FCϑϩϯτΛ։ൃ͢Δͱ͖Ͳ͏͢Δ͔ʁ w FYQP
3FBDU/BUJWF Ͱ8FC։ൃͷΑ͏ʹʜ
X © DMM.com ͕ࣗ,PUMJO.11Λ͏ཧ༝
X © DMM.com ͕ࣗ,PUMJO.11Λ͏ཧ༝ w ϞϊϨϙͰ ݴޠͰͬͯΈ͍͔ͨΒ
X © DMM.com ͳͥϞϊϨϙΛࢼ͍ͨ͠ͷ͔ w ྫ͑αʔόʔΤϯδχΞਓɺJ04ΤϯδχΞਓɺ"OESPJEΤϯδχ Ξਓɺ8FCϑϩϯτਓͷਓͷνʔϜ͕͋Δͱ͢Δ w ྖҬ͝ͱʹϦϙδτϦΛ࡞ΔɻYYYTFSWFS YYYJPT
YYYXFC YYY BOESPJEͳͲ w ͍ͭͷؒʹ͔ɺαʔόʔνʔϜɺJ04νʔϜͳͲͱݺΕΔʜʢൣ ғ͕໌֬ʹ͔Εͯ͠·͏ʣ w ଞྖҬͷ͜ͱ͔͋ͣΓΒ͵ʜ ͱ͍͏ঢ়گΛճආ͍ͨ͠ʂ
X © DMM.com ͳͥ̍ݴޠͳͷ͔ w ֤ྖҬ͕͍ͭͷؒʹ͔அ͞ΕΔͷΛճආ͢ΔͨΊʹϞϊϨϙʂ w ϓϧϦΫ͕ͨ͘͞ΜདྷΔΑ͏ʹͳ͚ͬͨͲɺීஈΘͳ͍ݴޠʜίϯς ΩετεΠον͕େม w
͍ͭͷؒʹ͔ɺଞྖҬͷ13ݟͳ͘ͳΔ ͱ͍͏ঢ়گΛճආ͍ͨ͠ʂ w ʢίϯςΩετεΠονͩΔ͍ʜݩʹ͍ͨ͠ʜϞϊϨϙΊ͍ͨʜʣ
X © DMM.com ϞϊϨϙͰݴޠͳΒʂ w ̍ͭͷνʔϜ͕̍ͭͷνʔϜͷ··Ͱ͍ΒΕΔ w ଞྖҬͷϨϏϡʔΛ͢Δ࣌ͷίϯςΩετεΠονͷෛՙ͕͍ ͔͠Εͳ͍
X © DMM.com ͳͥɺࣗ,PUMJONQQΛબΜͩͷ͔ w ਖ਼͍͏ͱɺνʔϜͷٕज़ελοΫΛΈͯબ͢Δͷ͕Ұ൪ w ͕ͩɺͦΕͧΕͷಛΛݟͯΈΑ͏
X © DMM.com ैདྷͷΫϩεϓϥοτϑΥʔϜؔ࿈ٕज़ͷಛ "OESPJE J04 8FC 91MBUGPSN'SBNFXPSL :PVS$PEF
X © DMM.com ैདྷͷΫϩεϓϥοτϑΥʔϜؔ࿈ٕज़ͷಛ "OESPJE J04 8FC 91MBUGPSN'SBNFXPSL :PVS$PEF w
91MBUGPSN'SBNFXPSLͷ"1*Λ ༻͢Δ w 91MBUGPSN'SBNFXPSLͷରԠ͢ ΔϓϥοτϑΥʔϜʹ੍ݶ͕ ͋Δ w ݴޠറΒΕΔ
X © DMM.com ,PUMJONQQͷಛ "OESPJE :PVS$PEF J04 8FC .BD 8JO
-JOVY
X © DMM.com w ֤ϓϥοτϑΥʔϜͷ"1*Λ༻͢ Δ w ରԠϓϥοτϑΥʔϜͷ੍ݶ΄ͱ ΜͲͳ͍ʢίϯύΠϥτϥϯεύ Πϥ͕ͦͦ͜͜༻ҙ͞ΕͯΔͷͰʣ
w ݴޠ,PUMJOʹറΒΕΔ "OESPJE :PVS$PEF J04 8FC .BD 8JO -JOVY ,PUMJONQQͷಛ
X © DMM.com w ֤ϓϥοτϑΥʔϜͷ"1*Λ༻͢ Δ༻ͯ͠ྑ͍ w ରԠϓϥοτϑΥʔϜͷ੍ݶ΄ͱ ΜͲͳ͍ʢίϯύΠϥτϥϯεύ Πϥ͕ͦͦ͜͜༻ҙ͞ΕͯΔͷͰʣ
w ݴޠ,PUMJOʹറΒΕΔ "OESPJE :PVS$PEF J04 8FC .BD 8JO -JOVY ,PUMJONQQͷಛ
X © DMM.com ,PUMJONQQͷಛ w σεΫτοϓΞϓϦΛ֤04͝ͱʹ࣮͢Δͷ͠ΜͲ͍͔ΒFMFDUSPO ͍͍ͨ w 8FC3FBDUͰΓ͍ͨ w
"OESPJEಘҙ͔ͩΒωΠςΟϒͷ·· w J04ͦΜͳʹಘҙ͡Όͳ͍ɻͲͪΒ͔ͱ͍͏ͱ3FBDU/BUJWFͰΓͨ ͍ ,PUMJONQQͳΒ͜Ε͕Ͱ͖Δʂ
X © DMM.com w ֤ϓϥοτϑΥʔϜͷ"1*Λ༻͢ Δ༻ͯ͠ྑ͍ w ରԠϓϥοτϑΥʔϜͷ੍ݶ΄ͱ ΜͲͳ͍ʢίϯύΠϥτϥϯεύ Πϥʹґଘʣ
w ݴޠ,PUMJOʹറΒΕΔ "OESPJE :PVS$PEF J04 8FC .BD 8JO -JOVY ,PUMJONQQͷಛ &MFDUSPO 3/
X © DMM.com ˞ҙ w 'SBNFXPSLʹϩοΫΠϯ͞ΕΔ͜ͱϝϦοτͰ͋ΓɺσϝϦοτͰ ͋Γ·͢ w ͦͷٯʢ,PUMJONQQʣɺ·ͨવΓͰ͢ w
τϨʔυΦϑΛߟٕ͑ͯज़બ͍͖ͯ͠·͠ΐ͏
X © DMM.com ϝϦοτɾσϝϦοτͷྫ 91MBUGPSN'SBNFXPSL ,PUMJONQQ ϝϦοτ w ֶशίετతʹ̍ͭͷ'SBNFXPSLͷ"1*ΛΔ ͚ͩͰྑ͍
w ͳͲͳͲ w ֤ϓϥοτϑΥʔϜʹର͖ͯ͠ͳ'SBNFXPSL Λ༻Ͱ͖Δ w 'SBNFXPSL͕ഇΕͨ߹ͷμϝʔδ͍ʢ࡞ ΓํʹΑΔ͕ʣ w ͳͲͳͲ σϝϦοτ w 'SBNFXPSL͕ഇΕͨ߹ͷμϝʔδ͕ਙେ w 'SBNFXPSLͷ࠾༻͢ΔݴޠʹϩοΫΠϯ͞ΕΔ ʢϝϦοτʹͳΓ͏Δʣ w ͳͲͳͲ w ֶशίετબΜͩ'SBNFXPSLɺϓϥοτϑΥ ʔϜͷ͚ͩ͋Δ w ,PUJMOʹϩοΫΠϯ͞ΕΔʢϝϦοτͷਓ͍ Δʣ w ͳͲͳͲ
X © DMM.com ͨͩʜ "OESPJE :PVS$PEF J04 8FC .BD 8JO
-JOVY &MFDUSPO 3/ w ຊʹͰ͖Δͷʜʁʁ w ͬͯΔͷݟͨ͜ͱͳ͍͚Ͳʁʁ
X © DMM.com ͨͩʜ "OESPJE :PVS$PEF J04 8FC .BD 8JO
-JOVY &MFDUSPO 3/ w ຊʹͰ͖Δͷʜʁʁ w ͬͯΔͷݟͨ͜ͱͳ͍͚Ͳʁʁ ͱ͍͏͜ͱͰࢼͯ͠Έͨʂͱ͍͏ͷ͕ࠓճͷൃදͰ͢ʂ
X © DMM.com ,PUMJOͰ8FCϑϩϯτΛ։ൃ͢Δͱ͖ Ͳ͏͢Δ͔ʁ
X © DMM.com ,PUMJOΛͬͯ8FCϑϩϯτΛ։ൃΛ͢Δ࣌ CVJMEHSBEMF͜͏ͳΔ
X © DMM.com ,PUMJOΛͬͯ8FC։ൃΛ͢Δ࣌ plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend"
} dependencies { implementation “org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.6.11' implementation 'org.jetbrains:kotlin-react:16.6.0-pre.70-kotlin-1.3.21' … } compileKotlin2Js { … } kotlinFrontend { downloadNodeJsVersion = "latest" npm { dependency "kotlinx-html-js" dependency "react" dependency "react-dom" … } webpackBundle { bundleName = "main" … } } CVJMEHSBEMF͜͏ͳΔ
X © DMM.com ,PUMJOΛͬͯ8FC։ൃΛ͢Δ࣌ plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend"
} dependencies { implementation “org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.6.11' implementation 'org.jetbrains:kotlin-react:16.6.0-pre.70-kotlin-1.3.21' … } compileKotlin2Js { … } kotlinFrontend { downloadNodeJsVersion = "latest" npm { dependency "kotlinx-html-js" dependency "react" dependency "react-dom" … } webpackBundle { bundleName = "main" … } } CVJMEHSBEMF͜͏ͳΔ
X © DMM.com ,PUMJOΛͬͯ8FC։ൃΛ͢Δ࣌ plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend"
} dependencies { implementation “org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.6.11' implementation 'org.jetbrains:kotlin-react:16.6.0-pre.70-kotlin-1.3.21' … } compileKotlin2Js { … } kotlinFrontend { downloadNodeJsVersion = "latest" npm { dependency "kotlinx-html-js" dependency "react" dependency "react-dom" … } webpackBundle { bundleName = "main" … } } CVJMEHSBEMF͜͏ͳΔ
X © DMM.com ,PUMJOΛͬͯ8FC։ൃΛ͢Δ࣌ plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend"
} dependencies { implementation “org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.6.11' implementation 'org.jetbrains:kotlin-react:16.6.0-pre.70-kotlin-1.3.21' … } compileKotlin2Js { … } kotlinFrontend { downloadNodeJsVersion = "latest" npm { dependency "kotlinx-html-js" dependency "react" dependency "react-dom" … } webpackBundle { bundleName = "main" … } } CVJMEHSBEMF͜͏ͳΔ
X © DMM.com ,PUMJOΛͬͯ8FC։ൃΛ͢Δ࣌ plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend"
} dependencies { implementation “org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-html-js:0.6.11' implementation 'org.jetbrains:kotlin-react:16.6.0-pre.70-kotlin-1.3.21' … } compileKotlin2Js { … } kotlinFrontend { downloadNodeJsVersion = "latest" npm { dependency "kotlinx-html-js" dependency "react" dependency "react-dom" … } webpackBundle { bundleName = "main" … } } CVJMEHSBEMF͜͏ͳΔ
X © DMM.com ࣮ࡍͷίʔυྫ ίʔυ͜͏ͳΔ
X © DMM.com ࣮ࡍͷίʔυྫ ίʔυ͜͏ͳΔ fun main() { document.addEventListener("DOMContentLoaded", {
render(document.getElementById("root")) { a { +"Hello" } } }) } NBJOLU
X © DMM.com ࣮ࡍͷίʔυྫ ίʔυ͜͏ͳΔ fun main() { document.addEventListener("DOMContentLoaded", {
render(document.getElementById("root")) { a { +"Hello" } } }) } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" language="JavaScript" src=“main.bundle.js"></script> … </head> <body> <div id="root"></div> </body> </html> NBJOLU JOEFYIUNM
X © DMM.com ࣮ࡍͷίʔυྫ ίʔυ͜͏ͳΔ fun main() { document.addEventListener("DOMContentLoaded", {
render(document.getElementById("root")) { a { +"Hello" } } }) } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" language="JavaScript" src=“main.bundle.js"></script> … </head> <body> <div id="root"></div> </body> </html> NBJOLU JOEFYIUNM ͜ΕͰ3VO͢Εɺϒϥβ͕։͍ͯ8FC͕ಈ͘
X © DMM.com Ͳ͏͍͏ΈͰಈ͍͍ͯΔͷ͔ʁ
X © DMM.com Ͳ͏͍͏ΈͰಈ͍͍ͯΔͷ͔ʁ w ,PUMJOKT w KTʹτϥϯεύΠϧ͞ΕͯɺXFCϑϩϯτ͕ಈ͘·Ͱ
X © DMM.com ,PUMJOKT ͜͏͍͏͕ؔ͋ͬͨΒ
X © DMM.com ,PUMJOKT ͜͏͍͏͕ؔ͋ͬͨΒ @file:JsModule("react") package react external fun
isValidElement(element: Any): Boolean ͜͏ॻ͚ͩ͘
X © DMM.com ,PUMJOKT ͜͏͍͏͕ؔ͋ͬͨΒ @file:JsModule("react") package react external fun
isValidElement(element: Any): Boolean ͜͏ॻ͚ͩ͘ ͜Ε͚ͩͰɺ,PUMJOͰ͑Δ
X © DMM.com Ͳ͏͍͏ΈͰಈ͍͍ͯΔͷ͔ʁ τϥϯεύΠϧͯ͠,PUMJO͔ΒKT͕Ͱ͖Δ QBDLBHFKTPO࡞ KBS͔ΒVOQBDL
OQNJOTUBMM EFWTFSWFSىಈ 3VO͢Δ·Ͱͷɺେ·͔ͳखॱ͜͏ͳͬͯΔ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ
X © DMM.com τϥϯεύΠϧͯ͠,PUMJO͔ΒKT͕Ͱ͖Δ LU KT LPUMJOKT CVJMEKTԼʹੜ͞ΕΔ
X © DMM.com plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend" }
… kotlinFrontend { downloadNodeJsVersion = "latest" npm { dependency "kotlinx-html-js" dependency "react" dependency "react-dom" … } webpackBundle { bundleName = "main" … } } QBDLBHFKTPO࡞ QBDLBHFKTPO CVJMEԼʹੜ͞ΕΔ
X © DMM.com KBS͔ΒVOQBDLᶃ CVJMEOPEF@NPEVMFT@JNQPSUFE KT LKTN KBS KT LKTN
KBS KT LKTN KBS KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KBS͔Βநग़
X © DMM.com KBS͔ΒVOQBDLᶄ CVJMEOPEF@NPEVMFT KT LKTN QBDLBHFKTPO KT LKTN
QBDLBHFKTPO KT LKTN QBDLBHFKTPO γϯϘϦοΫϦϯΫ࡞ CVJMEOPEF@NPEVMFT@JNQPSUFE KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO
X © DMM.com OQNJOTUBMM CVJMEOPEF@NPEVMFT KT LKTN QBDLBHFKTPO OQNJOTUBMM KT
LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO
X © DMM.com OQNJOTUBMM CVJMEOPEF@NPEVMFT KT LKTN QBDLBHFKTPO OQNJOTUBMM KT
LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KT QBDLBHFKTPO KT QBDLBHFKTPO KT QBDLBHFKTPO ʜ
X © DMM.com EFWTFSWFSىಈ XFCQBDLEFWTFSWFSSVOKT CVJMEԼʹੜ࣮ͯ͠ߦ ࣮ߦ ϒϥβ
X © DMM.com Ͳ͏͍͏ΈͰಈ͍͍ͯΔͷ͔ʁ τϥϯεύΠϧͯ͠,PUMJO͔ΒKT͕Ͱ͖Δ QBDLBHFKTPO࡞ KBS͔ΒVOQBDL
OQNJOTUBMM EFWTFSWFSىಈ 3VO͢Δ·Ͱͷɺେ·͔ͳखॱ͜͏ͳͬͯΔ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ
X © DMM.com Ͳ͏͍͏ΈͰಈ͍͍ͯΔͷ͔ʁ τϥϯεύΠϧͯ͠,PUMJO͔ΒKT͕Ͱ͖Δ QBDLBHFKTPO࡞ KBS͔ΒVOQBDL
OQNJOTUBMM EFWTFSWFSىಈ 3VO͢Δ·Ͱͷɺେ·͔ͳखॱ͜͏ͳͬͯΔ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ LPUMJOKT LPUMJOGSPOUFOEQMVHJO
X © DMM.com FYQPͰ 8FC։ൃͷΑ͏ʹʜ
X © DMM.com LPUMJOΛΘͳ͍߹ͷී௨ͷFYQP։ൃ FYQPJOJUNZOFXQSPKFDU "QQKTͳͲΛमਖ਼ FYQPTUBSU
3VO͢Δ·Ͱͷɺେ·͔ͳखॱ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ
X © DMM.com LPUMJOΛΘͳ͍߹ͷී௨ͷFYQP։ൃ FYQPJOJUNZOFXQSPKFDU "QQKTͳͲΛमਖ਼ FYQPTUBSU
3VO͢Δ·Ͱͷɺେ·͔ͳखॱ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ
X © DMM.com LPUMJOΛΘͳ͍߹ͷී௨ͷFYQP։ൃ QBDLBHFKTPOΛੜ OQNJOTUBMM BQQKTPOͳͲॾʑඞཁͳϑΝΠϧੜ
"QQKTͳͲΛमਖ਼ FYQPTUBSU 3VO͢Δ·Ͱͷɺେ·͔ͳखॱ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ
X © DMM.com LPUMJOΛΘͳ͍߹ͷී௨ͷFYQP։ൃ QBDLBHFKTPOΛੜ OQNJOTUBMM BQQKTPOͳͲॾʑඞཁͳϑΝΠϧੜ
"QQKTͳͲΛमਖ਼ FYQPTUBSU 3VO͢Δ·Ͱͷɺେ·͔ͳखॱ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ LPUMJOKTͱ LPUMJOGSPOUFOEQMVHJO͕ ͍ͬͯΔ͜ͱͱࣅ͍ͯΔ
X © DMM.com ·ͣFYQPͷ"1*Λ͑ΔΑ͏ʹXSBQQFSΛ࡞Δ @file:JsModule("expo") package expo import react.Component external
fun <T : Component<*, *>> registerRootComponent(component: JsClass<T>) FYQPϞδϡʔϧΛ࡞
X © DMM.com ࣍ʹLPUMJOGSPOUFOEQMVHJOͷΑ͏ͳ HSBMEFQMVHJOΛੜ͢Δ
X © DMM.com ,PUMJONQQ߹ͷී௨ͷFYQP։ൃ τϥϯεύΠϧͯ͠,PUMJO͔ΒKT͕Ͱ͖Δ QBDLBHFKTPOΛੜ KBS͔ΒVOQBDL
OQNJOTUBMM BQQKTPOͳͲॾʑඞཁͳϑΝΠϧੜ "QQKTʹSFOBNF FYQPTUBSU ͜͏͍͏λεΫΛ࣮ͯ͠ߦ͘ ʢҰ෦ંͬͯΔͱ͜Ζ͋Γ·͢ʣ LPUMJOKT LPUMJOFYQPQMVHJO ‑
X © DMM.com τϥϯεύΠϧͯ͠,PUMJO͔ΒKT͕Ͱ͖Δ LU KT LPUMJOKT CVJMEKTԼʹੜ͞ΕΔ
X © DMM.com plugins { id "kotlin2js" id "org.jetbrains.kotlin.frontend" }
… kotlinExpo { npm { dependency "kotlinx-html-js" dependency "kotlin-expo" dependency "kotlinx-html-js" dependency "react" dependency "react-dom" dependency "react-redux" dependency "react-router-dom" } } QBDLBHFKTPO࡞ QBDLBHFKTPO CVJMEFYQPԼʹੜ͞ΕΔ https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/GeneratePackageJsonTask.kt
X © DMM.com KBS͔ΒVOQBDLᶃ CVJMEFYQPOPEF@NPEVMFT@JNQPSUFE KT LKTN KBS KT LKTN
KBS KT LKTN KBS KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KBS͔Βநग़ https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/UnpackGradleDependenciesTask.kt
X © DMM.com KBS͔ΒVOQBDLᶄ CVJMEFYQPOPEF@NPEVMFT KT LKTN QBDLBHFKTPO KT LKTN
QBDLBHFKTPO KT LKTN QBDLBHFKTPO γϯϘϦοΫϦϯΫ࡞ CVJMEFYQPOPEF@NPEVMFT@JNQPSUFE KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/UnpackGradleDependenciesTask.kt
X © DMM.com OQNJOTUBMM CVJMEFYQPOPEF@NPEVMFT KT LKTN QBDLBHFKTPO OQNJOTUBMM KT
LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/NpmInstallTask.kt
X © DMM.com OQNJOTUBMM CVJMEFYQPOPEF@NPEVMFT KT LKTN QBDLBHFKTPO OQNJOTUBMM KT
LKTN QBDLBHFKTPO KT LKTN QBDLBHFKTPO KT QBDLBHFKTPO KT QBDLBHFKTPO KT QBDLBHFKTPO ʜ https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/NpmInstallTask.kt
X © DMM.com BQQKTPO࡞ BQQKTPO CVJMEFYQPԼʹੜ͞ΕΔ BQQKTPOͳͲΛੜ
X © DMM.com "QQKTʹSFOBNF "QQKT CVJMEKTԼʹੜ͞ΕͨKT KT CVJMEFYQPԼʹNPWF NPWF https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/BuildTask.kt
X © DMM.com ىಈʢJ04ͷ߹ʣ CVJMEFYQPͰԼهΛ࣮ߦ OPEF@NPEVMFTCJOFYQPTUBSUJPT ࣮ߦ J04ΞϓϦ͕ىಈ https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/RunIOSExpoTask.kt
X © DMM.com ىಈʢ"OESPJEͷ߹ʣ CVJMEFYQPͰԼهΛ࣮ߦ OPEF@NPEVMFTCJOFYQPTUBSUBOESPJE ࣮ߦ "OESPJEΞϓϦ͕ىಈ https://github.com/kgmyshin/kotlin-expo-sample/blob/master/kotlin-expo-gradle-plugin/src/main/kotlin/com/kgmyshin/kotlin/expo/tasks/RunAndroidExpoTask.kt
X © DMM.com ·ͱΊ
X © DMM.com ͨͩʜ "OESPJE :PVS$PEF J04 8FC .BD 8JO
-JOVY &MFDUSPO 3/ w ຊʹͰ͖Δͷʜʁʁ w ͬͯΔͷΈͨ͜ͱͳ͍͚Ͳʁʁ
X © DMM.com ͨͩʜ "OESPJE :PVS$PEF J04 8FC .BD 8JO
-JOVY &MFDUSPO 3/ w ຊʹͰ͖Δͷʜʁʁ w ͬͯΔͷΈͨ͜ͱͳ͍͚Ͳʁʁ Ͱ͖ΔΑʂ