Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
2
500
Introducing Realm Mobile Platform
Introducing Realm Mobile Platform
Kishikawa Katsumi
October 20, 2016
Tweet
Share
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
愛される翻訳の秘訣
kishikawakatsumi
1
310
Private APIの呼び出し方
kishikawakatsumi
3
930
iOSでSVG画像を扱う
kishikawakatsumi
0
210
Build your own WebP codec in Swift
kishikawakatsumi
2
1.3k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
280
Enhancing Applications with Accessibility API
kishikawakatsumi
3
4.9k
Mastering SwiftSyntax
kishikawakatsumi
4
7.2k
My SwiftData Review
kishikawakatsumi
7
1.5k
Swift Expression Macros: a practical introduction
kishikawakatsumi
3
2k
Other Decks in Programming
See All in Programming
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.9k
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
360
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
800
Level up your Gemini CLI - D&D Style!
palladius
1
180
React Native New Architecture 移行実践報告
taminif
1
150
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
120
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
150
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.3k
Cap'n Webについて
yusukebe
0
130
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
20 years of Symfony, what's next?
fabpot
2
350
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
720
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
A designer walks into a library…
pauljervisheath
210
24k
How to train your dragon (web standard)
notwaldorf
97
6.4k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Statistics for Hackers
jakevdp
799
230k
Git: the NoSQL Database
bkeepers
PRO
432
66k
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