今天入门了微信小程序插件。入门的原因是手上小程序项目很多,需要对代码进行大量的复用,把一部分企业内部工具,比如封装用户登录和支付等中台服务接口,封装到一个内部用的插件里,另一部分可复用的UI组件打包在对外开放的插件里。微信的文档还是一如既往的迷惑,看文档的例子不是很清楚微信小程序提供的能力的边界,还需要上手尝试才知道。
查了一圈知乎的文章,大部分都是把小程序插件当成简单的插入第三方功能的工具用的。几乎可以肯定的是,这种用法有很多场景上的局限,加上插件本身是闭源,一个稍微有经验的开发者,为了功能的安全可靠和UI风格的统一,都不会轻易接入。我个人觉得是更大的场景是代码复用,并且在这个基础上构建小程序的开发者生态。比如说,一个企业内部的软件需要同一个用户主页,需要一些风格统一功能相近的自定义组件。插件化可以方便再企业内部复用这些代码,小程序开发积累深厚的公司在开发同类型小程序甚至可以攒下来一大堆开箱即用的组件,真正实现低代码开发,对于大公司和专业小程序开发公司都是非常有利的。小程序插件是一个技术和商业上都有很大想象空间的特性,可惜无论是官方还是社区对它的重视程度都不够。
微信官方对于小程序的工程标准的导向还是不够完善。好的小程序插件,甚至小程序本身,应该符合微信的UI风格和交互习惯,这样开发者之间才能共享开发成果,通过合作提高效率。虽然官方文档也专门讲了设计规范,但从目前社区的状况看,大部分开发者并不是很重视这一点。作为一个开发者,即使我想做出符合设计规范的小程序,也是比较困难的,需要自己调很多很多东西,好多东西自己调起来费时费力还不可靠,我是很希望有更多更好的可复用组件或者可以模仿的代码案例。小程序的文档里,还可以增加一些对于前端工程化的指导,告诉想要做大型项目的开发者如何组织小程序的结构,比如如何使用云开发实现MVVM架构的典型现代网络应用。这方面都需要微信提供更多文档和优秀案例。除了降低门槛、扩大用户量,扶持好的开发者、扩大他们的影响力,也是生态建设非常重要的一个环节,特别是在优质内容决定一切的开发者生态里,这是一个比知乎还需要重KOL的社区。
无论对于平台还是开发者,建设良好的生态,并且树立良好的社区价值观导向,都是多方共赢的。在开发者比赛的群能明显感觉到大家不愿意开源,理由也就是怕抄了做竞品。我作为开发者看到好的小程序想实现类似功能经常不知道从哪里开始,这也是我们想进阶水平的一个比较大的瓶颈。现在虽然学小程序很简单了,但想做好的小程序门槛依然很高,我想这不是官方希望看到的现象。微信小程序可以在插件方面多做一些宣传工作,并且邀请一些做插件开源或者商业模式成功的团队分享经验,让开发者潜移默化地转变对开源的抵触。由于插件本身闭源,在这个基础上可以建立非常好的商业模式,有一部分小程序团队可以分化出来专门造工具造UI库,并且可以通过闭源模式销售,想开源也同样容易,或者在开源的基础上销售服务,可以想象的商业空间都十分大。
唉,后端的希望搞前端的时候轻松一些,前端的搞后端的时候希望简单一些。都一样,还是担心自己被抄了做竞品