小订货宣传的原生小程序是什么意思?跟其他的不一样吗?

小订货宣传的原生小程序是什么意思?跟其他的不一样吗?,第1张

原生程序就是小程序前端代码采用微信原生语言编写,肯定是加载速度⌄用户体验,相对那种迁入H5网页的小程序要好很型基多。“小订货”采用的是原生小程序。而类似“易订逗坦货”等产品采用的是小山租桐程序壳嵌套H5的方式。如果对用户体验要求不高,两种模式影响不大。

在这之前,如果有人问我,在微信中做一个产品,是用小程序还是 Web 页面 (严谨,既不是 HTML5 更不是 H5…) 的时候,我会这么说:

产品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。

营销上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。

关于后一点,朋友圈分享现在普遍会用海报来做,在这点上 Web 和小程序的能力其实是一样的,都是只能帮你保存图片到相册,再请用户手动发送到朋友圈。而小程序独有的发现 - 小程序、搜索框快捷方式等对用户回访特别重要的入口,Web 页面是不能使用的。

那么,昨天的发布意味着什么?简单地说,小程序的开发成本有了很大的下降。

微信小程序刚刚上线的时候,由于小程序使用类似 HTML、CSS 和 JavaScript 等 Web 语言的方式进行开发,让一些媒体误以为小程序就是 Web 开发,欢呼将「迎来 Web 开发的春天」。我自己的第一份工作就是 Web 开发工程师,Web 开发入门确实比较容易;可是尽管小程序使用了 Web 语言,那只是语法上的一致,陵歼宏整个开发模式完全不同,更接近于原生 App 的开发而不是 Web。打个比方,对在看这篇文章的大多数人来说,读中文要比读英文更容易,但假如你看不懂英文版的《量子力学导论》,翻译成中文版你也不一定能看懂。开发小程序,需要有专门的、独立于 Web 团队之外的团队,按小程序的规范重新设计、重新开发,不能将已有的产品直接迁移过来。

可以理解微信当初做这个决定,是希望开发者按照微信的要求,为微信的用户重新去思考、设计一套全新的用户体验,而不是将已有的 Web 页面搬进来。历史上,包括 Microsoft 的 Windows Phone 平台、Google 的 Chrome Packaged App 都冒过类似的险,而其实 Apple 也做过类似的决定——Steve Jobs 2010 年 4 月亲笔写过一篇文章,解释为何 iPhone 不支持 Flash (Thoughts on Flash),其中最重要的原因是,Apple 不希望第三方开发者将已有的产品直接搬过来,而是希望开发者能直接在 iOS (当年还叫 iPhone OS) 进行开发,为 iPhone 的用户提供最好的体验。这些决定赌的是,新平台 (小程序或 iOS) 带来的商业上的好处,最终会让开发者们愿意付出这个成本。

那时候的 iPhone 还很弱小,但后来的历史证明 Steve Jobs 赌对了——Adobe 公司今年 7 月宣布,将在 2020 年最终停止 Flash 的更新和分发。

微信,则在昨天支持了开发者直接嵌改锋入已有网页。

所以,如果你已经有一个网站,可以直接在小程序中套个壳,把网站中的 Web 页面摇身一变成一个小程序。至于这和直接分尺册发 Web 页面有什么区别——

产品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。

营销上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。

细心的你可能已经注意到了,上面这两条并没有任何变化… 对,在小程序的用法上其实没有任何变化,只是开发成本下降了。

那么,在今天之后,使用微信小程序框架开发的「原生」小程序,和嵌入已有的 Web 页面的「Web」小程序,在用户感受上会有什么区别呢?

「原生」小程序,整个小程序是提前下载的,不会有 Web 页面打开时的页面加载感。我们过去的可用性研究表明,这是用户对一个界面是「Web」还是「原生」的最主要判断标准。对于偏工具型的小程序,「原生」的感受应该会更好。

「原生」小程序对体验的控制更完整,自己要做的事情也更多。例如 Web 页面中用户可以选择页面上的文字复制,而在「原生」小程序界面中,这是需要单独添加的功能。

「原生」小程序提供了一些专属的控件和 APIs(接口),如展示群信息、发送推送等,这些只有使用小程序框架开发才能使用。

所以,如果需要和微信生态整合得更紧密,可以使用「原生」方式开发;如果追求快速迁移已有 Web 产品,嵌入 Web 页面更快。

有句话说,会使型拍用 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/12280837.html

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

发表评论

登录后才能评论

评论列表(0条)

保存