微信小程序首次官方分享的纪要
先交代备注:
- 这次有关小程序的分享只有技术的 QA环节,其他如产品、入口、流量、与公众号的整合等等,回答都是暂时无法给出答案或不确定;
- 小程序最终发布时间官方也还未确定,不过说应该就是近期;
- 小程序的分享环节不允许录像;
- 官方不会分享本次小程序的PPT,但是前排同学有拍照,已经统一按顺利放在结尾处,强烈推荐阅读;
- 图片较多,打开较慢,请有心理准备。
很久没参加技术相关的大会了,不过 11/23 特意去参加了微信官方组织的开发者培训班,日常安排如下:

当然,其实去听培训偶就是为了下午要分享的 微信小程序,但是没想到上午内容都非常的干货,确实有很多值得思考的地方,微信生态的商业化确实令人期待。
言归正传,这篇文章就是介绍微信小程序分享的纪要。
先分享段视频,内容是微小新程序的demo(比较模糊,凑活体会哈):
可以直观的看到微小程序的体验非常流畅。
ps:屁话,虽然用的是 Web的开发方式,但是最终的在 Client的效果是用原生实现,体验必须流畅。
当天的内容非常多,但是这里就重点介绍几个我觉得有意思的。
一、类 Web的开发方式、Native的体验效果的实现原理
其实最大的收获就是了解了小程序这套框架原理。
虽然自己有开发过几个 demo,也看到网上很多开源的项目。但是通过官方技术同学一点点的去深入剖析,进一步理解了实现方式。
WXML -> 编译为JS -> Virtual Tree -> DOM Tree
WXSS -> Compiler -> JS -> DPR -> CSS
ps:请重点关注 PPT中有关 View的那几页。
二、微信公众平台的历史包袱
注册小程序的时候发现,不能和公众号名称一样,我那时心想着不是坑爹么。
官方的解释是:为了减少运营风险,因为如果可以一致,肯定会引起大量的名称抢注。小程序的注册账号不可以和公众号、开放平台、个人微信号的邮箱重复。
我当初就直接注册了一个新 QQ,然后用新 QQ的邮箱注册的。
官方的解释是自己做的不对,而且不光小程序,公众号同样有这个问题,都是历史包袱导致,原因是一个账号只能关联一个服务,不能关联多个。

三、被吐槽的开发者工具
如果你关注小程序开发,那么吐槽最多就是这个开发者工具。同样,我也多次被开发者工具弄的欲哭无泪。
开发者工具和客户端回归的样式不一样?
不一样就对了,因为暂时就是没法保证一样。
开发者工具是基于 nwjs,其实就是 Chrome;而 Client中其实使用的是 JSCore(IOS)和X5 JS解析器(Android)。
从基础环境上就不是一个东西。
比如你再开发者工具中的 .js文件输入 document或者windows之类的,特么它还给你 Autocomplete,你别天真的以为可以使用这些对象,你说这受的鸟么。

虽然一直在黑开发者工具,但是还是替他多解释一句吧。官方表示:暂时就一个全人力在支持开发者工具...
所以不好用的原因一句定位了,这个锅背的不容易哈~
四、请用构建的方式开发小程序
想用 node mudule?
想用 ES6?
想用 SASS?
想...
好吧,不要想太多,这些都是需要开发者自己去用构建工具搞定的。
PS:听官方同学透露,大多数的小程序开发都是用构建工具来实现。
五、滑动事件和 Web中有区别
小程序中的 scroll 事件不好使。原因是小程序其实是客户端界面,不是在浏览器里,所以没有这个滑动事件。
但是小程序有提供滑动到底部和头部下拉的 JS接口,分别为 onReachBottom和 onPullDownRefresh。
影响:图片的 lazyload不要想啦。
五十张会议 PPT记录,请查收。


















































