微信小程序首次官方分享的纪要
先交代备注:
- 这次有关小程序的分享只有技术的 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 函数时,页面可以表示改页面可以转发.可以在函数中设置页面转发的信息 ...
随机推荐
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- [原创]mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...
- C# 条形码操作【源码下载】
本篇介绍通过C#生成和读取一维码.二维码的操作. 目录 1. 介绍:介绍条形码.条形码的分类以及ZXing.Net类库. 2. 一维码操作:包含对一维码的生成.读取操作. 3. 二维码操作:包含对二维 ...
- python 数据类型---文件二
1.打印进度条 import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() #不等缓冲 ...
- cocos2dx调用浏览器打开网址
安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplicat ...
- 极光推送和友盟推送,ios端和安卓端的后端调试设置
我是最后端的,这两天搞了一个app项目,前端安卓使用友盟很方便,调试比较顺利,然后ios就遇到各种问题了,证书.发送成功推送不成功,测试时用的TestMode(),ios上架之后就必须用product ...
- form表单验证-Javascript
Form表单验证: js基础考试内容,form表单验证,正则表达式,blur事件,自动获取数组,以及css布局样式,动态清除等.完整代码如下: <!DOCTYPE html PUBLIC &qu ...
- IOS之Objective-C学习 ARC下的单例模式
单例模式是我常用的一种设计模式,最常见的用途就是用来保存数据并且传递数据.这都归功于单例模式的特性,首先就让我为大家简单介绍一下单例模式的特性. 单例模式的三大特性: 1.某个类只能有一个实例: 2. ...
- linux常用命令(1)cd命令
1 命令格式:cd [目录名]2 命令功能切换当前目录至dirName3 常用范例3.1 进入系统根目录cd /3.2 进入上级目录cd .. 或者 cd ..//3.3 进入当前用户主目录当前用 ...
- 解决 Error: getaddrinfo EADDRINFO 错误
安装npm失败,提示Error: getaddrinfo EADDRINFO,原因在于虚拟机未连接互联网,悲剧.