微信小程序简介、发展史、小程序的优点、申请账号、开发工具、初识wxml文件和wxss文件

微信小程序介绍:

小程序简介:

小程序是一种连接用户与服务的方式,它能在微信内被便捷地获取和传播,具有出色的使用体验。

不需要下载安装,用户通过搜一搜或扫一扫就可以打开使用,使用完后退出即可。

小程序是基于微信的开发平台,属于微信内部。

发展史:

微信中的 WebView 逐渐成为移动 Web 的一个入口时,微信就有相关的 JS API 出现了,也就是说,微信小程序开发中会用到javascript。

2015年初,微信发布了一整套网页开发工具包,称之为 JS-SDK,开放了拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等几十个API,供web开发者开发使用,但是它也有很多不足,例如白屏等问题,为解决这类问题,于是诞生了小程序。

小程序的优点:

1.快速的加载

2.更强大的能力

3.原生的体验

4.易用且安全的微信数据开放

5.高效和简单的开发

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

小程序的主要开发语言是 JavaScript ,小程序的开发同普通网页开发有很大的相似性。对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高,但是二者还是有区别的,其主要区别如下:

    1.网页开发中渲染线程和脚本线程是互斥的,这使得长时间的脚本运行可能会导致页面失去响应;而在小程序中,二者是分开的,分别运行在不同的线程中,不会失去响应。2.网页开发中可以使用各种浏览器暴露DOM并对其进行操作;而在小程序中,逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有浏览器对象,因此小程序中没有DOM和BOM的操作。3.JSCore 的环境同 NodeJS 环境也不相同,所以一些 NPM 的包在小程序中也是无法运行的。4.网页开发需要面临各种各样的浏览器环境;而小程序只需面临两大系统:iOS和Android,及辅助开发者工具。5.网页开发中只需要使用到浏览器,并搭配一些辅助工具或者编辑器即可;小程序的开发则有所不同,需要经过申请小程序帐号、安装小程序开发者工具、配置项目等才可以。

申请账号:

想要开发一款小程序,首先需要申请一个小程序账号,通过这个账号就可以管理自己的小程序;其步骤如下:

    1.打开官网:https://mp.weixin.qq.com/进入微信公众平台,点立即注册,选择小程序2.在小程序注册页面根据指引填写相关资料并注册。3.到注册邮箱查阅邮件,点击邮件中的链接地址进行信息登记并继续后确认4.重新进入网址:https://mp.weixin.qq.com扫码登录进入小程序页面,开发---开发管理---开发设置,获取AppID(小程序ID,相当于一个身份证,后面会用到,这里需要知道自己的AppID即可)

安装开发工具:

微信小程序有自己的开发工具(当然你可以使用自己的编辑器编写代码),获取完AppID后,在当前页面进行下载开发者工具,具体步骤如下:

    1.单击开发----开发工具---开发者工具---下载---选择对应自己电脑系统版本下载应用2.将下载好的应用双击,接受用户协议,安装目录可自愿修改,之后进行安装。3.通过以上两步就已经安装完微信开发工具了,想要了解更多微信工具的使用,可阅读官方文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html

第一个微信小程序:

安装完开发工具后,可以使用它开发一个小demo先简单测试一下,其步骤如下:

    1.在桌面找到新安装的微信开发者工具并双击。2.使用微信扫描弹出的二维码进入开发者工具界面(首次打开需要扫码登陆)。3.在小程序项目---小程序中点击加号(+)填写项目配置,AppID可使用自己注册小程序时的AppID(也可选择测试号)4.选择着默认模板,其他配置默认即可,最后勾选用户协议点击新建。5.此时在开发工具模拟器中会看到自己微信的头像和hello world,此时表明第一个微信小程序已经创建成功。

小程序代码构成:

上面生成的demo项目文件目录机构如下:

在这里插入图片描述

一个基础的小程序由四种文件构成,分别是:

1.json 后缀的 JSON 配置文件

2.wxml 后缀的 WXML 模板文件

3.wxss 后缀的 WXSS 样式文件

