浅谈小程序开发 [2018年]

news2024/11/17 19:46:18

      一、问题背景

随着App市场趋近于饱和,大部分用户已经养成了使用习惯,加上开发和推广新的App的成本高,使得开发新的App很难在市场上生存。在此背景下,小程序应运而生,2016年,张小龙的微信团队首次推出了微信小程序。 小程序无需安装卸载,随时可用的优势,再加上国内最流行的社交软件之一——微信的普及,使得微信小程序的访问量和日活用户大幅增长。在微信小程序之后,2018年3月,小米、中兴、华为、联想、魅族等十家手机厂商一起推出了快应用,其本质上也是小程序。可以预见,在未来几年,小程序将是互联网发展的重要趋势之一。这里之所以使用小程序进行在线申办功能开发,就是为了方便群众更好、更快捷地进行办事。 

二、什么是小程序

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念。小程序能够实现消息通知、线下扫码、公众号关联等七大功能。其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。

小程序依附微信生态,使得其传播的速度更快,推广的成本更低。目前,微信客户端更新至 6.5.15 及以上版本,或Android 微信客户端更新至6.5.13 及以上版本,都已经增加了在微信搜索框下方就能找到小程序的快捷入口,这无疑给小程序提供了更多的曝光机会。

以上是小程序的特点和功能优势,下面就小程序开发中的关键步骤进行阐述。

三、小程序开发的关键步骤

一个小程序从开发到发布,整个生命周期主要有以下四个方面:注册账号、安装开发工具、创建小程序、审核发布。如下图:

     1、注册账号

开发小程序的第一步,就是需要在微信公众平台(https://mp.weixin.qq.com/wxopen/waregister?action=step1)注册一个小程序账号,通过这个账号你就可以管理你的小程序。在小程序的管理平台,你可以管理你的小程序的权限,查看数据报表,发布小程序等操作。

     2、安装开发工具

前往开发者工具下载页面(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html),根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 《开发者工具介绍》(https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html)。

     3、创建小程序

在安装完成之后,打开小程序开发者工具,使用微信扫码登录开发者工具,选择小程序项目,然后依次填入项目目录、AppID、项目名称 。接着,点击确定按钮,就得到了你的第一个小程序了。点击微信开发者工具顶部菜单【编译】按钮,就可以预览你的第一个小程序。你也可以点击【预览】按钮,通过微信的扫一扫在手机上体验你的第一个小程序。

 

小程序的目录结构主要划分为两大类,一类是小程序框架文件,位于项目根目录下,包括小程序配置app.json、页面配置app.json、全局样式app.wxss、工具配置project.config.json。另一类是小程序页面文件,位于pages目录下,主要由4个部分组成,分别为以.json为后缀的配置文件,.wxml为后缀的模板文件,wxss为后缀的样式文件,.js为后缀的逻辑文件。

     4、审核发布

小程序的上线发布,主要需要经过三个步骤,分别是微信认证、完善小程序信息、版本发布。

这里重点谈一下小程序的版本发布,小程序的版本发布主要包括以下三个方面:上传代码、提交审核、发布。

(1)上传代码

点击开发者工具顶部操作栏的上传按钮,填写版本号以及项目备注,需要注意的是,这里版本号以及项目备注是为了方便管理员检查版本使用的,开发者可以根据自己的实际要求来填写这两个字段。

(2)提交审核

为了保证小程序的质量,以及符合相关的规范,小程序的发布是需要经过审核的。在开发者工具中上传了小程序代码之后,登录“小程序管理后台-开发管理-开发版本”找到提交上传的版本。在开发版本的列表中,点击“提交审核” ,按照页面提示,填写相关的信息,即可以将小程序提交审核。

需要注意的是,请开发者严格测试了版本之后,再提交审核,过多的审核不通过,可能会影响后续的时间。

(3)发布

审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时登录“小程序管理后台-开发管理-审核版本”中可以看到通过审核的版本。代码审核通过后,需要开发者手动点击发布,小程序才会发布到线上提供服务。

四、经验总结

在小程序的开发过程中,会遇到各种各样的问题,这里就个人在开发中遇到的两个较为典型的问题进行介绍。

我们知道,有时候用户在点击【上一步】或【下一步】操作按钮时,很希望系统能够自动帮我们把之前填写过的内容自动填充进来,避免再次填写的重复操作。那么,如何在小程序中实现这个功能需求呢?为了解决这个问题,我通过上网查询相关资料,发现小程序有提供数据缓存的机制。只要通过调用对应的API,就可以实现将已填写的信息保存到缓存中,在需要时再从缓存中读取,这样就很好的解决了数据自动填充的需求了。

在开发中遇到的第二个问题,就是表单的校验问题。几乎所有的表单,都离不开校验。小程序的表单组件没有自带的校验功能,所以只能自己裸写验证规则,但是针对每一个组件单独写验证规则,代码的重复的部分会比较多。后来在同事的帮助下,找到了官方社区开发的WxValidate插件,它是参考 jQuery Validate 封装的,为小程序表单提供了一套常用的验证规则。就这样,通过引入第三方插件,很好地解决了表单验证的问题。

以上是本人在开发过程遇到过的两个较为典型的问题和解决方法,当然还遇到过其他很多问题,这里就不一一介绍了。据了解,目前除了微信推出了小程序,支付宝也已推出了小程序,在未来几年里,小程序很有可能会是互联网发展的一个重要的方向,相关的技术也会日趋完善,让我们一起期待小程序为我们的生活带来更多的便捷吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/707179.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vmware虚拟机无法启动修复

虚拟机场景报错:Entering emergency mode. Exit the shell to continue. #输入journalctl journalctl #如果出现以下描述: failed to mount /sysroot. Dependency failed for Initrd root File System. Dependency failed for Reload configuration fro…

信息服务上线渗透检测网络安全检查报告和解决方案4(网站风险等级评定标准、漏洞危害分级标准、漏洞安全建议)

系列文章目录 信息服务上线渗透检测网络安全检查报告和解决方案3(系统漏洞扫描、相对路径覆盖RPO漏洞、nginx漏洞修复)信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)信息服务上线渗透检测网…

