微信小程序开发系统分析及在校园中具体场景的实现

2021-04-20 14:38陈鹏旭桑园
网络安全技术与应用 2021年3期
关键词:开发者架构框架

◆陈鹏旭 桑园

微信小程序开发系统分析及在校园中具体场景的实现

◆陈鹏旭 桑园通讯作者

(郑州西亚斯学院 河南 451150)

随着社会和信息传播载体的多样化发展,人们更加注重信息的收发效率、传播速度,也对信息的整合程度提出了更高的要求。小程序作为一款具有便捷、微小并且不需要下载和安装就可使用的软件,使用户真正体验到了“用完即走”的理念,而这一理念也解决了之前用户因程序安装过多而带来的手机内存冗余的问题,其次小程序的开发不仅在Android平台适用也同样在iOS平台适用,极大地减少了开发者的工作负担,也降低了开发成本,这也因此使小程序逐渐被许多开发者和用户所青睐。除此之外,微信小程序是一款以主流社交软件微信为载体,并在其基础上拓展微信功能的软件,在以微信为基础之上开发的微信小程序相比于普通手机APP软件将更容易被用户所接受,也更符合互联网及社会发展的方向。文章将对微信小程序的系统框架、关键技术、以及平台特点和应用前景进行研究,为开发者提供一种可行的思路。

微信小程序;软件;小程序开发

2019年,“酷鹅”用户研究发布《2019年微信小程序用户行为研究报告》,报告指出以微信搭建的社交、电商、娱乐为一体化的微信生态和板块发展形势良好。首先,小程序依靠微信的流量以及生态链的聚合、完善,在电商、零售、直播、娱乐、社交等领域逐步占据着越来越多的市场,截至2018年底,微信用户规模已超6亿,越来越多的开发者也正在使用小程序去代替常规APP,从而简化用户的使用操作,方便用户。其次,微信是基于MINA网络通信应用框架开发的,拥有调用微信开放平台API接口、微信事件通知、业务请求等功能,相较于基于HTML5技术和浏览器Device Mode实现前后端交互的动态网页,小程序拥有自己的一套开发工具,可以实现更多定制的功能,同时微信也面向所有组织和开发者开放免费注册,并提供开发者平台、开发指导、项目管理、调用组件说明以及调试等功能。

1 平台整体架构

1.1 网络架构

微信小程序采用了最先出现的C/S(Client-Sever)网络架构模式,通过wx.request或者socket连接服务器。C/S结构通常采取两层结构,服务器负责对数据的管理,而客户机则负责与用户的交互对接任务。C/S架构帮助小程序得以实现高效运行和数据传输、在线帮助、错误提示等功能,并且该结构的主要特点为增强程序的交互性,具有安全的存取模式,响应速度较快等,有利于对大量数据的处理、优化高并发、多线程网络拥堵现象,更适合小型的局域网,且相较于B/S架构更能保证对用户群的固定以及对用户信息安全的需求可以实现多方位的保障。C/S概述如图1所示。

图1 C/S概述图

1.2 前后端架构

微信小程序前端基于MINA框架搭建,样式上基于ElementUi样式库。MINA框架是通用的网络通信框架,该框架核心为实时响应的数据绑定系统,且采用MVVM模式。MINA框架保障了系统的视图层和逻辑层的数据同步,当数据需要更新时,开发者通过对逻辑层的操作则可以快速达到在视图层自动响应并更新的效果,方便了开发者在开发过程中的操作。MINA框架在小程序中的架构如图2所示。

小程序后端架构采用分布式架构,由开发者对接微信开发平台API接口,通过调用来接收微信服务器发送的数据,并回调以做出回复响应。在整体小程序后端架构中,主服务器作为核心部分负责静态资源管理、微信服务器回调、API调用等一系列组件功能,从而实现小程序开发的部分功能。在一般第三方平台使用的后端架构中,主服务器负责和云服务器连接传送静态资源,进行对对象的存储及实现其他云服务功能,并通过API和数据库建立连接传输数据。业务服务器作为普通的应用服务器提供小程序业务接口的实现,通过分布式中间件配合Redis数据库实现和主服务器部分数据共享。小程序后端架构如图3所示。

1.3 组件结构

小程序包含一个描述整体程序的App和多个描述各自页面的Page。小程序整体程序文件结构由App.js、App.WXSS、App.json三部分主要组成,在Pages下又划分4个文件:WXML文件、WXSS文件、js文件、json文件,这4个文件组成视图层和逻辑层两部分。其中,App.js作用为小程序逻辑代码,App.json作用为小程序公共配置,App.wxss作用为小程序公共样式表,js作用为页面逻辑,WXML作用为页面结构,json作用为页面配置、WXSS作用为页面样式表。

图2 MINA框架在小程序中的架构

图3 小程序后端架构

2 关键技术

2.1 API

在微信小程序的关键技术中使用API无疑是最重要和便捷的一门技术。在底层框架里,微信开发者工具是一个基于ne.js,使用API等工具来实现底层模块,使用react、redux等技术来实现用户交互功能,使代码具有跨平台性。微信开发者平台提供了一套非常全面的API调用说明和实例演示,方便开发者去开发小程序。API按照功能属性包括:网络、用户管理、媒体、数据缓存、设备、智能、界面、微信卡券、微信门店等接口。

