簡體   English   中英

Realm.io - 在 Android 之外使用(在 Java 中)

[英]Realm.io - use outside of Android (in Java)

我正在考慮為我的 Android 應用從 Firebase DB 切換到 Realm.io。

從我讀到的 - https://realm.io/docs/java/latest/#getting-started

我們目前不支持 Android 之外的 Java。

對於這樣一個(據稱)成熟的圖書館來說,這似乎是一個奇怪的限制。

我認為這可能會使自動測試復雜化,需要在設備/模擬器上運行測試,從而大大減慢速度。

問題:

真的不能在Android之外使用嗎?

這種限制的原因是什么?

真的像我想的那么糟糕嗎?

如果我想讓一些輔助服務器應用程序(用 Java 編寫)在雲中的某處運行,例如 AppEngine,以連接到領域數據庫,該怎么辦。 是否排除了該選項?

有哪些解決方法,例如用於測試和服務器端 Java?

對於后一個目的 - 是否支持 NodeJS 服務器端應用程序?

對於這樣一個(據稱)成熟的圖書館來說,這似乎是一個奇怪的限制。

如果您考慮到 Realm 提供自己的原生內核​​和為 Android NDK 編寫的 JNI 包裝器這一事實,那么這種限制並不奇怪; 並且它還沒有與它分離以使其與平台無關,因此例如在某些地方依賴於 Android 特定的東西 - 例如,通知,使用“Looper”作為其特定的事件循環實現。

從技術上講, realm-java綁定計划在 Android 之外支持 Java,但目前還沒有 此時,您應該將其更多地視為realm-android不是realm-java


當時的 Realm-Core 還不支持 UWP 和 Windows,盡管現在realm-dotnet項目也適用於 Windows。 即便如此,將 Realm-Java 的實現與 Android 分離也很困難。

我認為這可能會使自動測試復雜化,需要在設備/模擬器上運行測試,從而大大減慢速度。

對於測試領域特定的行為,是的。

要使用單元測試測試應用程序中的其他內容,不。 你只需要正確的設計,我想還有一些模擬。

真的不能在Android之外使用嗎?

它作為本地數據庫在 iOS 和 Android 上運行。

這篇文章發表於 2016 年 11 月 16 日以來,它還可以在 Linux 上用作本地服務器端數據庫,通過 NodeJS 使用與 React-Native Realm API 類似(相同?)的 API。


您還可以在您喜歡的任何 Linux 或 MacOS 機器上免費運行 Realm Object Server (ROS)。

然后就可以使用sync API連接到所述ROS,並自動將用戶關聯的Realm 同步到ROS。 這就是您可以免費使用 ROS 做的事情。

使用 企業 專業版及其價格,您還可以(在服務器端)讀/寫同步領域,並通過 NodeJS 領域 API 監聽更改同步領域的事件。

真的像我想的那么糟糕嗎?

這取決於你自己的解釋。

如果我想讓一些輔助服務器應用程序(用 Java 編寫)在雲中的某處運行,例如 AppEngine,以連接到領域數據庫,該怎么辦。 是否排除了該選項?

您的 Java 應用程序當前將無法與服務器端的 Realm 通信。

僅限 NodeJS。

即便如此,自動更新設備之間的所有數據到 ROS 以反映 ROS 中的任何內容的“同步”領域也是一項付費功能。

基本上,Realm-Java 目前只支持 Android。 正如文檔中所說。


至於通過 NodeJS API 與 Linux 上服務器端的本地 Realm 通信,當然,繼續。

對於后一個目的 - 是否支持 NodeJS 服務器端應用程序?

NodeJS 能夠在 Linux 機器上寫入 Realms。 也可能是 Mac OS。

免費版僅限本地 Realm。 付費版本是通過 ROS 同步 Realm 的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM