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
280
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
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
6.1k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
360
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
CSC305 Lecture 09
javiergs
PRO
0
310
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
310
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
CSC509 Lecture 05
javiergs
PRO
0
310
理論と実務のギャップを超える
eycjur
0
170
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
240
Claude Agent SDK を使ってみよう
hyshu
0
1.4k
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
190
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
4 Signs Your Business is Dying
shpigford
185
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Building an army of robots
kneath
305
46k
Writing Fast Ruby
sferik
629
62k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Applications with DynamoDB
mza
96
6.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
BBQ
matthewcrist
89
9.8k
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.