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
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDeskto...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuisho Takafuji
October 29, 2024
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
Yuisho Takafuji
October 29, 2024
More Decks by Yuisho Takafuji
See All by Yuisho Takafuji
Elixirでスマホ開発の現在
thehaigo
0
67
サクッと画像分類アプリを作ってみる
thehaigo
0
340
ElixirMobile#2 ElixirDesktopの前説
thehaigo
0
220
ElixirDesktop is Production Ready?
thehaigo
0
190
スマホで動く「GPS地図アプリ」はElixirDesktopで割とサックリ作れる
thehaigo
0
180
Phoenix 1.7とElixirDesktopでスマホアプリを作る セットアップ編
thehaigo
0
290
ElixirConf繋がりでLiveViewNativeやってみた
thehaigo
0
350
ElixirDesktop R&D 苦労話
thehaigo
1
150
AxonOnnxとLiveViewで作る AI・MLシステム
thehaigo
0
240
Other Decks in Programming
See All in Programming
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
260
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.4k
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
280
mrbgem 三角測量 開発
ogom
0
180
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
680
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
590
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.8k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
440
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
150
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
330
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Designing Powerful Visuals for Engaging Learning
tmiket
1
590
Un-Boring Meetings
codingconduct
0
440
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
310
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
Transcript
8FCͷٕज़ελοΫͰ ϚϧνϓϥοτϑΥʔϜΞϓϦ։ൃΛՄೳʹ͢Δ &MJYJS%FTLUPQͷհ UIF@IBJHP
➤ Name: ོ౻།ষʢλΧϑδ ϢΠγϣʣ ➤ Twitter: @the_haigo ➤ Github: thehaigo
➤ Job: ૐཿ / ϑϦʔϥϯεΤϯδχΞ ➤ Title: ElixirMobileΦʔΨφΠβʔ ➤ Skill: Elixir, Phoenix, React, ReactNative ➤ ࠷ۙ࡞ͬͨͷ ➤ CallKitͱWebRTCΛ༻ͨ͠ΠϯλʔϗϯΞϓϦ About me
ຊΛࣥච͠·ͨ͠ʂʢڞஶͰʣ dষ"*.-ؔ࿈ ষύλʔϯϚονʹ͍ͭͯ ষೝূγεςϜʹ͍ͭͯ
ٕज़ॻలʢΦϯϥΠϯʣʹͩ͠·͢ʂ ͬͪ͜୯ஶ
&MJYJS.PCJMFͬͯͳΜͧʁ
ຊ
&MJYJSͰεϚϗΞϓϦΛ ࡞ΕΔͷΛ͝ଘͰ͔͢ʁ
&MJYJS%FTLUPQͱ &MJYS1IPFOJYͰϚϧνϓϥοτϑΥʔϜ։ൃ͕Ͱ͖ΔϥΠϒϥϦ܈ ֤04 で &MSBOHٴ び &MJYJSΛىಈ ͦͷ্Ͱ8FCΞ プ Ϧέʔγϣϯαʔ
バ ʔ1IPFOJYΛىಈ ֤04ͷ8FC7JFX(6*ϥΠ ブ ϥϦͷ8Y8JEHFU͔ΒΞΫηεͯ͠දࣔ ͍ΘΏΔ8FC7JFXΞϓϦέʔγϣϯܗࣜ ҧ͍දࣔ͢Δ8FCΞϓϦέʔγϣϯ͕ϩʔΧϧͰಈ͍͍ͯΔ͜ͱ
௨ৗ αʔόʔ 8FC7JFX 4XJGU,PUMJO &SMBOH7. ࣮ߦڥͷ7. &MJYJS ࣮ߦڥ 1IPFOJY 8"'
J04"OESPJE
&MJYJS%FTLUPQ J04"OESPJE 8FC7JFX 4XJGU,PUMJO &SMBOH7. ࣮ߦڥͷ7. &MJYJS ࣮ߦڥ 1IPFOJY 8"'
ϝϦοτ w 8"'ͷϦιʔεΛΫϥΠΞϯτଆ Ͱ͑Δ "-.-ʣ w ΦϑϥΠϯಈ࡞͕Մೳ w 8FCܥͷٕज़Ͱ։ൃͰ͖Δ w
ߏʹΑͬͯ"1*ෆཁ w 3/ 'MVUUFSʹൺͯωΠςΟϒ࿈ܞ ͕༰қ w ൿಗใͷѻ͍͕໘ w #DSZQUͳͲωΠςΟϒϥΠϒϥϦ ͷϥούʔϥΠϒϥϦ͕͑ͳ͍ w ग़དྷ͕ͯઙ͍ w όά͕͍ͬͯΔՄೳੑ w ظӡ༻Ͱͷϊϋෆ σϝϦοτ
ͲΜͳΈͰಈ͍͍ͯΔͷʁ w ֤04Ͱಈ͘&SMBOHϥϯλΠϜΛϏϧυ w /BUJWF#SJHF $ ܦ༝Ͱ&SMBOHΛىಈͦ͠ͷ্Ͱ&MJYJS 1IPFOJYΛىಈ w ϩʔΧϧωοτϫʔΫΛ্্ཱͪ͛ͯهʹίωΫγϣϯΛషΔ
w ֤8FC7JFXϥΠϒϥϦ͔Βଓ w ͋ͱͷࡉ͔͍ઃఆ8FC7JFXͱಉ͡
&MJYJS%FTLUPQ J04"OESPJE 8FC7JFX 4XJGU,PUMJO &SMBOH7. &MJYJS 1IPFOJY $ ܦ༝Ͱىಈ 7.্Ͱ&MJYJSىಈ
8FCαʔόʔىಈ 5$1ίωΫγϣϯΛషΔ
J04
"OESPJE
&SMBOHʹ͍ͭͯ w ฒߦॲཧࢦͷؔܕݴޠ w 04ͱผʹܰྔϓϩηεΛେྔʹ࡞Δ w Ϋϥογϡ͙ͯ͢͠࡞Γ͢ͷͰোੑ͕ߴ͘ϝϞϦޮྑ͍ w ฒྻॲཧΞΫλʔϞσϧΛ࠾༻ w
ͱిަػʢιχʔɾΤϦΫιϯʣͷγεςϜͰΘΕͨ w ࠷ۙ/JOUFOEPͷεϓϥτΡʔϯͰ࠾༻͞Ε͍ͯΔ
&MJYJSʹ͍ͭͯ w ฒྻॲཧࢦͷؔܕݴޠ w &SMBOH7. #&". ্Ͱಈ࡞͢Δ+BWBʹର͢Δ,PUMJOͳײ͡ w &SMBOHʹൺͯΏΔ;Θͳײ͡Ͱ3VCZʹ͍ۙॻ͖ຯ w
Ϋϥεແ͘ɺߏମͱॲཧϞδϡʔϧͷγϯϓϧͳߏ 8"'ͷ1IPFOJYɺ)PU8JSFܥͷ-JWF7JFXɺΈࠐΈͷ/FSWFT +VQZUFSܥͷ-JWFCPPLɺߦྻԋࢉ/Yɺσʔλॲཧ&YQMPSFSɺ"*.-"YPO
1IPFOJYʹ͍ͭͯ w ϑϧελοΫͳ8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ w ϝϞϦޮ͕ྑ͘άϩʔεʹڧ͍ w 1JOUFSFTU1ZUIPO1IPFOJYͰΛʹू w 3FBDU7VFͰߏங͢ΔΑ͏ͳ41"ΛΑΓγϯϓϧʹߏஙͰ͖Δ-JWF7JFX w
ೝূػೳδΣωϨʔλΛඪ४ࡌ͠ɺࣗͰ؆୯ʹ֦ுՄೳ w 5BJMXJOEΛ࠾༻͠+4ͱͷ࿈ܞ༰қ
wγεςϜʹ&MJYJSΛಋೖ wNJMJPO ̏ԯԁʣઅ wαʔόʔΛݮগ wͷQZUIPOͷγεςϜΛ &MJYJS̐Ͱ͏ wγεςϜͷ৴པੑͱύϑΥʔϚ ϯεେ෯Ξοϓ &MJYJSΛಋೖͯ͠ίετݮ IUUQTQBSBYJBMJPCMPHFMJYJSTBWJOHT
ϑϩϯτΤϯυͷཱྀͷՌͯʹ-JWF7JFXʹͨͲΓண͍ͨ • 3FBDUKTͱ/FYUKTͰͷ։ൃʹർΕɺ γϯϓϧ͞ΛٻΊͯ3BJMTʹҠߦ • 3BJMTͰϑϩϯτΤϯυͱόοΫΤ ϯυͷ౷߹ͷ͠͞Λײ͡Δ • ࠷ऴతʹ&MJYJSͱ1IPFOJYΛબ͠ɺ γϯϓϧ͞ͱߴύϑΥʔϚϯεΛ࣮
ݱ • &MJYJSίʔυͷಡΈ֦͢͞ுੑ ͕͋Γɺ։ൃମݧ্͕ • ஶऀʹͱͬͯ&MJYJSཧతͳڥͱ ͳΓɺ3FBDUKTͷෛ୲ΛܰݮͰ͖ͨ IUUQTEFWUPEBOJFMCFSHIPM[GSPNOFYUKTUPSBJMTUIFOFMJYJSNZKPVSOFZUISPVHISFBDUKTCVSOPVUIE
&MJYJS%FTLUPQΞϓϦͷಛ w όοΫΤϯυ8FCΞϓϦͱಉ͡ݴޠɺಉٕ͡ज़ελοΫͰ։ൃՄೳ w -JWF7JFX 5BJMXJOEͰ֤छΞϓϦΛߏங w 5BJMXJOEͷࢿݯΛ͑ͯɺڞ௨ͨ͠6*Λૉૣ͘ߏங w QIYHFOMJWFͰ$36%ը໘ΛίϚϯυҰൃ
w QIYHFOBVUIͰೝূػೳίϚϯυҰൃ w ֎෦ͷ௨৴͕ͳ͚ΕΦϑϥΠϯͰಈ࡞Մೳ
̏ͭͷΞϓϦܗࣜ ελϯυΞϩϯߏ %#42-JUF
ΦϑϥΠϯͰಈ࡞Մೳ Ϋϥαόߏ "1*αʔόʔͱ ΫϥΠΞϯτΞϓϦͷ ैདྷͷΈ߹Θͤ "1*αʔόʔ ֎෦%#ΞΫηεߏ ΞϓϦͷσʔλϕʔεͷଓઌʹ֎෦ͷσʔλϕʔεΛࢦఆ͢Δ "1*࡞ෆཁ %#ෛՙΛߟྀͯ͠ಛఆػೳ͚ͩ"1*Λୟ͘͜ͱՄೳ ཧμογϡϘʔυ8FCΞϓϦΛσϓϩΠͯ͠ಉ࣌։ൃ͕༰қ
ωΠςΟϒͳػೳ༻Ͱ͖ͳ͍ʁ
/BUJWFػೳ+4֤04ͷ)PPLΛ༻ͯ͠Մೳ w +48FC"1* w Ґஔใ(FP-PDBUJPO"1* w ΧϝϥɺϚΠΫ.FEJB%FWJDFT"1* w δϟΠϩηϯα%FWJDF.PUJPO&WFOU w
֤04ͷIPPL w ,PUMJO8FC"QQ*OUFSGBDF w 4XJGU8,4DSJQU.FTTBHF)BOEMFS
1VTI௨ʁ
1VTI௨'JSFCBTFΛܦ༝ͯ͠৴Մೳ w &MJYJS%FTLUPQͱผʹ1IPFOJYαʔόʔΛཱͯΔ w "OESPJE J04Ͱ'JSFCBTF4%,ΛೖΕΔ w ৴༻σόΠετʔΫϯΛ1IPFOJYαʔόʔʹอଘ w ৴༻ͷϥΠϒϥϦ1JHFPOΛ༻֤ͯ͠ʹૹ৴
w ड৴࣌ʹ8FC7JFXͷಛఆͷϖʔδΛ։͘ॲཧΛߦ͏
࡞Γํ
w NJYQIYOFXCMPH w DECMPH w NJYFDUPNJHSBUF w ϥΠϒϥϦʹEFTLUPQ@TFUVQΛՃ w NJYEJQTHFU
w NJYEFTLUPQJOTUBMM w NJYEFTLUPQJPTTFUVQ w NJYEFTLUPQBOESPJETFUVQ δΣωϨʔλΛೖΕͯίϚϯυ͚ͩͰྃ
8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ ʢ&MJYJS1IPFOJY Ͱ ຊ֨తͳεϚϗΞϓϦ͕࡞ΕΔʁʂ
࡞Γ·ͨ͠ "QQ4UPSF (PPHMF1MBZ
8FCμογϡϘʔυ͋ΔΑʂ IUUQTUSBSFDP fl ZEFW
ͲΜͳΞϓϦ͔ʁ w (PPHMF1MBDFT"1*Ͱݕࡧ͠ɺߦ͖͍ͨεϙοτɺߦͬͨεϙοτΛཧ w ֤04ωΠςΟϒػೳΛͬͯ(14ϩάΛऔಘ w (14ϩάΛ.BQ-JCSF্ʹϦΞϧλΠϜඳը͢Δ w อଘͨ͠εϙοτ͔ΒϓϥϯΛ࡞ w
νΣοΫΠϯػೳ w φϏήʔγϣϯػೳ
ΞϓϦߏ 1PTUHSF42- (14-PHHJOH ʢ%#ߴෛՙʣ "1* 8FC%BTICPBSE
&MJYJS%FTLUPQ`T1IPFOJY 4QPU 'PMEFS 3PVUF$36% %#ෛՙ
༻ͨ͠αʔϏε w 4FSWFS fl ZJP w %#IPTUJOH fl ZJP w
.BJM#SBWP w -PHPEFTJHODPN w %PNBJO͘͞ΒΠϯλʔωοτ
$*$%ʹ͍ͭͯ w $* w (JU)VC"DUJPOTͰ௨ৗͷ1IPFOJYΞϓϦέʔγϣϯͱͯ͠$*ΛճͤΔ w /BUJWFػೳʹؔͯ͠खಈςετ͔ΞϓϦ༻ͷϦϙδτϦΛ࡞͢Δඞཁ͕͋Δ w $% w
(JUIVC"DUJPOTجຊखಈͰߦͬͨͷͰະݕূ w "OESPJEΞϓϦॺ໊Λߦ͍BBCϑΝΠϧΛ"OESPJE4UVEJPͰ࡞ w J04ετΞϖʔδΛ࡞͠ɺ9DPEF͔Β"SDIJWFΛߦ͍JQBϑΝΠϧΛ࡞ɺΞοϓϩʔυ w 9DPEF$MPVEϑΥϧμߏతʹผϦϙδτϦΛ࡞͢Δඞཁ͕͋Δ
ϚωλΠζʹ͍ͭͯ w ՝ۚػೳࠓճ࡞͍ͯ͠ͳ͍͕ɺ8FCμογϡϘʔυ͕͋ΔͷͰ͔ͦ͜ Β4USJQF1BZNFOUΛ͏ͷ͕ແ w ֤ετΞͰ՝ۚΛߦ͏߹ωΠςΟϒػೳͱ࣮͕ͯ͠ඞཁ w ΞϑΣϦΤΠτϦϯΫ)5.-ͳͷͰσϑΥϧτͷϒϥβͰ։͘Α͏ʹ͢ Εେৎͦ͏
ηΩϡϦςΟ w "1*ΩʔͷൿಗใҰԠόΠφϦσʔλԽ͞Ε͍ͯΔ͕ɺΞϓϦϑΝΠϧʹಉ ࠝ͞Ε͍ͯΔͨΊൈ͔ΕΔඞཁ͕͋Δ w ରԠࡦɿಡԽ w ϥΠϒϥϦͰಡΈࠐΈ࣌ʹҎԼͷ༷ͳॲཧΛߦ͏ w ڥม໊Λແؔͳจࣈྻʹม͑Δ
w ൿಗใΛ҉߸Խ͠ɺϥΠϒϥϦ͔ΒಡΈऔΔࡍʹ෮߸ w ىಈ࣌ʹ҉߸Խͨ͠ใʹͯ͠औಘ w ىಈ࣌ʹ*%ΛTBMUʹͯ͠αʔόʔ͔Β҉߸Խ͞ΕͨൿಗใΛऔಘͯ͠෮߸