2017-01-16 137 views
3

有誰知道任何可用於Meteor的資源,可以幫助爲(主要)離線使用加載大型(20MB-80MB)資產?遷移到流星/反應

我目前的發展完全是在香草JS(在客戶端)和我正在考慮建立一個流星性能和實踐/陣營版本。目前我的應用程序可以在線和離線運行,並在與MongoDB數據庫存在連接時同步數據。它還最初動態地將大型資產加載到IndexedDB中供離線使用(實際上,視圖層僅與本地數據庫通信)。整個系統使用WebSocket將所有數據傳輸到初始負載之外。大型資產的運輸通過套接字穩定地加載,因此需要一段時間,但是數據可以下載並暫停並重新啓動。

有沒有處理這樣的事情呢?或者有更好的方法來下載大型數據文件並將它們安裝在本地數據庫中?它可能是一個JSON文件,但我擔心會這樣做會導致用戶的瀏覽器試圖一次加載所有數據。任何方向或建議將不勝感激。謝謝。

+0

我想你想在這個YouTube視頻引入此視頻,我完全解釋的谷歌I/0 2016'建設下線一進網站Apps' https://youtu.be/cmGr0RszHc8?list=PLyHVYmk4Ww8hUrHgbtLVTNmkT1jFlSOOE – ncubica

+0

感謝什麼。它非常有趣。我已經實現了服務人員來處理html,css,js和圖像的初始緩存。我不喜歡他們的事情是,他們只是喜歡結束時,他們覺得喜歡它。相反,我依靠websockets來保持連接的開放,並且我使用webworkers來處理大數據到本地數據庫中的初始資產和同步處理。 –

回答

3

正如我所能理解的,你正試圖構建一個可以脫機工作的web應用程序。在這種情況下,Progressive Web App (PWA)是你應該尋找的東西。

事實上,PWA是一個標準,離線工作是核心功能之一。實際上,PWA利用service worker來將您的靜態資產緩存在瀏覽器中,並將其用於將來的加載。但請記住,這項技術仍然是新的,並且尚未成爲Web開發的標準,因此您應該檢查它是否適用於用戶的瀏覽器。

談到流星,已經有一些嘗試,使流星應用程式離線工作。我知道的最好的兩個是meteor-service-workerGroundDB。第一個幫助你緩存瀏覽器中的應用程序源,最後一個幫助你的數據庫存在於客戶端。它們都是很好的軟件包,但我認爲它們還不成熟,所以在使用它們之前三思。

+0

我不確定我的應用程序是否完全有資格參加PWA。這不是移動友好的,根據項目設置軟件的初始安裝需要15到45分鐘(軟件仍然可以使用,但不能立即脫機)。我研究過GroundDB,但是我找不到很多有用的信息。我主要好奇的是GroundDB如何處理大量數據。你知道在GroundDB上做的任何測試嗎? –

+0

您不需要爲您的應用程序實現所有PWA功能,因爲不需要僅專注於離線工作的緩存就足夠了。關於GroundDB,我不知道使用它的任何現實生活中的示例應用程序。 – Khang

+0

我明白了。我對Google的信息一定感興趣。我會經歷它,因爲它全部適用於我正在做的事情。 –