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
NGK2023S - OCaml最高! スマホ開発にも使えちゃう?!
Search
Haochen Kotoi-Xie
January 21, 2023
Programming
0
240
NGK2023S - OCaml最高! スマホ開発にも使えちゃう?!
Repository:
https://github.com/haochenx/ocaml_react_native_sample
Haochen Kotoi-Xie
January 21, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
150
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.1k
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
480
OpenTelemetry のサービスという概念について
azukiazusa1
1
380
OpenAPI を守るのは難しい
ohmori_yusuke
1
140
GitHub Copilot Tips and Tricks
yuichielectric
26
7.4k
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
120
まっちすいっち戦争 / match vs switch
takuyakatsusa
2
660
document.write再考
brn
5
2.5k
ここ1~2年くらいで 使えるようになった(主要ブラウザーの最新版 がすべて対応した ) ウェブの新機能について ランダムに喋る!
myzkyy
9
6.4k
Building a Smaller App Binary
kateinoigakukun
2
200
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
We Have a Design System, Now What?
morganepeng
42
6.7k
Faster Mobile Websites
deanohume
296
30k
Infographics Made Easy
chrislema
237
18k
Thoughts on Productivity
jonyablonski
57
3.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
Designing for Performance
lara
601
67k
Code Review Best Practice
trishagee
54
15k
Side Projects
sachag
451
41k
Become a Pro
speakerdeck
PRO
8
4.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
Transcript
Haochen Kotoi-Xie (twitter: @haochenxie) on 2023-01-21 OCaml࠷ߴ! εϚϗ։ൃʹ͑ͪΌ͏?! Prepared for
NGK2023S LT
Haochen Kotoi-Xie (twitter: @haochenxie) on 2023-01-21 OCaml࠷ߴ! εϚϗ։ൃʹ͑ͪΌ͏?! Prepared for
NGK2023S LT
OCamlͳʹ? ΈΜͳେ͖ ChatGPT ઌੜʹฉ͍ͯΈͨ!
OCamlͳʹ? ΈΜͳେ͖ ChatGPT ઌੜʹฉ͍ͯΈͨ!
ChatGPT ઌੜ͕ڭ͑ͯΒͬͨ.. $SFBUFEXJUI%"--h& BO"*TZTUFNCZ0QFO"* OCamlߴͰܕ҆શ!
εϚϗΞϓϦ։ൃʹ͍͍ͨͶ 🤔
• js_of_ocaml : OCaml όΠτίʔυ → JavaScript • ReScript/ReasonML :
OCaml ιʔείʔυ → JavaScript • React Native : JavaScript/TypeScript ͰΞϓϦ։ൃ ==> Ͱ͖ͪΌ͏ͷͰ 🤩 ͪΐͬͱௐͯΈΕ…
࣮ࡍͬͯΈΑ͏
࣮ࡍͬͯΈΑ͏
࣮ࡍͬͯΈΑ͏
࣮ࡍͬͯΈΑ͏
࣮ࡍͬͯΈΑ͏
࣮ࡍͬͯΈΑ͏ ×
• js_of_ocaml : OCaml όΠτίʔυ → JavaScript • ReScript/ReasonML :
OCaml ιʔείʔυ → JavaScript • React Native : JavaScript/TypeScript ͰΞϓϦ։ൃ ==> Ͱ͖ͪΌ͏ͷͰ 🤩 ==> Ͱ͖ͯ͠·ͬͨ 😳 🤯 😲 😏 😏 😏
ੈͷதศརͳͷ͕͍ͬͺ͍🎉 × ɾɾɾ
Ͳ͏ͤJoy Project͚ͩ͡Όͳ͍? 🤔
Ͳ͏ͤJoy Project͚ͩ͡Όͳ͍? 🤔 ͍͍ ۀͰ͍ͬͯΔΜͩ 😏
ΞʔΩςΫνϟҰྫ (໊ͱ͔ग़ͤͳ͍͚Ͳ……) • SDKϓϩδΣΫτ (Android/iOS) • ίΞΞϧΰϦζϜ: Proper OCaml (compiled
via js_of_ocaml) • εϚϗηϯαʔσʔλऩू෦: React Native Native Modules • GUI࣮: TypeScript (React Native) • ࣮ݧతʹ ReScript ಋೖͨ͠ → େਓͷࣄͰ TypeScript-only ʹͳͬͨ • Glue Code: TypeScript (React Native) • ΫϥΠΤϯτίʔυ͚API: Java / Swift
ײ • ϚϧνϓϥοτϑΥʔϜͰίʔυγΣΞϦϯάͰ͖ͯͤ • Code Change͕ϦΞϧλΠϜͰϓϨϏϡʔͰ͖ΔReact Nativeਆ! • Native Modules
ͷ։ൃΊΜͲ͍͘͞.. • ܕ҆શརްੜ! • OCaml ͍͍ͧ! εϚϗ։ൃʹ͑ΔΜͩͧ! ݁
ײ • ϚϧνϓϥοτϑΥʔϜͰίʔυγΣΞϦϯάͰ͖ͯͤ • Code Change͕ϦΞϧλΠϜͰϓϨϏϡʔͰ͖ΔReact Nativeਆ! • Native Modules
ͷ։ൃΊΜͲ͍͘͞.. • ܕ҆શརްੜ! • OCaml ͍͍ͧ! εϚϗ։ൃʹ͑ΔΜͩͧ! ݁ FIN.