我一直在看DropBox http://www.getdropbox.com/install?os=macMac 客户端和我目前正在研究为不同的服务实现类似的界面。
他们究竟是如何与这样的取景器交互的?我非常怀疑文件夹中表示的这些对象是每次加载时下载的实际文档吗?它们必须根据需要动态下载。那么如何在没有实际文件系统对象的情况下在 Finder 中显示这些项目呢?
有谁知道这在 Mac OS X 中是如何实现的?
或者有任何指向 Apple API 或其他与 finder 具有类似集成的开源项目的指针吗?
Dropbox 不由 MacFUSE 或 WebDAV 提供支持,尽管这些可能是您想要完成的任务的完美解决方案。
如果它是由这些东西提供支持的,那么当你没有连接时它就无法工作,因为它们都依赖服务器来存储实际信息,而 Dropbox 则不然。如果我退出 Dropbox(通过菜单项完成)并断开网络连接,我仍然可以使用这些文件。那是因为这些文件实际上存储在我的硬盘上。
这也意味着这些文件不需要“每次加载时都下载”,因为它们实际上存储在我的机器上。相反,仅通过线路发送增量,并且 Dropbox 应用程序(在后台运行)适当地修补文件。另一方面,Dropbox 应用程序监视 Dropbox 文件夹中的文件,当它们发生更改时,它会将适当的增量发送到服务器,服务器将它们传播到任何其他客户端。
这种设置有一些明显的优点:它可以在离线时工作,速度快一个数量级,并且对其他应用程序是透明的,因为它们只看到磁盘上的文件。但是,我不知道它如何处理合并冲突(这很容易在一个或多个客户端离线时出现),如果服务器是唯一的副本并且每次编辑都会更改该中央副本,那么这不是问题。
Dropbox 真正出色的地方在于,他们有一个额外的技巧,可以将 Dropbox 文件夹中的项目标记为当前同步状态。但这不是你在这里问的。
就目前的问题而言,您绝对应该研究 MacFUSE 和 WebDAV,它们可能是您问题的完美解决方案。但 Dropbox 的处理方式(通过后台应用程序更改磁盘上的实际文件)可能是更好的权衡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)