本文首发于个人博客 : https://ityongzhen.github.io
前言
小程序开发与网页开发有很大的相似性
- 在小程序开发中
- 编写样式时建议多使用 flex 布局
- 支持 TypeScript
- 也可以自行搭建less、sass开发环境
小程序开发 vs 网页开发
网页开发中的渲染线程和脚本线程是互斥的,长时间的脚本运行可能会导致页面失去响应
网页开发者可以使用到各种浏览器暴露出来的DOMAPI,进行DOM选中和操作
在小程序中,页面渲染和业务逻辑是分开的,分别运行在不同的线程中
- 逻辑层运行在JSCore中,并没有一个完整浏览器对象,因而缺少相关的DOMAPI和BOMAPI
- 因此非常熟悉的一些库,例如jQuery、Zepto等,在小程序中是无法运行的
- 同时JSCore的环境同NodeJS环境也是不完全相同的,所以一些NPM的包在小程序中也是无法运行的
小程序的性能介于纯网页开发与原生(native)开发之间
小程序的运行环境
运行环境 | 逻辑层 | 渲染层 |
---|---|---|
iOS | JavaScriptCore | WKWebView |
Android | V8 | chromium定制内核 |
开发者工具 | NWJS | ChromeWebView |
小程序 vs APP
安装使用
- 小程序:无需安装、无需卸载、简单易用、占用内存较小
- APP:需要主动联网下载安装APP、不想用了需要主动卸载
开发
- 小程序:跨平台、开发门槛低、开发周期短、开发成本低(对初创企业来说,是个很好的选择)
- APP:开发成本高、每一个平台都要维护一套代码(目前也有ReactiveNative、Flutter等跨平台方案)
发布上线
- 小程序:提交到微信公众平台审核
- APP:提交到应用商店审核(Apple的AppStore常有审核不通过的情况,审核周期也较长
其他
- 小程序用户体验、功能丰富度、开放性不如APP
相关链接
开发文档 : https://developers.weixin.qq.com/miniprogram/dev/framework/
[开发指南] (https://developers.weixin.qq.com/ebook?action=get_post_info&docid=0008aeea9a8978ab0086a685851c0a ) :https://developers.weixin.qq.com/ebook?action=get_post_info&docid=0008aeea9a8978ab0086a685851c0a
开发工具: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
(官方开发工具不太好用,可以选择VS Code等)
注册小程序
- 注册指南:https://developers.weixin.qq.com/miniprogram/introduction/
- 利用邮箱注册小程序:https://mp.weixin.qq.com/wxopen/waregister?action=step1
- 注册完毕后会有一个小程序的AppID(唯一标识)
开源库
- 微信小程序开源项目库汇总: https://github.com/opendigg/awesome-github-wechat-weapp
- 微信小程序开发资源汇总:https://github.com/justjavac/awesome-wechat-weapp
UI组件库
- https://github.com/TalkingData/iview-weapp
- https://github.com/youzan/vant-weapp
- https://github.com/meili/minui
- https://github.com/wux-weapp/wux-weapp
- https://github.com/weilanwl/ColorUI
- 微信官方:https://github.com/Tencent/weui-wxss
- 京东凹凸实验室:https://github.com/NervJS/taro-ui
QQ交流群:592831498