2013-10-11 41 views
0

我有一個要求,建立一個銷售應用程序,必須離線。該應用需要允許銷售團隊在客戶現場創建銷售報價。他們可能或不可以上網。我原本打算構建一個Windows窗體應用程序,但隨後發現了有關HTML5脫機模式的信息。我認爲這是一個非常可行的選擇,但不知道如何處理數據庫(或不)。在線時,應用程序應使用服務器上的數據庫,但脫機時應使用本地副本(或xml或斷開的記錄集或?)。我可以手動保持2同步或使用諸如Microsoft Sync Framework之類的東西。離線銷售申請

我在尋找任何你可以給我的建議,因爲我剛開始這個項目。我認爲這將是一個有趣且酷的項目,有空間學習一噸。

感謝,

蘭迪

+0

我看到一個使用客戶端數據庫(也是HTML5的新功能)的HTML5功能示例,用於存儲離線時所做的更改,以便在線時將其推回服務器。您必須知道使用您的應用的人是否會使用支持您將使用的所有HTML5功能的瀏覽器。 – Francis

+0

這是我們的銷售人員,我可以讓他們使用crome或safari。我確實看到了有關本地存儲的信息,但可能有5 MB的限制。 – Iceman

+0

關於如何縮小這個討論範圍,你有什麼建議嗎?我在尋找高層次的討論,以瞭解可以在筆記本電腦或平板電腦上使用的應用程序,包括脫機或連接的應用程序。謝謝,Randy – Iceman

回答

1

離線的變化是很難,因爲你需要跟蹤的變化和處理可能出現的衝突,並決定如何處理它們。我花了很多時間來研究這個問題,並且提出了一些與版本控制系統非常相似的東西,例如subversion,git或mercurial。

你可以在GitHub上找到我的項目,它是BSD在http://github.com/forbesmyester/syncit上許可的。即使你不使用它,你也應該閱讀一些文檔,因爲它非常好,並且會給你很好的想法。

+0

如果我們使用類似Microsoft Sync的數據庫,該怎麼辦?在數據庫服務器上使用SQL 2012,在本地主機上使用SQL Express。感謝回覆,我會看看你的文檔。 – Iceman

+0

我不知道MS同步...我想添加更多的服務器持久性方法,並且代碼非常模塊化以實現這一點,但它是Javascript,因此設計爲在node.js或類似環境中運行。在接下來的幾周內(可能有幾天),我預計編寫一個MongoDB服務器會持續下去,所以也許在這個工作中我可以考慮使SQL數據庫變得簡單。 – Forbesmyester