对思源主题依赖逐渐加重的担忧

本贴最后更新于 431 天前,其中的信息可能已经时移世异

我觉得目前,思源主题对用户体验的占比越来越重,我觉得这种趋势如果长期发展下去,对思源会产生如下不良影响。

  • 主题定位走形。主题越来越像独立软件,而不仅仅地变换 UI 外观,用两个主题就像在用两款软件。
  • 特性耦合度增高。用户下载主题相当于打包下载了一系列耦合在一起的插件。
    选择这一组插件包,就无法选择另一组。我经常会同时想要多个主题的某些功能,在多个主题之间反复横跳。
  • 主题开发者重复造轮子,维护成本加大。一个主题做多个功能,这些功能可能有很多是重复的,但是又要单独开发一遍。
    而且到后面不断地为主题增加新特性,会导致维护成本越来越高。
  • 用户依赖主题而不是软件本身。主题作者一旦停更,对长期使用主题的用户来说,就不是换一个外观那么简单,而是要改变一系列已经熟悉的操作习惯和功能特性。(比如一旦 dark+ 的作者弃坑了,dark+ 停止更新,那我可能直接跑路了。)

还是希望能够把类似插件机制推出来,把主题的各种特性解耦成单个的插件,让主题回归到单独的 UI 改变。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18137 引用 • 66920 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • soltus

    担忧 +1,但是插件机制并不能解决这个问题

    1 回复
  • qifengle1998
    作者

    大佬,针对我说的这系列问题有什么建议没有?

    还有为什么说插件机制不能解决这个问题,细说一下,真心求问

    2 回复
  • soltus

    插件与主题最大的不同在于可以同时启用,这是相比主题实现唯一的显著优势。思源开发者社区现在还太小,插件机制复杂的规范不仅要重构思源本体,短时间内也不会有多少实用的插件,总体收益为负,主题实现与插件实现也会存在冲突。而且思源已经有了 JS 片段,JS 片段是可以同时启用的。

  • StarDustSheep 1 赞同

    这也是我一直不怎么依赖思源内部挂件和带功能的主题的原因。我自己的主题也仅仅做外观方面的修改,几乎没用 JS 增添功能。

  • StarDustSheep

    有了代码片段后,用户能自己添减 css 和 js 代码,实现解耦。但有些主题的代码是和主题其他代码有较强的关联的,难以脱离出来单独使用。所以这个代码片段功能实际上只是对有一定 HTML/CSS/JS 基础,或者说有一定代码编辑经验的人有很大帮助。普通小白用户依旧高度依赖社区 coder 的贡献来满足自己的需求。虽然 obsidian 一样如此,但 Ob 的用户数量、教程数量都比思源多太多,所以我觉得思源目前处于一个比较尴尬的状态。

    有计算机知识基础有代码编辑经验的既可以用思源也可以用 Ob 还可以用其他笔记工具,这些人的知识储备足够支持他们上手任意工具。这类人选择思源的意愿可能就没那么强。

    像我以前那样的对代码没什么经验的人,直接上手思源可能会有很多疑惑,很难找到解答和说明(不是没有,而是这些信息很难获得)。在 B 站上也没多少,吸引力足够高的视频的展示,能提供足够诱惑力,支撑他们,去了解和尝试思源(相比 Ob 真的就少太多)。

    对轻度用户来说,同步也是个大问题。有点知识储备的人可能不会疑惑于思源的同步方式,也很少遇到同步问题,要不就是遇到问题了也能自己处理。但太多的用户我想是没这个能力的,太多有关同步的问题了。

    回到主题依赖这个事上,如果对各种花里胡哨的功能有强需求的人中有部分也是能经得起 ob 的插件折腾的,或者自己也有一定改代码的能力。而不懂这些的用户,如果需要第三方内容的功能,在思源和 Ob 间,显然是用户数量更多的后者的第三方内容有更持久的保障。在思源这边使用第三方内容提供的功能越久,可能就越有这方面的担忧:自己对一个可靠程度、持续性不确定的第三方代码形成了依赖,被其所“绑架”。后续对思源有其他不满意的地方也只能默默忍受。

    所以解决方案呢?在我看来,有三种方法:

    • 只用那些用户数量较多,且作者在 github 上持续贡献代码的时间很长的第三方内容。
    • 自己学习,自己也有能力编写那些代码,就算作者真跑路了,自己也有能力 DIY。
    • 消极应对,尽可能不用那些第三方内容新增的功能。只依赖思源笔记本体功能或更稳妥的只依赖双链笔记通用特性。
  • 有同样的担忧

  • 这点确实,我下一个主题,我就必须适应主题里面一系列的功能特性,换个主题就用不了了

    粒度太粗了。

    有插件的话,我可以自己按需组合特性

  • 插件的作者要是弃坑了呢?

    1 回复
  • qifengle1998 1 赞同
    作者

    就拿我用的 dark+ 来说,他一个主题作者弃坑,相当于十几个插件作者一起弃坑

    1 回复
  • 😂 😂😂

请输入回帖内容 ...

推荐标签 标签

  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 2 关注
  • Sillot

    Sillot (汐洛)孵化自思源笔记,致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点
    Github 地址:https://github.com/Hi-Windom/Sillot

    12 引用 • 26 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    27 引用 • 66 回帖 • 1 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 254 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    51 引用 • 37 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 1 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    673 引用 • 535 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 2 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖 • 1 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 105 关注
  • abitmean

    有点意思就行了

    14 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    393 引用 • 3380 回帖
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 232 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 457 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 21 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 532 回帖 • 706 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    164 引用 • 406 回帖 • 523 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖 • 1 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3165 引用 • 8206 回帖
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 637 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 594 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 7 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 66 关注
  • V2Ray
    1 引用 • 15 回帖