微信小程序 - 设计方案

微信小程序 - 设计方案,第1张

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

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

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

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

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

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

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

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

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

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

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

有句话说,会使用 vue 开发的程序员就会开发小程序,确实是这样,在我学习 vue 后,再去学习小程序时,感觉很好上手,因为很多语法都是类似的写法。当然,也有很多不一样的。

1.声明 data :用过 vue 的朋友都知道, vue 中声明 data 时, data 必须是函数,不然会报错,原生的小程序就不是这样,直接 data: { } 就ok了。

2.绑定数据:绑定动态属性时需要在属性的双引号里使用 {{ }}

3.列表循环:使用 wx:for ,在循环题内有隐藏的item代表当前项, index 代表下标

4.事件 事件处理函数在page里定义,和onLoad / data等同级

事件的写法:以 bind 或 catch 开头,然后跟上事件的类型,如 bindtap、catchtouchstart

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

事件的传参:事件传参不能事件处理通过 () 来传递参数,在组件里面通过自定义属性 data-xx="参数名称" 来定义,在事件处理函数里通过 event.currentTarget.dataset 来获取参数

事件官方文档

5.修改data里面的数据

在vue中,修改data里面的数据,直接【 this.属性 】就可以修改了,可是小程序不一样,它需要通过【 this.setData({ data: newData }) 】来修改,访问data的中的数据用【 this.data.xx 】来访问;一开始学习小程序的时候,习惯了[vue](https://cn.vuejs.org/)的写法,总是写成 vue 的法,贼难受。

6.自定义组件

更多关注 小程序官方文档


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12013340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存