小程序开发篇(一) 基础

201 阅读3分钟

小程序开发与网页开发的区别:

小程序开发网页开发
页面结构WXMLHTML
页面样式WXSSCSS
交互响应JavaScriptJavaScript

在小程序开发中建议编写样式时多使用flex布局;支持TypeScript;也可以自行搭建less、sass开发环境

  • 网页开发中的渲染线程和脚本线程是互斥的,长时间的脚本运行可能会导致页面失去响应
  • 网页开发者可以使用到各种浏览器暴露出来的DOM API,进行DOM选中和操作
  • 在小程序开发中,页面渲染和业务逻辑渲染是分开的,分别运行在不同的线程中
  • 逻辑层运行在JSCore中,并没有一个完整的浏览器对象,因而缺少相关的DOM APIBOM API
  • 因此非常熟悉的一些库,例如jQueryZepto等,在小程序中是无法运行的;因为这两个框架都是基于DOM

  • 同时JSCore的环境同NodeJS环境也是不完全相同的,所以一些npm的包在小程序中也是无法使用的、

  • 由于小程序的渲染层和逻辑层是双线程处理的,所以小程序的性能是介于纯网页开发与原生(native)开发之间

当小程序的运行环境不同的时候,其对应的逻辑层和渲染层所依赖的环境也是不同的:
运行环境逻辑层(也就是我们的脚本)渲染层
iOSJavaScriptCoreWKWebView
AndroidV8Chromium定制内核
开发者工具NWJSChrom WebView
小程序的四大特性:
  • 无需安装
  • 触手可及
  • 用完即走
  • 无需卸载

微信小程序有点像是嵌在微信中的“APP”,但是官方对小程序的安装包(release包)有大小限制,比如目前的限制是不能超过2M,这一点也是为了让用户能够快速的打开小程序;小程序的一些应用场景:不经常使用、但是刚需、不会停留太久的简单工具

小程序开发与APP的区别:

  1. 安装使用:

小程序:无需安装、无需卸载、简单易用、占用内存较小

APP:需要主动联网下载安装APP,不想用了需要主动卸载

  1. 开发:

小程序:跨平台、开发门槛低、开发周期短、开发成本低

APP:开发成本高,每一个平台都需要维护一套代码(目前也有ReactNativeFlutter等跨平台方案)

  1. 发布上线:

小程序:提交到微信公众平台审核

APP:提交到应用商店审核

4、小程序的用户体验、功能复杂度 、开放性不如APP ,其主要做的是一些轻量的东西

目录结构:

小程序主要包括一个描述整体程序的app和多个描述各自页面的page

  1. app部分由3个文件组成,必须要放在项目的根目录中,并且文件名是固定的
文件必须作用
app.js小程序逻辑
app.json全局配置
app.wxss全局公共样式表
  1. 一个页面由4个文件组成(这些文件必须在同一个文件夹下面,并且要具备相同的文件名)
文件必须作用
js页面逻辑
wxml页面结构
json页面配置
wxss页面样式表

尺寸单位:

在网页开发中,我们可能已经习惯用px来作为尺寸大小的单位,但是小程序通常是要在各种各样型号的设备上运行的,这些设备的尺寸有大有小,如果我们还是用像素px来做单位的话,很可能会出现在不同设备上显示比例不协调的问题

  • rpx:可以根据屏幕宽度进行自适应,规定屏幕的宽度都是750rpx
  • 如在iPhone6上,屏幕宽度为375px,则750rpx=375px=750物理像素,1rpx=0.5px=1物理像素
  • 官方建议: 开发小程序时尽量用iPhone6作为视觉稿的标准