写点什么

MakeDrive:来自 Mozilla 的 Web 端同步文件系统

  • 2014-09-08
  • 本文字数:1386 字

    阅读完需:约 5 分钟

MakeDrive 是由 Mozilla 基于 node.js filer 两个 JavaScript 框架开发的一款全新的 Web 端离线文件同步系统。它提供了一套可让其它应用使用的同步服务,从而使用户可以完全掌控他们分散存储的数据、文件的生命周期。

MakeDrive 的核心研发者之一 David Humphrey 这样描述它:

想象一下 Web 版的 Dropbox,我们不需要安装任何软件,就可以在不同的浏览器、应用程序以及移动应用之间共享文件和文件夹。这就是 MakeDrive 要达到的目的。

但是 MakeDrive 的主要目的却并不是备份,而是在 Web 页面中融合多元数据和信息,这一点是与 Dropbox 所不同的地方。一旦 Mozilla 的 WebMaker 工具集与 MakeDrive 结合起来,就可以让用户自己创建多元信息、多页面的 Web 应用从而代替单页面的 Web 应用,并且可以在不同的浏览器、不同的设备上使用所创建的 Web 应用。

事实上,David 启动这个项目的初衷是希望能让 Brackets (一个在线的代码编辑器)在浏览器中运行。这里有一些展示它们如何进行集成的示例代码

但是,很显然,该项目使用的应用程序超出了Mozilla 特定的应用场景。

MakeDrive 的一个主要功能是为 Web 应用提供离线同步模式,以满足一些特定的应用场景下的需求。试想一下,某一个基于浏览器的游戏,可以在离线状态下保存数据,并定期检测设备是否联网,如果检测到已联网就将离线数据进行同步,从而达到跨设备的数据共享。或者在使用一个 FTP 客户端的情景下,你不需要手动上传有变更的文件,同步服务会为你自动上传有变更的文件。

不过 David 自己也表示,现在这个项目还在初级阶段,还未到正式发布的时候。

上周五,我们的暑期工作已接近了尾声,并且在工作过程中我们以最大努力遵守了 Rob Pike 的编程 5 项原则。具体来说就是我们在让项目运行起来之前就先行做了一部分工作,以确保速度和可伸缩性。到了下个季度,我们工作的重心会转移到性能、内存管理、部署调试还有可伸缩性方面。

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

  • 文件系统是指用户所持有的东西。在 Mozilla 的语境中,它或许是一个 WebMaker(集成了 Mozilla 提供的 MakeDrive 同步服务),也有可能它就是 MakeDrive 服务。
  • MakeDrive 可作为一个服务被其他应用使用,比如 Nimble 和 AppMaker 就可以使用相同的 MakeDrive 文件系统。
  • MakeDrive 不维护文件的历史版本,也就是不提供文件的版本追溯。取而代之的是受到 rsync 启发的循环校验和差分算法来驱动同步,就是只对每个文件有变动的那部分进行同步,而不是暴力的替换整个文件(这点与 Dropbox 类似)。
  • 目前针对部分 Web 资源(HTML, CSS)进行了优化,对一些体积较大的资源文件(比如照片、视频)的优化还有待提升。
  • 使用本地数据库进行备份存储,在 IE、Firefox、Chrome 下支持 IndexedDB ,在 Safari 下支持 WebSQL,而 Opera 同时支持这两种数据库。

正如在 epayne notes 中提到的,MakeDrive 似乎已成为将互联网数据掌握在用户自己手中大潮流的一部分了。

你们可以在这里下载该项目 MakeDrive Github project ,以及通过 Mozilla wiki 了解更多信息。也可以通过 David 的博客了解更多的细节内容。

查看英文链接: MakeDrive: Syncing Filesystem for the Web from Mozilla


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-08 00:091613

评论

发布
暂无评论
发现更多内容

Redis缓存那点破事 | 绝杀面试官 25 问!

Java redis 架构 后端 计算机

腾讯出品526页异步非阻塞通信领域巅峰之作:Netty IO核心技术指南

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

少女银四失足,偶得“阿里Java神级题库(25专题)”,金九稳了

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

在云中确保安全的五个技巧

云计算

MySQL连接控制插件介绍

Simon

MySQL

字节大佬的「算法界Offer收割机」火爆Github,短时间获上万star

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

工信部整治平台网址屏蔽问题,打击互联网行业垄断任重道远

石头IT视角

2021 CHIMA观感:医疗信息化发展的几个趋势,值得关注

菜根老谭

医疗信息化

网易24周年,竟拿出内部进阶必备的网络协议笔记,给程序员发福利

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

不是吧 阿sir!都21年了还有人不会算法?赠你份字节内部算法手册吧

Java 编程 架构 面试 架构师

牛掰!阿里大佬刷了四年LeetCode才总结出来的数据结构和算法手册

Java 编程 架构 面试 程序人生

在 CentOS 7上安装Sonatype Nexus Repository OSS

吴脑的键客

nexus Ops

webrtc Fec kPacketMaskRandomTbl 概述

webrtc developer

webrtc、 fec mask

无敌!肝完这套Alibaba面试全能小册,百万年薪在向你招手!

Java 阿里巴巴 编程 面试 程序人生

高能预警!Alibaba最新出版的JDK源码剖析手册(究极奥义版)开源

Java 程序员 架构 面试 Alibaba

什么是CPython

林十二XII

ironSource 出品 AdQuality 解决方案全新升级,助力开发者管理应用内广告

FunTester测试框架Redis性能测试实践

FunTester

redis 性能测试 测试框架 FunTester

面试官:你说说限流的原理?

艾小仙

面试

拯救你的算法!GitHub上神仙项目手把手带你刷算法,Star数已破110k

Java 编程 架构 面试 程序人生

火爆全网的Spring Security手册及源码笔记,在Github上标星103K

编程 架构 面试 程序人生 金九银十

过二级等保需要哪些安全设备?多少钱?

行云管家

数据库 网络安全 等保 等级保护

【万字干货】OpenMetric与时序数据库存储模型分析

华为云开发者联盟

OLAP 时序数据库 index Metric Timeseries

使用DEM和矢量数据绘制地图

gisbook

GIS map DEM

常见的IT自动化运维工具有哪些?推荐一款好用的?

行云管家

阿里云 运维 IT运维 PSSH

偷偷翻开学妹笔记本,发现绝密Spring Cloud Alibaba笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

在?来说点儿程序员Style的金句吧【话题讨论】

气气

话题讨论

理解RESTful API

林十二XII

原地起飞!字节工程师开源了GitHub的Java开发百宝手册后,被骂哭

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

来自阿里的图解计算机、网络、操作系统PDF,竟在GitHub点赞最高

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

阿里最受追捧的「中高级技术核心」,助我拿下菜鸟offer,附面经

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

MakeDrive:来自Mozilla的Web端同步文件系统_Mozilla_Roopesh Shenoy_InfoQ精选文章