微信小程序于2016年9月21日发布的内测版,2017年1月9日正式上线,虽然发布比较晚,但是发展势头相当快,现在几乎成为前端开发人员的必备技能之一了。而且任何一个普通的开发者,经过简单的学习和练习后,都可以轻松地完成一个小程序的开发和发布。所以,还不抓紧学起来!
1、什么是微信小程序
微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。简单的说:小程序是微信生态的一部分,它提供了一种更加方便和高效的用户交互方式。从哪里能看出方便和高效?比如手机用户需要查看天气预报,之前需要下载一款关于天气的手机 App,而且需要安装以及不定时的更新,但是自从有了小程序,手机用户只需要打开手机微信,打开小程序,即可查看天气了,方便又高效。
2、小程序带来的好处
(1)用户使用的便捷性:普通手机 App 的使用过程:了解 App -下载-打开-注册-使用 。
小程序版本的 App 的使用过程:了解 App-打开(扫码/搜索)-使用。
(2)用户使用体验效果好:相比公众号和 H5 页面的体验,使用小程序的体验极高。
(3)释放手机内存空间:安装很多 App 会导致手机空间不足,而小程序不需要安装,而且有规定的大小
(目前规定不能超过8M,包括在使用分包的情况下);
(4)让手机桌面更加简洁:不需要下载 App,就不需要花时间来管理自己的 App 了;
3、小程序开发的必要性
(1)开发出来的小程序,用户体验优于 H5 的体验,并且底层可以调用原生的各种接口
(2)小程序开发完成之后,可以做到 一端开发,多端运行(iOS端、Android端);
4、小程序的几个特点
(1)类似于Web开发模式,入门的门槛低:基本上是类似于html+css+js;
(1)可直接云端更新:微信审核,无需经过 App Store 等平台;
(3)提升用户体验:通过提供基础能力、原生组件结合等方式,提升用户体验;
(4)平台管控能力:小程序提供云端更新,通过代码上传、审核等方式,增强对开发者的管控能力;
(5)双线程模型:逻辑层和渲染层分开加载,提供了管控型和安全性(沙盒环境运行JS代码,不允许执行任何和浏览器相关的接口,比如跳转页面、操作DOM等);
5、小程序与普通网页开发的区别
小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性。对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高,但是二者还是有些许区别的。
网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。
6、开发前的准备工作
(1)到微信公众平台注册小程序开发账号:传送门
(2)下载并安装微信小程序开发者工具:传送门
注册开发账号之后,系统会给每个微信开发者办法一个 AppID,在创建项目的时候需要填写该 AppID。
详细的步骤介绍可以参考官方文档:传送门