1年磨成自用Markdown笔记,丢掉Typora

2021-04-22 15:21:43 浏览数 (1)

很早以前

不知道还有多少童鞋记得,很早以前写的一款markdown笔记软件,当时还发了一篇文章,那时候刚写两个星期左右,一晃过了一年多,那个软件现在已经可以在安卓,windows和mac上运行,只不过最近差不多已经停更,一方面基本功能已经完成,另一方面也是因为现在把重点放到了公众号上。

偶然购买事件

本来没打算再提这个软件,然而前几天有一个用户在苹果商店买了一年的会员,9.2美金,让我突然觉得这一年多的付出没有白费,另一点又有些歉意,因为这款软件还没有做到我的预期。

其实VIP和普通用户的功能基本没什么区别,只有一个文章历史恢复功能是需要VIP的,其他所有markdown特性都是免费的,包括公式,表格,代码等。我不清楚这位购买一年的用户是出于什么原因,但是即使只有他一个人购买我也感到有一点压力,这种压力更多来自于对自己产品较真的态度。于是在他购买第二天我就更新了一次mac版本,修复我这几个月来遇到的一些小问题。后面也会小幅度更新一些小功能,这样用户不至于觉得开发者已经放弃了这个产品。

做软件产品和做公众号在这点上一样,使用人数越多,压力也会越大,每一次更新或者发文,都会对很多人产生影响,不愿意让人辜负期望,特别是购买了服务的用户,公众号虽然没有购买选项,但是号里经常会有一些恰饭文,所以公众号里每一位都是购买服务的用户。

笔记软件

这款笔记软件是我平时发文编辑用的,目前公众号近一年的文章都是用这个编辑器编辑的,包括我现在下班回家的路上正在用安卓版本的app编辑本文,我永远都不需要担心数据会丢失,也不需要担心回家后在电脑前数据没有同步,不管是在线还是离线,手机端都可以流畅编辑。编辑器支持markdown的所有基本语法,不用像Typora那样受各种约束,更不用像别的md编辑器那样不能实时编辑还要考虑图片上传问题。简单截个图:

当然要写好这个编辑器需要付出极大的努力,用起来可能没什么,但是在这期间我重写了qt文本编辑渲染模块和layout模块的代码,只因为qt自带的渲染性能存在一些缺陷,内存占用也很厉害,虽然没有优化到极致,但是完成了一个可以商用的编辑器核心,我可以轻松的自定义各种文本样式。其次深入研究了chromium源码中滚动条模块并移植到了编辑器中,然后花了很多时间研究开源办公软件liboffice7 word模块的核心代码,只为了搞清楚它在编辑大型文本时能快速响应的原理。

技术与市场

可是这些技术并不是最重要的,程序员在hack这些技术时虽然很好玩,但是要做好所有平台的功能却是个体力活,另外最重要的其实是市场和推广,软件不能推广就一文不值,要么花精力不停的去写软文,要么只能靠时间去发酵说不定哪天被某大佬翻牌。

对于我的这个笔记软件来说,我不在乎能赚多少钱,最开始我就是想打造一款极简的满足日常写作需求的软件,现在我完成了,在今后的写作工作中,我都会一直使用下去。这款软件还有一个市面上笔记没有的功能,那就是中文语法高亮功能,这是我最满意的功能之一,在写作过程中,经常会写一些形容词和连词,而这两种词会让文章看起来不精简,如下图所示,我会把连词标记为红色,形容词标记为粉色,这样我能一眼知道我是不是要优化这些刺眼的词汇。

上面我把形容词和连词全部去掉了(图片是修改之前的),看起来是不是稍微强一些。

软件未来的规划

后面软件可能更新得比较少,至少在短期来说是这样的,其实作为写作软件,已经基本够用了,现在最重要的是还缺一些文档,比如快捷键,很多快捷键只有我自己知道(逃),下载我软件的人可能啥都不懂,只能用鼠标点击一些功能,这个我会慢慢补上。

然后是安卓和mac版本的优化工作,这两个平台用的少一些就没花太多时间,我在Windows上面用的最多,现在只有Windows版本(4K)是体验最好的。

最后是iPhone版本的发布,iPhone版本运行后如果有表格可能会崩溃,不过我后面改了渲染层可能已经好了,只是我不用苹果手机所以还没有测试,有空我再发一个iPhone版本,功能和安卓版本一致。

开源与学习

有时候也想过开源,但是对于一个完整产品开源的意义其实没那么大,笔记软件是有服务器端的,光开源客户端容易产生安全问题,对于开源产品,很多人会去编译自己的版本发布在网上,导致局面会很混乱。

服务器代码是erlang的,非常稳定,自从我写了第一版之后一年多时间没动过。服务器代码使用了一些阿里云的服务,也不适合开源。

所以目前来说还没有开源的考虑。

但是也不用失望,编辑器大部分功能都是从别的开源软件上借鉴的经验和代码,如果你感兴趣可以去深入研究Telegram、chromium、LibOffice7、QT的文本编辑模块等源代码,特别是chromium的代码,这是我见过的最好的C 代码,高效、完备、自测试等等,符合软件工程领域的典范作品。学习网上说的各种各样的架构师教程,不如深入研究chromium项目的设计和架构,能融会贯通基本上超过了99%的工程师。

结语

本篇和大家分享了一下因为用户购买而产生的一些想法。

本篇也作为笔记软件的一个小结和暂时性结束,如果后面有什么特别的想法,我再更新后续。

0 人点赞