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
2
470
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
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
200
Enhancing Applications with Accessibility API
kishikawakatsumi
3
3.7k
Mastering SwiftSyntax
kishikawakatsumi
4
5.8k
My SwiftData Review
kishikawakatsumi
7
1.4k
Swift Expression Macros: a practical introduction
kishikawakatsumi
3
1.9k
Xcode Cloudの評価
kishikawakatsumi
2
1.3k
Regular expressions basics/正規表現の基本
kishikawakatsumi
7
740
家のいろいろな数値を計測する
kishikawakatsumi
4
2.2k
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
1.1k
Other Decks in Programming
See All in Programming
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
Lottieアニメーションをカスタマイズしてみた
tahia910
0
120
Pulsar2 を雰囲気で使ってみよう
anoken
0
230
Unity Android XR入門
sakutama_11
0
150
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
360
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
45
16k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
ソフトウェアエンジニアの成長
masuda220
PRO
10
920
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
120
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
The Invisible Side of Design
smashingmag
299
50k
For a Future-Friendly Web
brad_frost
176
9.5k
Embracing the Ebb and Flow
colly
84
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Applications with DynamoDB
mza
93
6.2k
Optimizing for Happiness
mojombo
376
70k
Designing for Performance
lara
604
68k
Scaling GitHub
holman
459
140k
Navigating Team Friction
lara
183
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
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