微信小程序 - 设计方案,微信小程序功能模块设计

来源:未知 浏览 133次 时间 2021-06-10 18:19

看了bang的博客对微信小程序的技术方案有了更深入的理解:

微信小程序必须要符合两个刚需:管控 & 体验

 

管控:

对于一个可以发布“小应用”的平台微信必须对其下发布的“小应用”用着绝对的管控能力。

 

体验:

作为一个小程序需要让其体验接近原声普通H5的体验不能达到这一需求。括页面切换dbf文件怎么打开?普通H5的体验不能达到这一需求。括页面切换启动速度页面的整体体验相对于原生都是无法相比的。

针对于以上两个刚需微信小程序是这样做的:

 

对于管控:

(1)DLS:想要对开发者进行管控最好的方法就是自己设计一套框架让开发者按照自己框架的规范进行编码利用这套DLS(针对某一特定的领域设计的计算机语言)可以更好的针对不同的需求去优化。

(2)JS环境:写过小程序的开发者都了解小程序中是无法调用任何DOM API的为什么呢?是因为小程序实现了js的运行环境与浏览器分离运行在单独的js引擎上脱离了浏览器一切DOM操作在你的JS中是无法操作的而小程序的核心JS是运行在浏览器中的这样做的好处和坏处是什么呢?

 

好处:

(1)避免开发者进行DOM操作因为开发者可能会通过不同的方式进行上线后绕过检查注入js文件自由操作DOM接口去修改的界面和内容变成和审核时候不一样的小程序来达到自己的目的这中现象和之前iOS的热更新原理是一样的在APP上线后通过js脚本去修改界面的样式内容或者调用官方私有API来做一些非法的操作这种现象对于苹果微信这种超级平台是很不敬的ktv春节活动策划微信这种超级平台是很不敬的同时对其安全也是有很大威胁的它不会允许这种不可控的事件在自己的眼皮底下发生。但是热更新对于原生APP来说还是一个非常重要的需求。

(2)js和页面渲染并行执行不会出现由于js执行而卡住页面的现象提高渲染的性能。

 

坏处:

(1)做过iOS和JS交互的同学应该清楚大致流程在iOS中执行JS需要讲JS代码转化为字符串所以小程序中的js要传输给原声webview使用需要进行转换为字符串来执行。

(2)iOS上原生的WKWebView的JS引擎比javaScriptCore框架做了很多的优化(使用和Safari相同的JS引擎)小程序上的js则无法享受这一优点。

 

对于体验:

(1)因为小程序是寄生在原生下的应用通过native接口我们可以用js调用一些原生的组件和方法做出一些H5无法完成的任务和体验。

(2)退出小程序后小程序后小程序可以在后台运行5分钟用户再次打开时不需要重洗渲染小程序。

(3)同时得益于在原生环境下小程序可以预加载多个WKWebView可以省去WKWebView加载时间提高用户体验。

这之间的取舍就是对于业务和技术之间的取舍。在对用户体验影响不大的情况下对于技术上的取舍在业务上至关重要。

以上是通过bang的博客以及自己的理解记下的。

以下是自己最于最近的现象的一些见解唠叨:

(1)微信小程序平台的管理机制:小程序的管控机制其实很大程度上是效仿苹果对于旗下应用的管控机制。苹果对自家的应用或者语言的监控可谓是家长对于孩子般的照顾了当然这和其自身利益和自身价值是分不开的对于前阶段苹果对于混合开发的动作(当然这和安全隐患有着关系如JSPatch调用私有API)大家可以搜索一下2016年之前和2016年之后Object-C和Swift的语言排行相信可以看到一下原因。所以对旗下产品的管控对于其自身利益又着很大的作用。

(2)支付宝小程序和微信小程序:支付宝小程序刚推出时我看了一下它的文档确实和小程序很像抄袭理念也是自然的了。这个我不考虑只是写一些对与两个超级平台的不同看法(纯属个人见解欢迎一起分享讨论)两个小程序确实存在着竞争但是我认为(不考虑两个巨头对于市场的战略竞争)两个不同的平台都拥有着自己不同优势产品细分领域下的深层的挖掘比如说在微信小程序上ktv春节活动策划在微信小程序上我们可以对其社交进行不同的细分这种场景对于支付宝来说并不合适的但是在支付宝小程序中金融类领域相对于微信来说是其优势在支付宝中对其进行深层次的挖掘也会带来不一样的效益。其实关键在于两家超级平台对于旗下优势产品的大数据层次的开放程度这些数据对寄生或者共存在其生态下的商户来说是可遇不可求的。这些数据和资源足可以再次创造多个的美团和饿了么了对于小公司的吸引力是很大的。所以个人认为支付宝和小程序胜出关键在于对数据的开发和不同时间节点的营销了不同时间节点的营销同样是很重要的这个就是天时了。一个产品的成功不仅仅靠的技术理念甚至体验因为这些都是可以改变的但是天时足可以影响一个产品的成败。天时地利人和才是其成功的关键。关于两个超级平台的发展我们只能静静地观察了因为对于吃瓜群众的我而言现在只能说说理解发发牢骚(其实很多人都是了)但是我感觉这对个人的成长也是有很大的好处的。

标签: 对于程序可以体验