前言
这可能是掘金上第一篇介绍 localfirst 的文章,但这一思想其实并不是新鲜事物,在网络条件不好的年代,本地运行才是软件的主流,联网只是一个小功能用于备份数据,更新软件等等。到了互联网的时代,打开一个办公软件都需要登录账号,wifi链接已经成为水和空气一样的必需品,一断网很多应用都没法正常使用了。但毕竟这个世界还没有达到全球都有畅通的网络的程度,因此为了在弱网或无网环境下也能正常运行应用的大部分功能,localfirst 思想诞生了。
localfist 的软件思想
一,不需要实时加载,只在背后进行同步。
我们的硬件配置越来越高,应用使用起来却感觉越来越慢,一部分原因是它们在频繁地进行网络请求,拖慢了用户体验。应当在后台进行网络同步,尽量少的让用户感知到网络异常。
二,跨设备的同步依旧重要。
现代人拥有的智能设备往往不止一台,应用需要有跨设备同步的功能,保证用户的工作可以在不同的设备上继续。
三,网络是可选的
随着智能设备越来越多地被应用在各种场景里,网络断开地情况也越来越常见,比如智能汽车就需要认真考虑在无网状况下能否正常运行。localfirst 倡导将数据优先保存在本地,用户不需要网络也可以正常查看和修改数据,等到有网时再同步。
四,丝滑的协作
实时协作是在线应用的一个重要卖点,一个小组的成员可以同时编辑一个文件,不可避免地会有冲突出现的情况。localfist 希望能够找到一种方式,成员们可以同时工作,且最终不必担心冲突。
五,永久可用
互联网时代,即使是巨头的产品,也时常在达不到商业预期之后被关停。我们倡导永久本地可用的应用,这听起来有些 old school,这确实是保留人类文明数据的更好方式。
六,安全与隐私
因为黑客攻击或者内部泄密导致的用户数据安全事件频繁发生,主要原因是所有用户的数据都被保存在中心服务器上。localfirst 避免了将全部用户的数据保存在一起,只在本地保存,这是一种更加安全的方式。也可以采用端到端加密的方式来和其它用户分享数据。
七,用户拥有数据
用户拥有对数据的访问访问权,修改权。而不需要在使用应用之前同意一大堆的条款,在现在的网络应用里,平台可以任意窥探和删除用户的数据,这常常会超出用户的本意。localfirst 提倡的是用户自己能够真正拥有自己的数据,并且能够选择是否公开或是保密。
结语
看完 localfirst 的思想介绍,我感觉到这是一种对用户非常友好的应用设计,但在具体实现起来可能会遇到诸多的挑战,需要结合各种新技术,这让人感觉到兴奋。在市面上已经能够看到类似的应用,例如早年的 Single Page App,后来的 Progress Web App,到现在的浏览器插件,它们很多都可以离线运行。而 localfirst app 主要的难点和特色就是对多人协作的支持,必须想办法处理数据冲突。