欢迎到早读课投稿,投稿邮箱:[email protected] 前言 Q: Jinkey, 可以概括一下小程序吗? A:这也不行,那也不行 Q:丫的,你能不能正经点。。。 A:用完就滚Q:。。。 Q:为什么说小程序如炮友? A:小程序刚发布不久就流行一个段子:APP 如原配,一年不用几次;服务号如情人,一个月固定几次;订阅号如酒店小卡片,天天可以卖广告;小程序像炮友,用完就走。 资本如嫖客,各个平台和垂直类掠夺者已经瓜分掉了线上流量,那么未来争夺的流量战场必然在实体场景,很多巨头其实已经证明了线下流量庞大的潜力。在快递包裹上印上自己的二维码关注公众号形成二次寄出快递的粘性,Pokemon Go让用户在实体地图上捕获小精灵。 未来的入口不限于二维码,而是一切的富媒体。二维码之于2D识别,复杂图案之于 AR,语音指令之于 Siri,会发射信号的一个芯片;使用这些入口的不限于人类,对这些入口的识别,除了人扫二维码,还有无人驾驶汽车识别路标,寻找实体商店坐标;智能助手根据主人偏好自动在电商平台寻找合适的商品并且下单。 一句话来说,未来的流量来自线下,流量的入口来自多媒体,整个战场会从移动互联网到“实体互联网”转变,作为后续的“物联网”全民化的过渡。 那么小程序之于微信,就是利用二维码这种富媒体(图像),把线下商家的流量聚拢到微信。另外,从微信的服务类目看,这将是腾讯向成为互联网水和电的目标的又一大步,下文会进一步分析。 目录 企业注册流程 小程序到底是什么 小程序的入口 小程序应用场景 该不该做小程序(<重后端,轻前端> 的思想、小程序和H5的区别、红利期、小程序类目) 一些要点 小程序的能力(自带组件、事件、硬件能力、微信能力) 一、企业的注册流程
二、小程序到底是什么
小程序写的时候用的是 java 这种网页开发语言,首次运行会把这个“网页”缓存到本地,所以不是不用下载,而是下载的包比较小而已。然后通过 Android 或 iOS 各自的 JSBridge 方法转换成对应的 Java 或 Objective-C 方法运行。 比如我在小程序写了一个方法 loveme: function() { wx.showToast({ title: ' 微信公众号 jinkey-love ', icon: 'loading', duration: 1000 })} 程序就会识别出wx.showToast及其参数(文字、图标、持续事件),然后执行本地的一个方法 func showToast(title: String, icon: UIImage, duration: TimeInterval) 弹出一个原声的 Toast 组件,上说只是为了方便说明,实际运行环境会复杂的多。
上图左边是大家在微信公开课 Pro 会场上看到的企微云平台的快销上报小程序,看上去真的很像一个独立 App,虽然我看不到他的源代码,但是我试着还原其中一个页面来举例子。 一个页面都是一个独立的文件夹(微信开发者工具会自动为你创建),每新增一个页面需要在 app.json 文件的 pages 列表新增一项。
一般来说,src 目录建议用来放置固定的一些企业介绍视频或者宣传图片等等。(整体的包大小不能超过1M) 如果你不放在这个目录,也可以放在你自己的服务器,远程访问。比如一些经常变化的活动宣传 banner app.json 是可以配置整个程序的底部导航 tab、导航栏的背景颜色(貌似不能弄成图片,如果希望做成京东 app 超级品牌日那种全屏氛围渲染,建议banner 图片上半部分使用渐变色过渡到你配置的状态栏背景颜色)、导航栏标题、导航栏颜色、是否支持下拉刷新等。 app.js 是全局的一些方法,比如获取用户信息,全局数据的配置地方。 js 会部分转成原生的 java 和 oc 代码执行,那么页面呢?用的是操作系统原生的组件吗?带着这个疑问用 UI 测试工具打开了微信: (责任编辑:本港台直播) |