知晓程序注:每周,我们都会邀请优秀的小程序开发者,从产品/开发/运营等角度,分享他的小程序实战经验。如果你想成为「晓组织」的一员,请发送邮件至 [email protected] 给我们投稿,献上你的投名状。
这里是「晓组织」的第 2 期。
本期分享嘉宾是「Nodes」小程序的开发者花叔。
大家好,我是花叔。我从事 IT 工作 7 年,现就职于腾讯 TGIDEAS,是一名高级 UI 开发工程师,热爱折腾跟互联网相关的各种玩意,是一个热衷交流的大叔,很荣幸受邀到「知晓程序」来谈谈「Nodes」的故事。在讲故事前,先介绍一下「Nodes」,它是一个面向高端人群,基于小程序平台的思维创作和分享工具,利用它你能快速地创作并传递你的思路。「Nodes」发布不久,一位热心的网友因为太喜欢「Nodes」就录了一个演示视频,更具体的使用方法可以参考以下视频:
在大企业上班的同学都应该有那么一种体会,平时接触的需求或者业务比较复杂,往往需要一些辅助工具去整理我们的思路。我自身也是在比较大型的互联网公司工作,虽然从事的是前端开发人力的协调工作。但在产品策划阶段,我也需要跟产品同学一起对产品的预想形态进行构思。而这两个事情,我往往是在 PC/MAC 上用类似 MindManager 的工具进行创作,然后利用所制作的思维导图工具,去辅助我把想法传递给合作方或执行方。由此可见,思维导图是非常有用的东西。我从事了好几年互联网工作都离不开它,但是随着移动互联网的兴起,我们在 PC/MAC 上面花的时间越来越少,好多的碎片化时间都已经转移到手机上,于是我不禁去想,为什么我不能在手机上去画思维导图呢?带这个疑问,我尝试去找一些手机上画思维导图的 app。但经过一轮折腾后发现,好用的、用于制作思维导图的 app 要不交互很粗糙,要不就是要收费的(我一直认为基础服务是不应该收费的)。我作为一个开发者,觉得他们做的不好的时候,就会想着自己弄一套。毕竟自己做的一定是满足自己的需求,于是衍生了「自己弄一个思维导图工具」的想法。加之机缘巧合,刚好公司对接的业务开始尝试在微信上去做一些小程序,例如「王者荣耀赛事」。我作为一个开发小组的负责人,也需要更新自己的技术能力,于是就有了「学习小程序」的想法。我个人是一个执行力不差的人,定了目标之后,就开始构思「Nodes」的产品形态。一般严谨的互联网产品会经历「策划-交互-视觉-前端开发-后端开发-测试-发布」的过程,这会涉及不同人力直接的合作和沟通,而这过程会让产品的方向会发生偏移,所以一般产品的最终形态跟最初策划方预想的形态很可能是大相径庭的。但「Nodes」不一样,因为这个小程序是我一个人包揽了所有开发环节,没有交互 PK,没有需求变更,整个小程序的开发进度完完全全按照我个人想法去演变,所以它现在的形态就是它最初始的形态,可以算是一个比较有个性的应用。例如,别的思维导图 app 都是千篇一律地用点击「+」号新增分支的交互,因为我觉得那样太不个性(纯粹为了不想随大流),于是「Nodes」的节点编辑交互是这样考虑的:小程序提供的事件交互常用的有 3 种:tap(短按)、longtap(长按)、touchmove(移动),这 3 种交互组合起来,会有 5 种交互:短按、长按、移动、短按移动、长按移动。这是「Nodes」在节点处理交互上的「与众不同」 。再说说「Nodes」的后端部署方案,其实它没有普通人理解的复杂,因为它是直接用的腾讯云的小程序解决方案。如果你参与了很多的小程序开发项目的话,你会发现那种跟用户相关的小程序,在研发开始前,都会讨论关于「鉴权」的问题,这是必不可少的,因为这逻辑相对复杂一点。好消息是腾讯云已经自动帮忙部署鉴权体系,我不需要自己想方设法地去开发这套机制。但也有个坏消息,就是腾讯云的小程序解决方案会有一些配置的坑,而且官方默认的设计方案是不支持多个小程序公用一套鉴权体系的。如果要进行多个小程序公用的话,你需要自己手动去改造其中的代码。「Nodes」不是一个简单的项目,其中涉及好多开发细节还有很多,这里就不一一细说了。「Nodes」最大的技术难点在于画布 API 的应用,目前微信小程序官方对这一块的支持还是挺有限的,所以「Nodes」在不同的手机上可能会存在一点的兼容性问题(例如文字错位、叠影)。所以后续首先的第一个计划是跟官方沟通,促进他们完善 API,并更新到「Nodes」中,用以保证现有体验的极致。除此之外,结合网友们的意见,后续估计还会有 3 个优化计划:我还在不遗余力地利用业余时间进行「Nodes」的维护和迭代,网友们如果有建议可第一时间通知我,我的微信号:minijoe,QQ号:23456325,感谢大家。关注「知晓程序」公众号,在微信后台回复「晓组织」,获取全部晓组织栏目文章。▽ 点击「阅读原文」,发现更多优质小程序。