2016-03-18 36 views
1

我們是一羣在我們學習的最後一年的6名學生。
我們必須在現有的Web應用程序中添加新功能。最重要的功能之一是我們認爲最難實施的功能如下:即使在離線情況下,Web應用程序也必須能夠正常工作。
至於,您必須能夠諮詢數據,更改數據,以及設備何時能夠再次連接,應用程序必須嘗試與在線數據庫同步。當前的應用程序使用以下技術:apache tomcat/mySQL/Hibernate/JavaEE/JavaScript/Ajax/xHTML & HTML5。Web應用程序,離線修改和同步

考慮將使用應用程序的主設備主要是數字平板電腦,智能手機(Windows和Android的,現在不是iOS版)和Windows PC;我的主要問題是下列之一:

你怎麼可以做這種事情?

我做了一些研究,好像你必須做一個「第二」的應用程序,這將主要使用HTML5來諮詢的數據,同時離線和JavaScript來控制哪些用戶在做什麼,他能做什麼。但我們不知道同步。這似乎是SQLite的可能是使用以及

我知道這是一個普遍的問題,但我們在這裏,我們嘗試並確保每個人都知道下一步會是怎樣的階段。感謝您的幫助和解釋。

+0

那麼我也在尋找相同的,但在我的情況下,技術堆棧是PHP的MySQL。 –

+0

在javascript中有一個服務工作者,你看過它嗎? –

回答

0

看看在Service-Worker API。服務工作人員是一個可編程的網絡代理,允許您控制如何處理來自網頁的網絡請求。這是在App Cache之後爲用戶提供下線體驗的下一代產品。 服務工作者 - 結合本地存儲或更好的WebSQL或像localforage這樣的polyfill可能是實現這種應用程序的一種方式。

缺點:服務工作者需要SSL,沒有辦法。其次,只有最新的Chrome和Firefox支持這些技術。

你可以查找PWA進Web應用程序作爲關鍵字,描述/,準確地使用那種技術。

1

解決方案1:自定義解決方案

有在JavaScript中可用於存儲數據的本地調用API INDEXDB可以幫助存儲數據。

對於同步,我發現服務人員可能會提供幫助。

解決方案2:現成的工具

您也可以嘗試pouchdb但對於這一點,我想在服務器端,你必須採取的Apache CouchDB的數據庫。我沒有用過它,但想嘗試一次。

相關問題