Realm移動(dòng)平臺(tái)支持反應(yīng)型移動(dòng)應(yīng)用,提供數(shù)據(jù)同步和事件處理功能

責(zé)任編輯:editor004

作者:Sergio De Simone

2016-10-11 11:47:13

摘自:INFOQ

Realm發(fā)布了新的移動(dòng)開發(fā)平臺(tái),致力于提供無(wú)縫的實(shí)時(shí)同步、沖突處理以及反應(yīng)型(Reactive)事件處理。Realm移動(dòng)平臺(tái)(Realm Mobile Platform)通過(guò)其新的Realm對(duì)象服務(wù)器(Realm Object Server)來(lái)集成Realm移動(dòng)數(shù)據(jù)庫(kù)(Realm Mobile Database),提供了跨多移動(dòng)設(shè)備平臺(tái)的特性,包括iOS、Android和watchOS。

Realm發(fā)布了新的移動(dòng)開發(fā)平臺(tái),致力于提供無(wú)縫的實(shí)時(shí)同步、沖突處理以及反應(yīng)型(Reactive)事件處理。另外,其客戶端數(shù)據(jù)庫(kù)目前已經(jīng)完全開源。

Realm移動(dòng)平臺(tái)(Realm Mobile Platform)通過(guò)其新的Realm對(duì)象服務(wù)器(Realm Object Server)來(lái)集成Realm移動(dòng)數(shù)據(jù)庫(kù)(Realm Mobile Database),提供了跨多移動(dòng)設(shè)備平臺(tái)的特性,包括iOS、Android和watchOS。

Realm移動(dòng)數(shù)據(jù)庫(kù)很重要的一個(gè)方面在于它是一個(gè)對(duì)象圖管理器(object graph manager),致力于提供應(yīng)用模型的直接表述,這類似于蘋果的Core Data。Realm對(duì)象服務(wù)器擴(kuò)展了這種哲學(xué),提供了實(shí)時(shí)對(duì)象(live object)的抽象,根據(jù)Realm的聲明,這些對(duì)象能夠無(wú)縫和自動(dòng)地與不同設(shè)備上的對(duì)象保持同步,在這個(gè)過(guò)程中甚至不需要編程人員編寫網(wǎng)絡(luò)代碼。要實(shí)現(xiàn)這一點(diǎn),有一項(xiàng)基礎(chǔ)的特性就是自動(dòng)沖突處理(automatic conflict resolution),當(dāng)共享的實(shí)時(shí)對(duì)象同時(shí)提交時(shí),會(huì)出現(xiàn)競(jìng)爭(zhēng)變更,這時(shí)候就需要這項(xiàng)特性。Realm處理沖突的方式是致力于提供強(qiáng)的最終一致性,它能夠保證即便在兩端按照不同的順序提交變更,最終都會(huì)形成相同的結(jié)果。這是通過(guò)以下幾項(xiàng)基本的規(guī)則來(lái)實(shí)現(xiàn)的,包括:

如果某個(gè)對(duì)象已刪除的話,即便另外的設(shè)備對(duì)這個(gè)對(duì)象進(jìn)行更新,它依然會(huì)保持刪除狀態(tài); 如果兩個(gè)設(shè)備更新同一個(gè)屬性的話,后面的一次更新會(huì)生效; 如果兩個(gè)設(shè)備都往列表的尾端添加條目的時(shí)候,那么這兩個(gè)條目會(huì)按照它們的插入的時(shí)間追加到列表中。

借助自動(dòng)化的沖突處理功能,Realm說(shuō)開發(fā)人員可以很容易地構(gòu)建正常運(yùn)行的應(yīng)用,不用擔(dān)心數(shù)據(jù)丟失或間歇性地連接問(wèn)題。

Realm移動(dòng)平臺(tái)另外一項(xiàng)很有趣的特性就是事件處理,不過(guò)它只能在高級(jí)企業(yè)版中才可以使用。通過(guò)它,能夠定義服務(wù)端的處理器(handler),當(dāng)對(duì)象狀態(tài)的變更傳遞到服務(wù)器時(shí),這些處理器就會(huì)觸發(fā),這樣的話,能夠設(shè)計(jì)應(yīng)用實(shí)現(xiàn)serverless架構(gòu)。

Realm對(duì)象服務(wù)器能夠部署在本地(on-premises),也可以運(yùn)行在公有云上,包括AWS、Azure等等。Realm采用兩種形式提供其移動(dòng)平臺(tái):免費(fèi)的開發(fā)者版本和高級(jí)企業(yè)版,后者包括了事件處理功能。

查看英文原文:Realm Mobile Platform to Enable Reactive Mobile Apps with Data Sync and Event Handling

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)