一、微信小程序开发概述
1.1 微信小程序的特点
微信平台推出的微信小程序,是一种基于开放技术的服务,旨在为企业和用户搭建便捷的移动端轻应用。这类应用无需下载和安装,用户只需扫描二维码或搜索即可轻松使用。此外,用户无需担忧手机空间因安装过多应用而不足的问题。微信小程序的问世,使得其与订阅号、服务号、企业号一同构成了微信的企业应用生态圈。
微信小程序依托于微信平台,而该平台已对众多手机操作系统实现了兼容性处理。基于微信小程序进行的应用开发,无需额外适配不同平台,完成开发后即可在多个平台上直接运行,从而显著降低了应用开发的难度。
针对传统H5应用的种种缺陷,微信小程序在用户交互性能方面进行了大量改进,从而使得其应用在用户体验上,尤其在某些方面,已与App相媲美。
微信小程序并未采纳网页编程中的CSS3技术,而是采用了腾讯自创的技术规范和架构。尽管如此,微信小程序的开发过程与网页编程及微信公众号编程有着诸多相似之处,因此,对于前端开发者来说,将网页开发技能迁移至微信小程序开发,所需的成本相对较低。微信小程序采纳了前端开发领域主流的数据、样式与控制逻辑分离的原则,将每个页面细分为四个独立文件:WXML文件、WXSS文件、JSON文件以及JS文件。在这四个文件中,JS文件遵循标准语法规则,主要负责执行逻辑操作;JSON文件依照JSON语法规范编写,主要负责页面配置;WXML文件则基于XML语法规范,主要负责描述页面的视觉组件。WXSS沿袭了CSS的规范语法,并应用于WXML组件样式的设定。
在网页开发领域,渲染线程与脚本线程通常是相互排斥的;然而,在微信小程序中,这两种线程是独立运作的,各自在各自的线程上运行。具体来说,微信小程序的渲染层和逻辑层各自由不同的线程进行管理:渲染层的界面是通过某种方式进行渲染的,而逻辑层则是利用线程来执行脚本。该小程序拥有多个界面,因此其渲染层设有多个线程。这些线程之间的信息交流需通过微信客户端进行中转,而逻辑层在发送网络请求时,信息同样会经过这一转发过程。具体的小程序通信模型,请参照图中展示的内容。
网页设计者能够借助浏览器提供的DOM接口来对网页元素进行操作。在小程序架构中,逻辑部分与展示部分是独立存在的,逻辑部分在后台运行,不拥有完整的浏览器环境,因此无法直接访问DOM接口和浏览器对象模型接口。这种结构上的差异使得一些前端框架和库,诸如某些知名的前端工具,在小程序平台上无法正常工作。同样的环境条件各有差异,因此某些NPM软件包在小程序平台上的运行可能会遇到问题。
每次小程序启动时,都会进行版本检查,确认是否存在更新的版本。一旦发现新版本,便会将新版本的代码包下载至本地。因此,小程序的页面加载完全依赖于本地资源,无需频繁发起网络请求以获取页面文件。此外,页面间的跳转也无需与服务端进行任何交互。小程序的运行效率将显著提升,相较于H5的Web应用模式,它能够提供更优质的用户体验,操作更加顺滑,响应速度也更为迅速。此外,即便在没有网络连接的情况下,用户依然能够使用微信小程序。借助本地存储功能,小程序能够应对网络中断或网络状况不佳的情况,这一功能是微信服务号和H5所不具备的。
微信小程序的问世,为开发者开辟了一个全新的应用开发平台。他们不仅可以选择开发APP、H5网页或者微信公众号,而且还可以通过微信小程序来打造移动端应用。接下来,我们将对微信小程序、APP和微信公众号这三个产品进行逐一对比,以便大家能够充分认识到它们各自的长处与短处,从而在开发应用时能够作出更为恰当的决策。
小程序与App的区别
该应用程序,通常简称为App,其性能卓越,用户体验优良,并且具备完善的组件支持和丰富的接口。然而,App也存在若干不足之处,主要包括:
微信小程序与微信公众号
微信小程序和微信公众号(服务号)在功能上存在一定交集,均适用于企业级应用开发。尤其是在微信初期,仅提供微信公众号服务,企业应用大多依赖微信公众号完成。本质上,微信公众号属于H5应用范畴,继承了传统H5应用的特性,比如每次页面刷新都需要从服务器获取内容。尽管微信公众号同样具备提供业务服务的能力,但在用户体验方面,与PP相比存在显著不足。微信小程序的宗旨在于增强应用的体验感,力求达到APP的级别。正因如此,微信小程序的推出,使得其与微信公众号在定位上产生了显著的不同。对此,我们可以依据以下标准来做出选择:
小程序主要针对产品和服务进行开发,其核心目标是实现各项业务功能,并致力于构建一个线上线下相结合的企业服务环境。
微信公众号主要针对企业和个人的营销推广以及信息交流需求而设立,它代表了一种新兴的信息传播途径。这种平台依托于粉丝经济模式,通过引入H5技术,在公众号内部实现了多项基础营销和互动功能的提供。
微信小程序在用户交互性能方面进行了大量优化,其使用感受已接近App。相较之下,公众号的开发则是依托H5技术来达成交互效果,其运行环境依赖浏览器,与手机网页应用无异。因此,微信公众号通常适用于业务逻辑和交互较为简单的应用场景,而那些体验优秀的应用则更适宜通过小程序进行创建或重构。
微信平台对微信小程序开放了更多接口功能,使其基本能够满足多数行业的需求。与公众号相比,小程序在视频直播、商城、小游戏等互动性较强的领域表现更为出色。而公众号则更适合开发用户交互较少的应用,例如微商城、微官网等。
微信公众号与小程序各自拥有特定的应用领域,然而在实际操作中,它们并非必须二选一。企业完全有可能同时拥有微信公众号和小程序。企业通常利用微信小程序来提供业务服务,并通过公众号来进行宣传和营销活动。微信公众号需独立申请,而微信小程序则既可以独立申请,亦可通过微信公众号便捷地申请。对于尚未拥有公众号和小程序的商家而言,他们应当遵循的注册步骤是首先申请微信公众号的认证,紧接着在公众号的【小程序管理】界面内便捷地完成小程序的注册。这种微信公众号与小程序相结合的模式,现已成为企业运营和推广的标配。
1.2 微信小程序开发过程 1.2.1 注册小程序
要开发微信小程序,首先必须注册一个专属的小程序账户。账户注册成功后,需登录微信小程序的管理界面。在此,需完成小程序开发者的绑定以及开发信息的设置。之后,开发者便可以下载相应的开发工具,并利用这些工具开始小程序的实际开发工作。
微信公众号需独立进行注册和申请,同样,微信小程序的注册也具备这一特点,既可以独立完成,亦可通过微信公众号的便捷通道快速进行。对于那些尚未拥有公众号和小程序的商家而言,他们应遵循的注册步骤是:首先申请公众号的认证,随后在公众号的管理后台中,进入【小程序管理】页面,便可迅速申请注册小程序。若需访问微信公众平台的官方网站,请访问:。注册微信小程序需提供电子邮箱作为用户名,完成注册后,用户可通过该邮箱与密码登录微信小程序管理界面。为了便于开发者进行功能开发和实际体验,他们可以申请获得测试账号,并利用该账号在开发工具中创建项目,进行开发测试,同时也能在真实设备上预览和测试小程序效果。开发者通过使用小程序的测试账号,成功绕过了复杂的注册手续,大幅减少了初次涉足小程序开发的难度。申请测试账号的路径如下:
1.2.2 小程序开发配置
在成功完成小程序账号的申请流程后,必须登录至小程序的管理界面,对小程序的各项参数进行配置,包括但不限于输入小程序的名称、上传头像、撰写介绍内容以及明确服务领域等基本信息。
在【开发】菜单下的【开发管理】页面,您可以查看到小程序的相关信息。这些信息,相当于小程序平台上的一个身份标识,您在未来的使用过程中将会频繁地使用到它。
在进行小程序开发之前,必须先在微信小程序后台将负责开发的工作人员微信号纳入项目成员名单。只有被列入项目成员名单的人员,才有权限使用微信小程序开发工具进行开发、调试以及上传程序包等操作。建议将所有研发人员纳入项目成员,而对于项目组中非开发人员若想体验小程序功能,则需将其添加为体验成员。
1.2.3 使用开发者工具开发小程序
小程序基于渲染与逻辑分离的运行模式,与常规网页的运作方式不尽相同,导致无法直接运用常规网页编程中的开发与调试工具。为此,微信特别研发了一款集成化开发环境——微信开发者工具。借助这一工具,开发者能够轻松实现小程序的代码编写、编译执行、界面与逻辑调试、真机预览以及版本提交和发布等工作。
开发文档中提供了小程序开发工具的下载链接,亦或您可通过指定网址直接访问下载页面。在该页面,您需根据所使用的操作系统选择相应的安装包进行下载与安装。此外,还需留意,该工具仅对7.0及以上版本的操作系统提供支持,而在Mac系统上,则需OS X 10.8或更高版本。此外,值得注意的是,微信小程序的Web开发工具在启用前,必须通过扫描二维码进行账户登录,因此在使用之前,开发者必须确保已经完成了账户的绑定。
初次运用开发者工具对小程序进行调试时,可能会遇到“不在合法域名列表中”的报错提示。这种情况发生的原因是在小程序中执行了wx.请求,而该请求的域名却未在后台管理界面进行相应的配置。若需调整服务器域名,请前往小程序管理后台,按照路径【开发】→【开发管理】→【开发设置】→【服务器域名】进行操作。配置过程中需留意:仅限于使用(wx.、wx.、wx.)等域名,并支持wss(wx.)协议。请勿使用IP地址进行配置(小程序内局域网IP地址除外),亦不可使用空域名。
为了减少开发难度,开发者工具增设了一项功能,即便未申请服务器域名,也能对小程式进行编写与测试。在微信开发者工具中,只需点击【详情】,然后勾选【不校验合法域名】,即可顺利运用wx.函数发起网络请求。然而,必须明确的是,这样做仅仅是为了简化开发过程,然而当小程序正式发布并上线后,这种方法便不再适用,此时必须设置一个合法的域名。
在使用小程序并引用第三方页面时,运行调试过程中可能会遇到“页面无法找到”的错误提示。遇到这种情况,需要调整业务域名设置。鉴于微信小程序的特定限制,无法在Web-view中任意跳转至H5页面,因此必须先对业务域名进行配置,之后方可在Web-view中实现H5页面的跳转。
业务域名的使用必须遵循协议规定,并且必须完成ICP备案程序。在配置业务域名时,需下载相应的验证文件,然后将该文件存放在域名的根目录中,同时要保证该文件能够被顺利访问。
1.2.4 审核与发布
小程序开发完成后,需将代码提交给微信团队进行审查。审查通过后,方可进行发布。关于发布的具体步骤和说明,请查阅后续章节内容。
1.3 第一个小程序
启动微信小程序开发工具,扫描二维码完成身份验证,随后进入小程序的项目管理页面。
在点击小程序项目管理界面中央的添加小程序提示区域后,您将直接进入小程序新建项目的专用界面。
微信小程序的创建需指定一个项目,相关信息可于小程序管理后台界面查阅,详细步骤可参考1.2.2章节。进入图1-9界面后,需挑选小程序项目,输入项目名称,并选定代码存储位置。随后,输入在管理后台获取的信息,选择不使用云服务,点击“新建”按钮,即可成功创建首个小程序项目。
在创建微信小程序项目并运用微信小程序开发者工具的过程中,该工具会自动生成一系列示例代码。在实际的开发过程中,这些预置的代码往往会被移除。为了更迅速地掌握微信小程序的架构,我们同样会舍弃这些示例代码,并从零开始构建一个基础的小程序,该小程序的功能仅限于输出单行文字: 。
在Demo项目的根目录位置,首先需建立一个名为app.json的文件,并按照以下内容进行编辑。
{ "pages":[ "pages/index/index" ]}
在Demo项目的根目录位置,首先需要创建一个新的子目录,紧接着在该子目录内部再建立另一个子目录,之后,在该第二个子目录中,需要建立两个文件,分别是扩展名为.wxml和.js的文件。
.wxml的内容为:
{{motto}}
.js的内容为:
Page({ data: { motto: 'Hello World', }, onLoad() { }})
完成上述步骤后开发者工具的结构如下:
在微信小程序开发者工具中,通过点击“编译”功能,该工具将对demo项目的相关内容执行编译操作,随后在模拟器界面上直观地展示出编译后的效果。