CCF-CSP真题《202303-2 垦田计划》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202303-2试题名称:垦田计划时间限制:1.0s内存限制:512.0MB问题描述: 问题描述 顿顿总共选中了 n 块区域准备开垦田地&#xf…

交换机是否会梦见机器学习?面向网络内分类

交换机是否会梦见机器学习?面向网络内分类 摘要 机器学习目前正在推动技术和社会革命。虽然可编程交换机已被证明对网络内计算非常有用,但是在可编程交换机内进行机器学习迄今为止取得了很少的成功。不利用网络设备进行机器学习会付出高昂的代价&#…

华为OD机试真题 JavaScript 实现【寻找峰值】【牛客练习题】

一、题目描述 给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。 1.峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于; 2.假设 nums[-1] n…

【容器起不来~tomcat】

记录一次线上容器~tomcat起不来的场景: **部门由于资金有限,只能用tomcat去部署,话不多说直接贴图: Docker 镜像 Tomcat 启动失败– 查看线上日志,日志报错了,报错内容如下: 1,Error response from daemon: driver failed programming external connectivityon endpoint jen…

Safari开发者工具

Safari开发者工具 1 开发者功能2 开发者功能可以干什么2.1 捕获模拟器的请求 1 开发者功能 Safari->首选项->高级->开启“在菜单栏中显示‘开发’菜单” 2 开发者功能可以干什么 2.1 捕获模拟器的请求 当我们向查看模拟器上一个完整的网络请求时,往往…

libevent实践06:监听TCP服务器

简介 函数evconnlistener_new_bind struct evconnlistener * evconnlistener_new_bind(struct event_base *base, evconnlistener_cb cb,void *ptr, unsigned flags, int backlog, const struct sockaddr *sa,int socklen) 参数解析: base:事件集合 ev…

Python 字符串的使用

字符串使用 1. 字符串的定义方式 双引号或者单引号括起来的数据,就是字符串。使用三引号括起来也是字符串,并支持换行。 例: # 使用反斜线 对单引号进行转义 name1 i\ Tom name2 "Rose" name3 Tom name4 ""&qu…

8-什么是数组重塑?【视频版】

目录 问题视频解答 问题 视频解答 点击观看: 8-什么是数组重塑?

[mmcv系列] pip安装mmcv记录

文章目录 1.查看torch和cuda版本1.安装1.1从预编译包安装1.2 源码编译安装 2.校验报错:from mmcv import Config 可以直接 参考教程: 找到pip安装,选择自己的cuda和torch版本,复制指令到终端安装即可: 1.查看torch和c…

归并排序的具体实现过程

作者主页:paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《算法详解》专栏,本专栏是针对于大学生,编程小白精心…

TCP三握四挥

TCP三握四挥 TCP最关键的三个步骤:建立连接、数据传输、释放连接,这里的三次握手实现的是服务端和客户端建立连接;四次挥手实现的是服务端和客户端释放连接。 三次握手: 建立数据连接 TCP连接需要三次握手的原因: 三次…

静力触探数据智能预处理(1)

静力触探数据智能预处理(1) 前言 数据处理方式已由手工1.0、计算机辅助2.0到人工智能3.0的趋势发展。现场采集的静力触探数据存在大量的异常数据,需要后期处理;但是目前还未见一个静力触探数据预处理的软件,数据预处…

BN、LN、IN、GN的自我理解

目录 一、Batch Normal 二、Layer Normal 三、Instance Normal 四、Group Normal 五、参考 参考了这两三篇博客,终于理解了这几个概念。 一、Batch Normal Batch Normal,举例来说:输入一个batch size,这个batch size中有2个…

2. Linux组件之数据库连接池

目录 一、数据库连接池1.1 池化技术1.2 数据库连接池及其作用1.3 不使用数据库连接池1.4 使用数据库连接池1.5 长连接和连接池1.6 数据库连接池运行机制1.7 连接池和线程池的关系 二、数据库连接池的设计2.1 mysql 连接池1. 构造函数2. 初始化3. 请求获取连接4. 归还连接5. 析构…

Linux训练营(文件和目录操作)

文章目录 前言一、ls命令二、cd命令三、mkdir命令四、cp命令五、rm命令总结 前言 本篇文章我们来讲解Linux中的文件和目录操作,在这里我们主要使用的是Linux中的命令来操作这些文件和目录,命令是Linux中最基础的部分。 一、ls命令 ls是一个常用的命令…

5-NumPy如何创建N维数组?【视频版】

目录 问题视频解答 问题 视频解答 点击观看: 5-如何创建等N维数组?

C++ 命名空间

假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。 同样的情况也出现在 C 应用程序中。…

DMAR IOMMU页表错误

DMAR: [DMA Write] Request device ......, 设备在进行 DMA 操作的时候,检查页表失败,在 IOMMU 的错误处理函数中会打印详细信息。 如下,出现 DMAR 错误,iova 0x9e4ef2373000 的 PTE 页表没有设置, 而实际…