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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
0
49
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
愛される翻訳の秘訣
kishikawakatsumi
3
390
Private APIの呼び出し方
kishikawakatsumi
3
980
iOSでSVG画像を扱う
kishikawakatsumi
0
220
Build your own WebP codec in Swift
kishikawakatsumi
2
1.6k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
290
Enhancing Applications with Accessibility API
kishikawakatsumi
3
5.2k
Mastering SwiftSyntax
kishikawakatsumi
4
7.5k
Other Decks in Programming
See All in Programming
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Oxlintはいいぞ
yug1224
5
1.4k
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
110
Grafana:建立系統全知視角的捷徑
blueswen
0
330
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
ぼくの開発環境2026
yuzneri
0
240
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
AI時代の認知負荷との向き合い方
optfit
0
160
MUSUBIXとは
nahisaho
0
140
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Language of Interfaces
destraynor
162
26k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Testing 201, or: Great Expectations
jmmastey
46
8k
Code Review Best Practice
trishagee
74
20k
First, design no harm
axbom
PRO
2
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
78
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
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