致企业家的一封信

小程序开发技术架构以及小程序开发小知识

发布时间:2019-10-11  浏览次数:

  微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。这是微信小程序的官方定义,不妨一起画一画重点。我觉得有三个关键点:


dsa (1).png


  被定义为一种连接方式:很显然,与微信社交的调性不谋而合,小程序是一种全新的产品能力,微信社交连接能力的二次延伸。

  连接的对象是用户和服务:很清楚,微信连接的是「人与人」,而小程序连接的是「用户与服务」。这一切都基于已有的微信生态圈,是微信OS对app生态方式的一次挑衅。

  微信内获取和传播:很无奈,一切都要基于微信,从工具兼内容产品升级到平台产品,成为现有玩法的规则制定者,我的地盘、我做主!

  产品结构

  相信绝大多数的产品的功能和结构体系都比较完善,即使再差,一套完整的流程还是有的。

  那么,面对小程序的这个新生事物,究竟该从何做起?

  全部业务功能:都要有;

  核心业务流程:必须有;

  专注关键要点:可以有。

  打开百度App,看更多图片

  资源投入

  由于小程序的前景,以及目前对于该产品的投入产出比都相对比较保守,那么相应的资源投入都会相对比较缺乏,或者说并不是那么重视。

  集中投入,急速开发,先保证有;

  阶段投入,阶段开发,需要即用;

  持续迭代,增量迭代,保持机警。

  产品实例:在整个微信小程序的产品设计过程中,最为纠结的一个点——账户登录。

  其实,并不是由于功能本身的纠结,而是用户体验/心理与账户信息结构的矛盾。

  问题描述:小程序牵涉到微信授权的问题,就相当于app的应用授权,比如:获取地理位置、push推送通知等。

  可能存在的三种纠结的解决方案:

  不提供微信授权,只提供已有账户体系;

  提供微信授权,进入小程序强制微信授权;

  提供微信授权,同时提供已有账户体系。


dsa (2).png


  小程序开发小知识

  1.小程序没有跳转公众号、跳转公众号图文素材的能力。除非用户通过扫描二维码进入小程序的情景,可以显示关注公众号组件。公众号菜单、公众号图文素材可以打开小程序,网页无法直接打开小程序。

  2.小程序内嵌网页、内嵌网页中跳转链接、iframe嵌套的页面,都必须在安全域名内,否则无法访问。如果想在小程序内加入第三方广告,要注意这点,因为安全域名修改是有次数限制的,并要求验证服务器。还要注意网页中嵌套iframe的情况,例如,网页内嵌了腾讯视频iframe,由于腾讯视频不在安全域名内,会造成页面无法访问。

  3.用户信息授权、手机号码授权需要用户通过点击操作。

  4.小程序间跳转需要用户点击操作,跳转前需要用户确认,可跳转小程序数量不超过10个。

  5.小程序分为开发版、体验版、审核版、线上版:开发版是开发工具编辑过的最新版本;开发工具上传后成为体验版,具备体验权限的用户都可以查看;将开发版提交给官方审核后,成为审核版;审核成功后,才可以发布成为线上版本。

  6.官方「小程序助手」小程序可以很方便打开各版本小程序。

  7.每次发布新版本,用户都需要重新下载新版本。

  8.小程序仍在不断更新和完善,旧代码可能会因不符合新政策,在下次发布的时候无法正常运行。为避免这种情况的发生,应多关注官方公告。

  9.版本回退功能可以将线上版本回退成上一个版本

  10.小程序使用CommonJS规范,对ES6有很好的支持

  11.小程序没有官方状态管理工具,页面间通讯靠querystring传递参数。如果有复杂状态管理的需求的话,建议引入一些设计模式或使用第三方框架。

  12.用户微信支付后,需要后台推送消息到服务器,才能确认支付成功。

  13.小程序的DOM操作只能查询属性,无法设置属性。

  14.小程序基础库版本与微信版本有关,

  15.小程序也存在兼容性问题,对待不愿更新微信的用户,要像对待忠实的IE6用户一样。

  16.小程序页面只有onLoad、onShow、onReady、onHide、onUnload生命周期,没有更新视图相关的生命周期

  17.小程序不能直接渲染HTMLstring,要用rich-text组件,但组件使用HTMLstring性能会有所下降。

  18.小程序有很多原生组件,如Vedio、Map。原生组件位于最上层,会遮挡所有非原生组件,还存在诸多限制,如无法改变大小、无法添加动画效果等等。不过,有些组件在最新版本已经可以同层渲染了。

  19.小程序不支持摇一摇功能,但可以通过监听加速度传感器来实现。


dsa (3).png


  20.小程序有官方的广告组件,广告收入官方会抽走一部分。


加载中