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
Introducing Realm Mobile Platform
Search
Kishikawa Katsumi
October 20, 2016
Programming
520
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introducing Realm Mobile Platform
Introducing Realm Mobile Platform
Kishikawa Katsumi
October 20, 2016
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
170
Running Swift without an OS
kishikawakatsumi
0
1.1k
浮動小数の比較について
kishikawakatsumi
0
620
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
270
愛される翻訳の秘訣
kishikawakatsumi
3
490
Private APIの呼び出し方
kishikawakatsumi
3
1k
iOSでSVG画像を扱う
kishikawakatsumi
0
260
Build your own WebP codec in Swift
kishikawakatsumi
2
2.7k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
340
Other Decks in Programming
See All in Programming
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
3
1k
Building an Out-of-Order CPU
latte72
0
680
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
170
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
580
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
670
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
2
110
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
100
新卒PdEのリアル
ryu1013
1
410
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
120
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
380
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Speed Design
sergeychernyshev
33
2.1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
It's Worth the Effort
3n
188
29k
Agile that works and the tools we love
rasmusluckow
331
22k
Tell your own story through comics
letsgokoyo
1
1.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
810
Transcript
Realm meetup #2
[email protected]
#realm_jp
[email protected]
Katsumi Kishikawa Realm Inc.
[email protected]
Realm Mobile Platform
[email protected]
Open Sourcing Realm Core
[email protected]
What is Realm Mobile Platform?
[email protected]
Realm ˖ 42-JUFך➿剏הזٌغ؎ٕرغ؎أ㼔欽ך ر٦ةك٦أ ˖ ؙٗأفٓحزؿؓ٦ي ˖ J04"OESPJE ˖ +BWB
4XJGU 0CKFDUJWF$ $ +BWB4DSJQU ˖ ؔ٦فٝا٦أ
[email protected]
Realm Mobile Database
[email protected]
˖ 42-JUFך➿剏הזٌغ؎ٕرغ؎أ㼔欽ך ر٦ةك٦أ ˖ ؙٗأفٓحزؿؓ٦ي ˖
J04"OESPJE ˖ +BWB 4XJGU 0CKFDUJWF$ $ +BWB4DSJQU ˖ ؔ٦فٝا٦أ
[email protected]
Realm Mobile Platform
[email protected]
Realm Mobile Platform Realm Mobile Database
Realm Mobile Platform
[email protected]
Realm Mobile Database Data Sync ٔ،ٕة؎يず劍
Realm Mobile Platform
[email protected]
Realm Mobile Database Data Sync User
Identify ٔ،ٕة؎يず劍 ِ٦ؠ٦陎ⴽ
Realm Mobile Platform
[email protected]
Realm Mobile Database Data Sync Access
Control User Identify ٔ،ٕة؎يず劍 ِ٦ؠ٦陎ⴽ ر٦ةⰟ剣
Realm Mobile Platform
[email protected]
Realm Mobile Database Data Sync Access
Control User Identify Event Handling ٔ،ٕة؎يず劍 ِ٦ؠ٦陎ⴽ ر٦ةⰟ剣 ؽآطأٗآحؙ
Realm Mobile Platform
[email protected]
[email protected]
Realm Mobile Database
Demo
[email protected]
ͬͯΈΔ
[email protected]
ηοτΞοϓ
[email protected]
[email protected]
Realm Object ServerΛىಈ͢Δ
[email protected]
[email protected]
AdminΞΧϯτΛ࡞Δ
[email protected]
ηοτΞοϓ
[email protected]
[email protected]
ηοτΞοϓ
[email protected]
[email protected]
[email protected]
[email protected]
μογϡϘʔυ
[email protected]
[email protected]
μογϡϘʔυ
Object Server্ͷσʔλΛݟΔ
[email protected]
Realm Browser
[email protected]
[email protected]
جຊతͳ͍ํ
[email protected]
[email protected]
ΞΫηετʔΫϯʢmacOSʣ
[email protected]
[email protected]
ΞΫηετʔΫϯʢCentOSʣ
[email protected]
[email protected]
# cd /etc/realm/ # ls admin_token.base64 configuration.yml
token- signature.key token-signature.pub # cat admin_token.base64 ewoJImlkZW50a...
جຊతͳ͍ํ
[email protected]
[email protected]
User.authenticate(with: Credential.usernamePassword(username: "username", password: "password", actions: []),
server: URL(string: "http://128.199.141.202:9080")!, onCompletion: { user, error in guard let user = user else { fatalError(String(describing: error)) } let configuration = Realm.Configuration( syncConfiguration: (user, URL(string: "realm://128.199.141.202:9080/~/realmtasks")!) ) self.realm = try! Realm(configuration: configuration) })
FacebookϩάΠϯ
[email protected]
[email protected]
FacebookϩάΠϯ
[email protected]
[email protected]
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error:
NSError!) { if let _ = error { return } if result.isCancelled { return } User.authenticate(with: Credential.facebook(token: result.token.tokenString), server: URL(string: "http://128.199.141.202:9080")!, onCompletion: { user, error in guard let user = user else { fatalError(String(describing: error)) } let configuration = Realm.Configuration( syncConfiguration: (user, URL(string: "realm://128.199.141.202:9080/~/realmtasks")!) ) self.realm = try! Realm(configuration: configuration) }) }
FacebookϩάΠϯ
[email protected]
[email protected]
developers.facebook.com/docs/facebook-login/ios
Typical Mobile App Development
[email protected]
/login /tasks /tasks/id
w/ Realm Mobile Platform
[email protected]
Data Sync
[email protected]
ر٦ةず劍
User Identify
[email protected]
ر٦ةず劍 ِ٦ؠ٦陎ⴽ
Access Control
[email protected]
ر٦ةず劍 ِ٦ؠ٦陎ⴽ ،ؙإأ؝ٝزٗ٦ٕ
Event Handling
[email protected]
؎كٝزعٝسؚٔٝ
ΠϕϯτϋϯυϦϯά
[email protected]
var Realm = require('realm'); var filter_callback = function(realm_name)
{ ... }; var change_notification_callback = function(realm_name, realm) { var channels = realm.objects('Channel'); for (var i = 0; i < channels.length; ++i) { var channel = channels[i]; ... } }; Realm.setGlobalSyncListener(local_root_dir, server_base_url, access_token, filter_callback, change_notification_callback);
[email protected]
[email protected]
Realm Mobile Platform ˖ .PCJMF%BUBCBTF ˖ 倯ぢךر٦ةず劍 ˖ ٔ،ٕة؎ي ˖
ء٦يٖأ ˖ ؝ٝؿؙٔزך荈⹛鍑寸 ˖ ِ٦ؠ٦陎ⴽ ˖ ؎كٝزعٝسؚٔٝ • αʔόʔϓογϡ • σʔλڞ༗ • ΞΫηείϯτϩʔϧ
[email protected]
ίϯϑϦΫτͷղܾ
[email protected]
[email protected]
• جຊޙউͪ • ಉ͡ΞΠςϜʹผͷมߋΛՃ͑ͨ߹ɺޙʹىͬͨ͜มߋ͕࠾༻ ͞Ε·͢ɻ • ಉ͡ΠϯσοΫεͷૠೖ࣌ؒॱʹͳΔ
• আͯ͢ʹউͭ • ͋ΔΞΠςϜ͕আ͞ΕͯɺผͷσόΠεͰಉ͡ΞΠςϜΛมߋ ͨ͠ɺͱ͍͏߹ɺআ͚͕ͩى͜Γ·͢ɻ
Demo github.com/realm/RealmTasks
[email protected]
Recent Updates
[email protected]
Recent Updates • Realm Objective-C/Swift 2.0 (was 1.1.0) • Realm
Java 2.0 (was 1.1.0) • Realm React Native 0.14.0 • Realm Xamarin 0.78 (was 0.77.2)
[email protected]
Realm Objective-C/Swift 2.0
[email protected]
Realm Objective-C/Swift 2.0 • Realm Mobile PlatformରԠ • RealmSwift.Error =>
RealmSwift.Realm.Error
[email protected]
[email protected]
Where to find us • % Realm Japan User Group:
facebook.com/groups/realmjp • % Twitter: twitter.com/realmJapan • GitHub: github.com/realm • % StackOverflow: ja.stackoverflow.com/questions/tagged/realm • % Email:
[email protected]
• % Slack: slack.realm.io/
[email protected]
Realm Japan User Group Facebook
[email protected]
Support Chat Slack
[email protected]
Ξϯέʔτ bit.ly/RealmJP_Kansai2
[email protected]
Questions? Katsuma Kishikawa
[email protected]
www.realm.io/jp @k_katsumi