4.js后缀的 JS 脚本逻辑文件

下面是对上面文件的详细介绍:

.json文件:

此文件用于静态配置,项目根目录下app.json文件是当前小程序的全局配置,包括小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等,app.json基础配置如下(json文件中不能添加注释,这里为了方便说明以//开始的表示注释,使用此配置信息时,将注释删除即可):

    {"pages":[//1.pages:用于配置所有页面路径,默认会进入第一个路径指定的页面。"pages/index/index",//当在这里配置完新页面保存后,pages下会自动生成对应的页面文件,只需修改自动生成的文件即可。"pages/logs/logs"],"entryPagePath": "pages/logs/logs",//2.entryPagePath:配置小程序默认启动首页,不配置此项默认会选择pages配置中的第一项。"window":{//3.window:配置小程序所有页面的顶部背景颜色,文字颜色等。"navigationBarBackgroundColor": "#ff0",//3-1设置顶部导航背景颜色,支持十六进制颜色值。"navigationBarTitleText": "微信小程序测试",//3-2设置顶部导航标题文本。"navigationBarTextStyle":"black",//3-3设置顶部导航标题字体颜色,其值只能是black和white默认值。"navigationStyle":"default",//3-4配置导航栏样式,默认值defalult,还有一值:custom导航栏标题及背景都会消失,仅右上角胶囊按钮存在。"backgroundColor":"#ffffff",//3-5配置窗口的背景色,默认值:#ffffff,支持十六进制颜色值。"backgroundTextStyle":"dark",//3-6配置下拉loading的样式,仅支持 dark默认值和light。"backgroundColorTop":"#666",//3-7设置顶部窗口的背景色,仅iOS支持,默认值:#ffffff。"backgroundColorBottom":"#555",//3-8设置底部窗口的背景色,仅iOS支持,默认值:#ffffff。"enablePullDownRefresh":true,//3-9设置是否开启全局下拉刷新,默认值为false。"onReachBottomDistance":50,//3-10设置当页面上拉距底部某个距离后触发事件,单位为px,默认值50,例如下拉加载更多数据。"pageOrientation":"auto"//3-11设置屏幕旋转时小程序是否跟随设备旋转(横竖屏显示),其值:portrait默认值,设备旋转时,小程序不旋转、landscape设备旋转小程序旋转保持与视线不变、auto自动。},"tabBar":{//4.tabBar:配置tab栏切换按钮。"color":"#fff",//4-1设置tab按钮字体颜色,其值为十六进制颜色值,且为必须项。"selectedColor":"#000",//4-2设置tab按钮被选中时字体颜色,其值为十六进制颜色值,且为必须项。"backgroundColor":"#999",//4-3设置tab栏背景颜色,其值为十六进制颜色值,且为必须项。"borderStyle":"black",//4-4设置tab栏边框颜色,其值为black默认和white。"list":[//4-5设置tab按钮选项,其值为一个每项都是对象的数组,且为必须项,数组元素的个数必须是[2,5]个,不在范围内不显示。{"pagePath":"pages/logs/logs",//4-5-1设置当前要跳转的页面路径。"text":"登录",//4-5-2设置当前按钮文本。"iconPath":"images/tabs/home.png",//4-5-3设置当前按钮点击前icon图标,大小限制为40kb,建议尺寸81px*81px,不支持网络图片。"selectedIconPath":"images/tabs/home-active.png"//4-5-4设置当前按钮点击后icon图标,大小限制为40kb,建议尺寸81px*81px,不支持网络图片。},{"pagePath":"pages/index/index","text":"登录","iconPath":"images/tabs/home.png","selectedIconPath":"images/tabs/home-active.png"}],"position":"top",//4-6设置tab栏的位置,其值:bottom底部,默认、top顶部。"custom":false//4-7自定义设置tabBar,一般忽略此项配置,其默认值为false,当值为true时,需要自定义设计tabBar,否则tabBar将失效,其设计可阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html。},"networkTimeout":{//5.networkTimeout:设置请求超时时间。"request":60000,//5-1设置wx.request的超时时间,默认值为60000,单位值毫秒。"connectSocke":60000,//5-2设置wx.connectSocket的超时时间,默认值为60000,单位值毫秒。"uploadFile":60000,//5-3设置wx.uploadFile的超时时间,默认值为60000,单位值毫秒。"downloadFile":60000//5-4设置wx.downloadFile的超时时间,默认值为60000,单位值毫秒。},//"debug":true,//6.debug:是否开启在开发工具控制台面板显示调试信息(Page 的注册,页面路由,数据更新,事件触发等),便于开发者快速定位问题所在,调试完建议关闭,其默认值为false。//"functionalPages":true,//7.functionalPages是否启用插件功能,默认false,如要启用可阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages.html。//"subpackages":{},//8.subpackages:分包结构配置,用于构建时打包成不同的分包,按需加载,如需配置请阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html。//"workers":'string',//9.workers:设置处理多线程任务时,worker代码放置目录,如需配置请阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html。//"requiredBackgroundModes":string,//10.requiredBackgroundModes设置需要在后台使用的能力,如需配置请阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#requiredBackgroundModes//"plugins":Object,//11.plugins:设置使用到的插件,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html。  //"preloadRule":Object,//12.preloadRule:设置分包预下载规则,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/preload.html。"resizable":true,//13.resizable:设置是否允许在PC上对窗口进行缩放及iPad是否支持屏幕旋转,默认值为false。//"usingComponents":Object,//14.usingComponents:配置自定义组件。//"permission":Object,//15.permission:配置小程序接口权限相关设置,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission。//"sitemapLocation":String,//16.sitemapLocation:配置sitemap.json文件路径,默认在app.json同级目录下。"style":"v2",//17.style:当值为v2时表示启用新版的组件样式。//"useExtendedLib":Object,//18.useExtendedLib:配置引用的扩展库,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#useExtendedLib。//"entranceDeclare":Object,//19.entranceDeclare:配置微信消息用小程序打开,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/location-message.html。//"darkmode":String,//20.darkmode:配置小程序支持 DarkMode,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#darkmode。//"themeLocation":String,//21.themeLocation:配置theme.json 的路径,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#themeLocation。//"lazyCodeLoading":String,//22.lazyCodeLoading:配置自定义组件代码按需注入,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#lazyCodeLoading。//"singlePage":Object,//23.singlePage:配置单页模式相关配置,如需配置可阅读:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#singlePage。}

app.json文件更详细配置文档推荐:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

project.config.json: 对开发工具的配置,使用这个配置后,即使在更换电脑重新安装工具后,将此项目在工具中打开,依旧是自己熟悉的工具配置项。

pages文件夹中json文件: pages文件夹中每个页面下的json文件是对当前页面的配置,当前页面使用此json文件配置页面后,当前页面可以忽略app.json文件的配置。

.wxml文件:

此文件用于小程序骨架,类似网页中的html文件,此文件存在pages文件夹下的页面文件夹中;也是由标签、属性等构成,但是这里的标签和html中的标签有很大的不同,如:

    <view class="container"><text>hello</text></view>

wxml文件和html文件不同之处:

1.标签名有所不同:具体可阅读组件相关文档:https://developers.weixin.qq.com/miniprogram/dev/component/

2.小程序中可以实现:数据绑定、列表渲染、条件渲染、模板等,具体文档推荐:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/

wxss样式:

wxss支持css大部分特性,其文件为后缀.wxss的文件,其不同之处:

1.新增rpx尺寸单位,一个响应式的尺寸单位,把所有设备屏幕尺寸都划分为750rpx,使用rpx可以适配不同屏幕尺寸。

2.仅支持css基础选择器。

js逻辑:

微信小程序中js逻辑代码和网页中js代码基本相似,后面会详细介绍。

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

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

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

相关文章

tia v15 添加项目_硬技能,TIA 博途软件界面的介绍

在前面的文章中给大家介绍了TIA 博途软件的安装包等介绍&#xff0c;这次小编给大家介绍一下TIA 博途软件的界面。#电工学习PLC#你知道吗&#xff0c;在博途软件的自动化项目任务的创建中&#xff0c;我们可以使用portal视图和项目视图。Portal视图是面向任务的视图&#xff0c…

UIImagePickerController按钮的中文问题

UIImagePickerController按钮的中文问题 执行以下两步即可 1. 在targets中设置region为China 2. 在project中添加支持中文 转载于:https://www.cnblogs.com/YouXianMing/p/3935460.html

rsatool使用步骤图解_工作中想要事半功倍?图解来助你

一次会议上&#xff0c;老板让我们进行一场头脑风暴&#xff0c;然后将脑中浮现出来的想法以ppt的形式&#xff0c;在会议上与大家分享。在会上我看到其他区域的同事做的ppt&#xff0c;真的叫一个精美啊&#xff0c;有图形对比、有案例分析、有未来展望。反观自己的&#xff0…

ZRender源码分析2:Storage(Model层)

回顾 上一篇请移步&#xff1a;zrender源码分析1&#xff1a;总体结构 本篇进行ZRender的MVC结构中的M进行分析 总体理解 上篇说到&#xff0c;Storage负责MVC层中的Model&#xff0c;也就是模型&#xff0c;对于zrender来说&#xff0c;这个model就是shape对象&#xff0c;在…

java语言概述、java语言特性、java语言发展史、java语言作用

Java介绍&#xff1a; Java语言概述&#xff1a; Java语言是由美国Sun&#xff08;Stanford University Network&#xff09;斯坦福网络公司的java语言之父–詹姆斯高斯林&#xff0c;在1995年推出的高级的编程语言。所谓编程语言&#xff0c;是计算机的语言&#xff0c;人们…

电脑显示器不亮主机正常_电脑主机已开机 显示屏却不亮(看完秒懂)

台式电脑是工作的得力助手&#xff0c;我们用的是软件&#xff0c;但是如果硬件出问题了&#xff0c;就无法工作了。有时会遇到台式电脑开机&#xff0c;主机开了&#xff0c;但是屏幕却不亮&#xff0c;是怎么回事呢&#xff1f;现在&#xff0c;笔者告诉大家怎样一步步查明原…

二进制的认识、进制之间的转换、计算机储存单位

二进制&#xff1a; 计算机中的数据不同于人们生活中的数据&#xff0c;人们生活采用十进制数&#xff0c;而计算机中全部采用二进制数表示&#xff0c;它只包含0、1两个数&#xff0c;逢二进一&#xff0c;如&#xff1a;1110。每一个0或者每一个1&#xff0c;叫做一个bit&am…

.net一个函数要用另一个函数的值_VLOOKUP函数

两个表格顺序不同&#xff0c;如何匹配合并&#xff1f;如下图&#xff1a;常常遇到有人问我&#xff0c;两个表格需要按照人名合并起来&#xff0c;但是两表的人名顺序并不相同&#xff0c;怎么处理呢&#xff1f;这个就要用到EXCEL大名鼎鼎的VLOOKUP函数了。具体语法如下&…

外部函数获取内部函数变量_一维随机变量的分布函数

一、分布函数、概率密度(一)一维随机变量的分布函数(二)一维离散型随机变量的概率分布(三)一维连续型随机变量的概率密度(四)一维连续型随机变量的函数的概率密度如&#xff1a;设X的概率密度为f(x), g(x)为连续函数&#xff0c;求Yg(x)的概率密度。方法一、定义法step 1. 求出…

DOS命令、Java语言开发环境(JVM、JDK、JRE)

DOS命令&#xff1a; DOS是一个早期的操作系统&#xff08;黑窗口&#xff09;&#xff0c;现在已经被Windows系统&#xff08;图形化&#xff09;取代&#xff0c;对于我们开发人员&#xff0c;目前需要在DOS中完成一些事情&#xff0c;Java语言的初学者&#xff0c;学习一些D…

shell执行docker命令卡挂住_Docker官方文档翻译4

第四篇&#xff1a;Swarms准备工作安装Docker版本1.13或更高版本。安装Docker compose。安装docker machine阅读第1 2 3部分的内容。确保你已发布并推送到注册仓库的friendlyhello镜像。确保你的镜像可以部署为一个容器。 运行这个命令&#xff0c;在你的信息中插入用户名&…

编写第一个Java程序:helloworld

配置好java开发环境后&#xff0c;我们可以编写第一个java程序&#xff08;helloworld&#xff09;。 在开始编写java程序时&#xff0c;我们要知道java程序开发的三个步骤&#xff1a;编写、编译、运行。 编写阶段主要是由程序员编写后缀为.java的文件&#xff1b;将后缀为.ja…

java中关键字、标识符、常量、变量、数据类型

关键字&#xff1a; JAVA语言中已经定义好的具有特殊含义的单词&#xff0c;被称为关键字&#xff0c;关键字是全小写无特殊字符的纯 英文字母&#xff0c;在编辑器中一般有高亮效果&#xff0c;如public、class、static等。 标识符&#xff1a; 在JAVA语言中&#xff0c;自…

js滚动条下拉一定值_JS逆向 | 无限Debugger之淘大象

置顶公众号今天继续和大家研究JS逆向&#xff0c;不少小伙伴在JS逆向的时候遇到过无限debugger的反爬&#xff0c;今天就拿一个网站练练手感受下无限debugger。分析请求先打开这次的目标网站--淘大象(https://taodaxiang.com/credit2)打开「开发者工具」就自动进入debug&#x…

java中数据类型转换、ASCII编码

数据类型转换&#xff1a; JAVA语言中要求参与计算的数据类型要保持一致&#xff0c;如果不一致则会发生数据类型转换&#xff0c;数据类型转换可分为&#xff1a;自动类型转换&#xff08;隐式转换&#xff09;和强制类型转换&#xff08;显式转换&#xff09;。 自动类型转…

pyecharts x轴字体大小调整_pyecharts 柱状图基础篇#学习笔记#

2020年初&#xff0c;很久没有用过pyecharts的我由于工作原因&#xff0c;安装了新版pyecharts之后&#xff0c;以前的pyecharts代码报错了。搜索之后才发现&#xff0c;我安装的是不兼容旧版本的新版。空闲的时间&#xff0c;把新版echart当作新的模块梳理了一下&#xff0c;整…

JAVA语言运算符(算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算)

运算符 JAVA语言中将运算符分为&#xff1a;算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符。 算数运算符&#xff1a;算数运算符是对数字进行一系列的加减乘除等的计算&#xff0c;常见的算数运算符如&#xff1a; public class Operation{public static vo…

真彩色图像数据量 计算_军职在线大学计算机基础(自主模式)

第一章单选题电子计算机的发展已经经过了4代&#xff0c;4代计算机的主要元器件分别是(b)a.电子管&#xff0c;晶体管&#xff0c;中小规模集成电路&#xff0c;激光器件b.电子管&#xff0c;晶体管&#xff0c;中小规模集成电路&#xff0c;大规模或超大规模集成电路 c.晶体管…

JAVA语言中流程控制(顺序结构、判断语句、循环语句)

流程控制&#xff1a; 程序在执行的过程中&#xff0c;各条语句的执行顺序对程序的结果是有直接影响的&#xff0c;所以&#xff0c;我们必须清楚每条语句的执行流程。而且&#xff0c;很多时候我们要通过控制语句的执行顺序来实现想要的功能。java中流程控制有&#xff1a;顺…

java中JShell脚本工具、常量优化、集成开发环境IDEA

JShell脚本工具&#xff1a; jshell:直接在DOS命令行&#xff08;黑窗口&#xff09;键入main方法中的代码就可以快速看到运行的结果&#xff0c;无需编译再运行&#xff0c;并且省略了入口方法及定义类的过程&#xff0c;其使用方法&#xff1a; 1.打开黑窗口后键入&#xf…