anytype 的介绍可以看这个视频:【Notion 要跌下神坛了?采用去中心化技术的类 Notion 笔记工具 Anytype,保护用户隐私且支援离线使用!-哔哩哔哩】 https://b23.tv/Tbpr0s5
这两天又重新上手摸了下 anytype,对 anytype 的自由奔放的数据库十分喜欢,来和大家分享分享、说道说道,盘一盘页面、属性和数据库的三角关系,重点只在于三角关系,notion 的 formula 啥的不在讨论范围内。
先吐槽一下 anytype,TMD 非要给自己的各种功能起个特立独行的名字,增加上手成本,就不能用些普罗大众已经习以为常的名词吗!我先用广为人知的 notion 以及诸位都在用的 siyuan 来辨析一下 anytype 里的名词和功能:
块 | 页面 | 属性 | 数据库 | |
---|---|---|---|---|
notion | block,块 | page,页面 | property,属性 | database,数据库 |
anytype | block,块 | object,对象 |
relation,关联 | set,集合 |
siyuan | block,块 |
document,文档 |
attribute,属性 | database,数据库 |
notion、anytype 和思源的最小粒度都是块,不过 notion 和 anytype 的块只是纯粹的内容载体,并不能被赋予属性,而思源的属性能够触及到块粒度,点个赞 👍
anytype 的页面比较有意思,不叫页面,叫 object,因为按照 anytype 的使用哲学,每个页面都要强制分类到某一个 type,是骡是马,还是阿猫阿狗,都行,随便,但一定要分类!在 anytype 里新建页面就和我们现在丢垃圾一样要面临一个难题:这是什么垃圾?就问你烦不烦!当然也可以眼不见心不烦,不管有几个桶,我就只看到一个黑色的垃圾桶,我就把你一股脑儿丢到 page 里,怎么滴吧!这叫重器轻用!
有人不禁就要问了:为什么啊?为什么啊!为什么一定要分类啊!!
这就不得不说 anytype 的另一个要点了:每个页面都要有属性,必须有属性!这样才能搞些其他软件没有的骚操作。有了属性就能够根据属性来进行汇总、筛选、建立页面的联系了!一个 type 就是把一些属性绑在一起做成了一个预设,任君选用。页面有了属性,在码农的眼里,不是 object 还能是什么?
anytype:诸位看官,你看,你只要把小手这么一点这个阿猫 set,所有的阿猫就都在你的面前了。再一点这个阿狗 set,所有的阿狗随便挑了!除了我,还有谁能这么简单、这么轻松、这么随随便便就能做到?!NB 不 NB?!
其他软件:是是是,你最牛逼!我们都做不到!也就您,一上来就给用户霸王硬上弓搞垃圾分类,这天下啊,非您莫属啦 🫶
吐槽归吐槽,anytype 在搞三角关系上还是有两把刷子的!我们来看看 notion、anytype 和 siyuan 在数据库功能上的差异:
一个页面可以添加到多个数据库 | 不同数据库共享页面属性 | 数据库能够自动汇总符合条件的页面 | 数据库当做多维表使用 | |
---|---|---|---|---|
notion | X | X | X | X |
anytype | √ | √ | √ | X |
siyuan | √ | X | X | √ |
开山祖师爷 notion 在上面的对比中不堪一击,干啥啥不行,要啥啥没有。这是由设计思路的差异决定的。notion 的数据库可以当做一种特殊的页面,你能够在 notion 的文档树中找到所有的数据库,数据库的每一行都是一个子页面,数据库是展现子文档的一种特殊方式。
而 anytype 和思源的数据库是独立于文档存在的。anytype 的数据库是文档属性的特殊展示方式和组合方式。思源的数据库是属性的特殊展示方式,甚至不需要文档的参与,但并不能对文档的属性进行任意组合。
-
从自由度上来说,notion<siyuan<anytype。
-
在 notion 中,文档属于数据库,属性也属于数据库,他们都依托于数据库而存在(在当前语境中,请忽略那些不属于数据库的、没有属性的文档)。
-
siyuan 在 notion 的基础上将数据库与文档解耦,属性虽然仍属于数据库,但文档已独立于数据库存在,文档可以自由选择加入哪些数据库、获得哪些数据库的属性。由于属性属于数据库,因此不同数据库之间的同名属性并不共享数据,加入多个数据库后文档的属性数量会急速膨胀。
-
anytype 最有魄力,不仅将文档从数据库中解放了出来,甚至将属性也从数据库中解放了。数据库、文档、属性是相互独立的个体,它们都属于工作空间,这是 anytype 数据库自由度高的根源。
- 不同数据库可以从工作空间获得同一条属性,这些数据库将共享这条属性,在一个数据库中对其进行修改,该属性在其他数据库中也会相应变化。
- 一个文档即使不加入数据库也能直接从工作空间获得属性,要多少有多少,没有就自己编一个。
- 当一个文档和一个数据库拥有了相同的属性,这个文档就会自动加入这个数据库。
- 简直完美!这就是我想要的思源数据库!
- anytype 的属性虽然从概念上是独立于文档的,但脱离文档的属性也只是一个抽象概念,要化虚为实、有具体的值,还是要和文档相结合。
-
这时候可能有人要跳出来说了:瞎了你的狗眼,思源的属性也不是都属于数据库的,每个块还有自己的自定义属性呢!
你说的对!我完全赞同这个说法!D 大为什么要在块属性之外又搞了一套数据库属性啊!gun!直接用块属性的话至少能实现不同的数据库共享属性啊!再加把油给数据库加上 SQL 查询功能不就连自动汇总页面的功能都实现了吗!把 anytype 的底裤都脱掉!还有 anytype 什么事!
以上就是我心目中理想的数据库,和大家分享到这里。
@88250 最后提个需求:赶紧做个数据库管理面板吧!
notion 的数据库能够在文档树找到,anytype 的数据库能够在侧边栏的 Sets 组件找到,siyuan 的数据库只能去 av 文件夹里找,这可不得行,被人看到了毁我清白 👻 把文件夹名称改成学习资料也好啊
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于