D 的个人博客

全职做开源,自由职业者

  menu
412 文章
3446695 浏览
12 当前访客
ღゝ◡╹)ノ❤️

创业的第二个秋天

banner

如果你是第一次看这个系列的文章,可从第一篇《创业的第一个春天》1 看起。


帮助别人成功,自己才有成功的机会。

Vditor & Lute

这个秋天开始实现 Vditor 的“所见即所得”特性,即实现 Typora2 那样写 Markdown 时不用分屏预览,而是边写边渲染。不过 Markdown 本身的设计用意就是“所见即所得”,所以把这个特性叫做“实时渲染”更恰当一些。这个月应该能实现完,下个月正式发布。

技术方案上我们是通过让 Lute 支持渲染“Vditor DOM”来实现。这个方案最难的部分莫过于实现源码映射3,即渲染结果字符和 Markdown 原文字符的位置对应关系。只有实现了源码映射才能实现编辑(光标)位置的正确移动。完整方案和技术细节后续会单独写一篇文档来介绍,希望能给其他在做 Markdown 编辑器的开发者带来帮助。

Latke

Latke 是我们 Java 产品线的开发框架,之前的 Latke 是基于 Servlet 实现的,虽然能用但是一直不太满意:

  • Servlet 有点重,很多特性用不上
  • 性能不足够好
  • 不同的 Servlet 容器有不同的部署细节,导致进行用户支持时非常麻烦

经过再三考虑,我们决定将 Latke 改造为基于 Netty 实现,这样上层应用的部署方式得到了统一,更轻量化性能也更好。目前 Solo、Sym 已经迁移到最新版 Latke,黑客派也部署上线了,大家可以到社区试试看新框架的表现。

Sym

商业版实现了一个新特性:审核功能,发帖、回帖、评论均支持审核后才展现。整个审核功能也做了开关,默认不开启。另外也迭代了一些模块的细节,比如支持更多站点连接、历史头像背景图、微信公众号消息提醒4、支持两套广告展位等。这些需求均来自商业客户以及黑客派用户,在大家的驱动下 Sym 也更加完善了,感谢。

Sym 社区版方面主要是修复缺陷,可参考 v3.6.0 变更记录5

黑客派

我们停止了大部分广告展位展示的谷歌广告,转而将这些展位用于展示社区用户自己的 GitHub 开源项目6,不收取任何费用。

这个转变的动机也算是机缘巧合,是因为有人恶意点击导致我们的谷歌广告账号被限制。 但也正是这次攻击让我们重新思考了社区的价值取向:要做一个真正的社区就不应该过分利用 UGC 带来的流量进行变现,如果一个站点挂太多广告(甚至付费去广告)的话,那这个站点就不能算是一个合格的社区,因为社区的价值取向不能只建立在站长个人身上,社区自己的价值观应该是共创共享的,这和个体获利是完全矛盾的。

进一步,我们也思考了广告变现这条路,如果要做的话应该做成和社区用户分润的模式,这样社区整体的价值观才能保持一致。技术方案上可以通过 AdSense Host API7 实现。不过这个方案门槛有点高,需要日 PV 10W(中文站点好像是 100W)以上才能申请,等以后有机会再尝试吧。

相关链接

  1. 创业的第一个春天
  2. Typora
  3. 源码映射
  4. 社区微信公众号消息提醒
  5. Sym v3.6.0 变更记录
  6. 参与 GitHub 开源项目推荐
  7. AdSense Host API

创业的第二个冬天