MakeDrive:來自Mozilla的Web端同步文件系統

jopen 10年前發布 | 9K 次閱讀 MakeDrive

英文鏈接:MakeDrive: Syncing Filesystem for the Web from Mozilla

  MakeDrive 是由 Mozilla 基于 node.jsfiler 兩個 JavaScript 框架開發的一款全新的 Web 端離線文件同步系統。它提供了一套可讓其它應用使用的同步服務,從而使用戶可以完全掌控他們分散存儲的數據、文件的生命周期。

  MakeDrive 的核心研發者之一 David Humphrey 這樣描述它:

想象一下 Web 版的 Dropbox,我們不需要安裝任何軟件,就可以在不同的瀏覽器、應用程序以及移動應用之間共享文件和文件夾。這就是 MakeDrive 要達到的目的。

</blockquote>

  但是 MakeDrive 的主要目的卻并不是備份,而是在 Web 頁面中融合多元數據和信息,這一點是與 Dropbox 所不同的地方。一旦 Mozilla 的 WebMaker 工具集與 MakeDrive 結合起來,就可以讓用戶自己創建多元信息、多頁面的 Web 應用從而代替單頁面的 Web 應用,并且可以在不同的瀏覽器、不同的設備上使用所創建的 Web 應用。

  事實上,David 啟動這個項目的初衷是希望能讓 Brackets(一個在線的代碼編輯器)在瀏覽器中運行。這里有一些展示它們如何進行集成的示例代碼

  但是,很顯然,該項目使用的應用程序超出了 Mozilla 特定的應用場景。

  MakeDrive 的一個主要功能是為 Web 應用提供離線同步模式,以滿足一些特定的應用場景下的需求。試想一下,某一個基于瀏覽器的游戲,可以在離線狀態下保存數據,并定期檢測設備是否聯網,如果 檢測到已聯網就將離線數據進行同步,從而達到跨設備的數據共享。或者在使用一個 FTP 客戶端的情景下,你不需要手動上傳有變更的文件,同步服務會為你自動上傳有變更的文件。

  不過 David 自己也表示,現在這個項目還在初級階段,還未到正式發布的時候。

上周五,我們的暑期工作已接近了尾聲,并且在工作過程中我們以最大努力遵守了 Rob Pike 的編程 5 項原則。具體來說就是我們在讓項目運行起來之前就先行做了一部分工作,以確保速度和可伸縮性。到了下個季度,我們工作的重心會轉移到性能、內存管理、部署 調試還有可伸縮性方面。

</blockquote>

  MakeDrive 中的一些概念和值得你們感興趣的信息:

  • 文件系統是指用戶所持有的東西。在 Mozilla 的語境中,它或許是一個 WebMaker(集成了 Mozilla 提供的 MakeDrive 同步服務),也有可能它就是 MakeDrive 服務。
  • MakeDrive 可作為一個服務被其他應用使用,比如 Nimble 和 AppMaker 就可以使用相同的 MakeDrive 文件系統。
  • MakeDrive 不維護文件的歷史版本,也就是不提供文件的版本追溯。取而代之的是受到 rsync 啟發的循環校驗和差分算法來驅動同步,就是只對每個文件有變動的那部分進行同步,而不是暴力的替換整個文件(這點與 Dropbox 類似)。
  • 目前針對部分 Web 資源(HTML, CSS)進行了優化,對一些體積較大的資源文件(比如照片、視頻)的優化還有待提升。
  • 使用本地數據庫進行備份存儲,在 IE、Firefox、Chrome 下支持 IndexedDB,在 Safari 下支持 WebSQL,而 Opera 同時支持這兩種數據庫。
  • </ul>

      正如在 epayne notes 中提到的,MakeDrive 似乎已成為將互聯網數據掌握在用戶自己手中大潮流的一部分了。

      你們可以在這里下載該項目 MakeDrive Github project,以及通過 Mozilla wiki 了解更多信息。也可以通過 David 的博客了解更多的細節內容。

    來自: InfoQ
                        <span id="shareA4" class="fl">                            
                            </span>
     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!