微信成了中国手机端聊天应用的龙头,连国外聊天app也有意模仿。它率先推出的公众号、小程序被其他厂商模仿,作为独角兽的存在。以前看新闻说张小龙是乔布斯的粉丝,我从微信的开发文档上读出了生态、封闭的味道
微信相关的文档写的很细致,功能相关点都给了跳转链接,这是写文档的模范。有句老话 三流的公司搞业务,二流的公司搞技术,一流的公司做规范,看了小程序的文档之后,我认为腾讯确实属于一流公司了。虽然前些年说它是毒瘤 ,凡是有创新的公司不是被它收购,就是被它抄袭搞死。腾讯是c++为主的,非常注重底层、性能,tcp这些面试都会被问到。
还有一句老话,业务驱动技术,或者技术驱动业务。大多数公司属于第一类,而腾讯这种就是第二类了。我说这些并不是要赞美,做舔狗什么的,你不得不服啊。中国这么多公司,都跑到人家平台去开公众号,搞小程序,心甘情愿的付钱给人家。
下面从几个方面来谈小程序开发,开发、运营、生态.小程序技术发展史里说明了移动端网页存在的一些问题,为了解决这些问题他们定义了小程序了的目标。
1
2
3
4
5
- 快速的加载
- 更强大的能力
- 原生的体验
- 易用且安全的微信数据开放
- 高效和简单的开发
开发
- 同浏览器前端开发相比,小程序把主线程拆分成了UI线程和JS线程。把职责分清了,数据同步的问题交给微信做。做过网页优化的都知道,我们会把脚本放在body底部,目的就是希望浏览器渲染页面优先,最后加载脚本执行。要不然放到head里,脚本执行若是太久页面白屏体验不好。微信此举就是让页面渲染更纯粹,体验更好。但是微信的WXML绑定变量依然依赖JS端的数据,同步若没做好,体验也不好。
- 去掉了DOM/BOM,开发者不再能使用jquery或者zepto之类的辅助库选择节点。微信提供了相应的API(wx.createSelectorQuery)来完成同样的功能.但是做过vue开发的肯定知道,查询页面节点的需求很少。而小程序的设计思想就参考了vue,所以查询节点的API不是太重要
- 一个页面,包含四个东西。配置(json),UI骨架(wxml),UI样式(wxss),业务逻辑(js)。小程序把一个页面涉及到的东西都独立划分了,简便了开发。同时,做了很多扩展。比如wxml,不再使用常见的html标签,取而代之的是更加通畅的组件(表单、地图、导航、tabbar).这些微信原生支持的组件使得开发出来的小程序界面风格更统一,加载和渲染更快。配置分全局和页面,有很多和体验相关的,比如调试,网络延时,色彩。js编写的语法还是没什么改变,就是必须使用大量的微信API。
- 接口支持同步和异步,异步方式就是Future。后端的开发哲学也引入到了前端
运营
- 小程序开发完成之后,需要上传到微信小程序后台。由微信负责数据存储,CDN,这样分发的速度更快。这比公众号网页放在企业自身服务器响应更快。
- 小程序开发为了同各个企业的行政结构对应,对参与人员可以设定不同的小程序开发权限。分成主要三类,运营者、开发者、数据分析者,不同角色提供了不同的权限和职责。比如微信支付只有运营的才能看,开发的看不到。写代码的只能给开发者,其他人给了也没用哈。推广的能力给运营,做销售营销。
- 小程序提供了各个版本,开发版本、体验版本、审核中版本、线上版本。对应了开发中的各个阶段。
- 小程序码的提供是为了让人一眼就能识别,同公众号却别。这种设计很用心
- 小程序的分享功能方便企业获取更多客户
生态
- 小程序允许使用微信登陆,减少企业获取用户信息的成本。用户的手机号,地理位置,通讯地址,微信运动等数据,只要用户同意都可以获取。企业不必再单独做应用了,被迫绑定到微信平台。
- 小程序可以被app分享出来,进而让别人打开对应的app,让别人去下载你的app。拼多多过度使用此功能
- 小程序支持推送订阅消息,比如商城的下单,同微信整合在一起
- 小程序支持会员卡券,同企业的会员机制结合。
- 小程序支持打广告赚钱
- 同企业微信兼容
总结
小程序的开发是闭合的,独家API,开发者被绑架了,可能丧失了创新性。运营是契合企业业务的,有后台供企业查看、分析数据。生态是开放的,能同互联网产业打通。小程序考虑的很全面,不得不说它极具野心。它的开发方式,能让体验做到一致性,像极了苹果。作为微信生态链的一环,它担当了举足轻重的地位,犹如苹果的itunes.
野心与创新并存,向小程序致敬!