微信小程序暂时哪哪都不美好,但是微信的生态确实预示着很多互联网的未来。
就这样,over.
微信小程序首次官方分享的纪要的更多相关文章
- 微信小程序实例:分享给一个人还是分享到群的判断代码
微信小程序的分享功能,在最新版库的ide上已经不能拿到分享回调了,官方api也删除了对应的回调函数,看样子是砍掉了,不过真机测试还是可以的,话不多说,上代码: /* // 分享功能回调 onLoad: ...
- 微信小程序之生成图片分享
通过社交软件分享的方式来进行营销小程序,是一个常用的运营途径.小程序本身支持直接将一个小程序的链接卡片分享至微信好友或微信群,然后别人就可以通过点击该卡片进入该小程序页面.但是小程序目前不支持直接分享 ...
- 规范抢先看!微信小程序的官方设计指南和建议
基于微信小程序轻快的特点,我们(微信官方)拟定了小程序界面设计指南和建议. 设计指南建立在充分尊重用户知情权与操作权的基础之上.旨在微信生态体系内,建立友好.高效.一致的用户体验,同时最大程度适应和支 ...
- 【微信】2.微信小程序开发--官方开发工具使用说明
承接第一篇 =============================================== 关于微信小程序开发使用IDE,曾经自己动摇过. 到底是采用 微信官方小程序开发工具 WebS ...
- 微信小程序背景音乐官方实例代码无效问题解决及音乐src获取方法
最近在学习微信小程序时遇到了个问题:官方的背景音乐的api实例代码中的音乐src不管用(可能有期限,后面的方法获取的src同样可能有期限),因此本人只能自己去寻找办法获取src,现将方法记录在下面.( ...
- 微信小程序「官方示例代码」浅析【上】
从某个微信群里,拿到了这个IDE的下载地址,然后就有了这个: 根本登不上去,怎么办,怎么办呢? 看代码啊... 反正我又没有保密协议,解压缩一看NodeWebkit + React: 好啦 ,逛逛呗, ...
- 微信小程序,页面分享
onShareAppMessage: function () { return { title: '微信小程序联盟', desc: '最具人气的小程序开发联盟!', path: '/page/user ...
- 微信小程序之生成图片分享 二维码分享 canvas绘制
如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 添加画布 首先,在小程序里进行绘图操作需要用到<canvas>组件,步骤大致分为以 ...
- 微信小程序中的分享事件
小程序的分享 onShareAppMessage(options) 在页面的js文件中定义了 onShareAppMessage 函数时,页面可以表示改页面可以转发.可以在函数中设置页面转发的信息 ...
随机推荐
- Electron使用与学习--(基本使用与菜单操作)
对于electron是个新手,下面纯属个人理解.如有错误,欢迎指出. 一.安装 如果你本地按照github上的 # Install the `electron` command globally ...
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
- python+uwsgi导致redis无法长链接引起性能下降问题记录
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...
- mybatis_个人总结
在使用mybatis框架开发数据访问层的过程中,我在这段时间遇到很多细节问题困住我,在这里我来分享一下我遇到的坑,希望能帮到大家. 一.mybatis动态代理方式开发的规范: 1.注意在mybatis ...
- iOS开发之再探多线程编程:Grand Central Dispatch详解
Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...
- CRL快速开发框架系列教程五(使用缓存)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 设置line-height:1.5和line-height:150%或者line-height:150px的区别
直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...
- Visual Studio:error MSB8020(搬运)
状况如下: error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build ...
- web服务器集群
概述 集群和分布式都是从集中式进化而来的.分布式和集群会相互合作的,同时的集群和分布式.在这里重点说说集群 集群是什么? 集群能提高单位时间内处理的任务数量,提升服务器性能 有多台服务器去处理任务,但 ...
- Android Bitmap 和 ByteArray的互相转换
Android Bitmap 和 ByteArray的互相转换 移动平台图像处理,需要将图像传给native处理,如何传递?将bitmap转换成一个 byte[] 方便传递也方便cpp代码直接处理图像 ...