2.2 更新机制

小程序的启动机制分为两种情况:冷启动和热启动。更新机制可以分为启动时更新和未启动时的更新。

在程序未启动的时候,如果用户本地曾经打开过小程序并且缓存有小程序的历史版本,再次打开小程序的时候将会默认为旧版本,而这一情况造成了一些影响:如开发者在管理后台更新了小程序版本,并不能直接影响到正在使用的所有用户。这种机制可以看作是对用户当前使用体验的一种保护,但同时也可能会给开发者造成一定困扰。

而另一种情况是在程序启动时的更新。与许多软件一样,小程序在每次冷启动的时候,系统都会自动检测当前版本是否是最新版本、是否需要更新。如果检测到开发者后台新版本的发布,小程序将会异步下载新版本的组件和代码,同时使用客户端本地缓存的代码包启动,新版本的代码包则会等待下一次的程序冷启动时应用。

2.3 生命周期

小程序的生命周期和Android类似,界面线程总共有四个状态:初始化的状态、首次渲染状态、持续渲染状态、结束状态。服务线程可分为五个状态:初始化状态、等待激活状态、激活状态、局部渲染状态、后台运行状态。

3 小程序在校园具体场景应用中的可行性分析

依靠小程序的开发门槛降低、易推广、成本低等特性,目前,对于高校来说,学校可以通过小程序简化办公流程,将教务、学务等工作移植到小程序上,教师、教辅人员可以通过手机随时随地对学校通知和工作信息进行收发和查阅,而不必通过Web端去登录查询和操作。对于学生的信息录入工作,使用者可以通过扫描二维码登录微信小程序进行注册和填写,同时在小程序上开放学生交流和接收学校、学院通知等功能。进一步地,通过小程序建立以学院或宿舍为单位的社区,开放师生、学生之间的交互功能,在后端接入数据库对学生、教师信息进行统一管理。就使用群体的便利性而言,小程序比手机APP、Web端网页更符合学生的使用习惯。对于网络购物、交流、娱乐等社会服务性功能的开发,小程序为在校学生开发群体提供了更大的施展空间和低成本需求。因此,小程序的开发与应用根植于校园这片土壤,不仅可以简化校园管理程序,给同学们带来更加便捷、高效的校园生活体验,还能为学生提供实战开发经验。

4 小程序的应用前景

相比于目前市场上常见的基于Android操作系统开发的各种APP来说,小程序更加微小、便捷、易于使用和推广,尤其重要的是小程序的出现解决了目前APP占用手机内存大,启动速度慢等问题外,也对程序占用手机运行内存进行了优化,从而较好地解决了手机卡顿的问题。小程序的出现不仅为用户带来了极大的便利,同时也对开发者提供了一个新的机遇和一个全新的市场,开发者可以便捷、高效的利用小程序平台开发出更低成本的程序,且微信小程序在市场的快速推广方面具有先天优势,更适合低成本开发、企业规模较小、资金不充足的微小企业、学生创业者、学校组织等应用需求。微信小程序只需要通过分享二维码就可让用户注册、登录、快速体验和获取信息。

5 总结

随着移动互联网技术的发展和用户市场需求的增加,无论是开发者还是用户都对手机的软件功能和服务多样性提出了更高的要求。而作为新一代的手机软件--微信小程序与传统手机APP和Web端网页相比较,不仅满足了以上的需求,而且具有更为高效的开发流程;更为全面的开发指导和API说明;更为简单的系统开发架构。同时结合小程序本身的特点,其符合目前移动互联网产业发展对新一代手机软件所提出的微小、高效、便捷、易操作的需求特性。综上所述,小程序不仅在不久的将来会拥有更好的市场前景和校园发展空间,而且小程序也为下一代移动互联网软件的开发提供了很好的模板和发展方向。

[1]刘玉佳.微信“小程序”开发的系统实现及前景分析[J].信息通信,2017(1):260-261.

[2]徐星明.微信小程序第三方平台的设计与实现[D].山东大学,2020.

[3]王磊,王皓,基于C/S架构的机场地理信息系统的设计与实现[J].信息技术与网络安全,2020(3):68-72.

[4]李哲,周灵.微信小程序的架构与开发浅析[J].福建电脑,2019(12):66-69.

[5]刘红卫.微信小程序应用探析[J].无线互联科技,2016(23):11-12,40.

[6]郝磊.网络商城微信小程序的设计与实现[D].西北民族大学,2019.

[7]张晓燕.微信“小程序”开发的系统实现及前景[J].电子技术与软件工程,2018(12).

[8]腾讯.微信小程序API[EB/OL].2019.

猜你喜欢
开发者架构框架
基于FPGA的RNN硬件加速架构
框架
功能架构在电子电气架构开发中的应用和实践
广义框架的不相交性
基于云服务的图书馆IT架构
WebGIS架构下的地理信息系统构建研究
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
关于原点对称的不规则Gabor框架的构造
基于Hadoop的DDoS检测框架