探索小程序的世界(专栏导读、基础理论)

news2024/11/24 15:27:43

文章导读

  • 一、为什么要学习小程序开发
    • 1.1 低门槛
    • 1.2 市场需求
    • 1.3 创业机会
    • 1.4 技术发展趋势
  • 二、专栏导读
    • 2.1 实战系列
    • 2.2 工具系列
    • 2.3 游戏系列
    • 2.4 插件系列
  • 三、基础理论
    • 3.1 微信小程序
      • 简易教程
        • 框架
        • 组件
        • API
        • 工具
      • 开发者工具
      • 项目结构
    • 3.2 app.json配置
      • pages
      • window
      • tabbar
    • 3.3 App.js
      • onLaunch
      • onShow
      • onHide
      • onError
      • 注意事项
    • 3.4 页面跳转与传参
    • 3.5 小程序JS与普通JS的差异
      • 小程序不是运行在浏览器中,所以没有DOM和BOM对象
      • 小程序的JS有一些额外的成员
      • 小程序的JS是支持CommonJS规范的
    • 3.6 界面层的数据绑定
      • 特点
      • 使用
      • 运算

一、为什么要学习小程序开发

由于微信自身的强势社交属性,以及其对小程序的战略定位(连接人与服务)的前提下进行了持续的大力支持,截至2021年6月,微信官方宣布已经有超过300万个微信小程序。这个数字在不断增长,因为越来越多的开发者和企业选择在微信平台上开发和发布小程序。

1.1 低门槛

相比于传统的App开发,小程序开发门槛较低。你可以使用HTML、CSS和JavaScript等前端技术来开发小程序,而无需学习复杂的移动开发框架和语言。这使得学习小程序开发更加容易上手。

1.2 市场需求

小程序是近年来兴起的一种应用形式,受到了广大用户的喜爱。许多企业和个人都在寻求开发小程序来满足用户需求,因此学习小程序开发将增加你的就业机会和市场竞争力。

在这里插入图片描述

1.3 创业机会

小程序开发为创业者提供了一个低成本、快速验证创意的平台。你可以通过开发小程序来验证你的商业模式和产品想法,从而降低创业风险。

1.4 技术发展趋势

小程序作为一种新兴的应用形式,具有很大的发展潜力。随着技术的不断进步和用户需求的不断变化,小程序开发领域将会有更多的机会和挑战。学习小程序开发可以让你跟上技术发展的潮流,并为未来的发展做好准备。

二、专栏导读

微信小程序专栏地址点此访问
在这里插入图片描述

2.1 实战系列

  • 基于Java+SpringBoot制作一个校园圈子小程序
  • 基于Java+SpringBoot制作一个宿舍报修小程序
  • 基于小程序制作一个ChatGPT聊天机器人
  • 基于Java+SpringBoot+微信小程序实现奶茶点单系统
  • 微信小程序完整项目实战(前端+后端)
  • 基于小程序+云开发制作一个文件传输助手小程序
  • 基于JavaSpringBoot+uniapp制作一个记账小程序
  • 基于Java+SpringBoot制作一个论坛小程序
  • 基于微信小程序+爬虫制作一个表情包小程序
  • 基于小程序+C#制作一个打卡小程序
  • 基于小程序+云开发制作一个菜谱小程序
  • 基于小程序+云开发制作一个租房小程序
  • 基于Java+SpringBoot制作一个考试答题小程序
  • 基于Java+SpringBoot制作一个旅游攻略小程序
  • 基于小程序制作一个超酷的个人简历
  • 使用小程序制作一个节日祝福生成器
  • 使用小程序制作一个时间管理小工具
  • 基于小程序+C#制作一个聊天系统
  • 基于小程序+C#制作一个小说阅读器
  • 使用小程序制作一个音乐播放器
  • 使用小程序制作一个核酸检测点查询工具
  • 基于小程序实现打卡功能
  • 基于小程序+C#实现聊天功能
  • 从零开始,开发一个电商微信小程序[前端+后端(c#)]
  • 微信小程序电子签名及图片生成

2.2 工具系列

  • 使用小程序制作一个马赛克处理工具
  • 使用小程序制作一个世界杯球员识别工具
  • 使用小程序实现AI动漫脸特效
  • 使用小程序制作一个老照片修复工具,让追忆时光触手可及
  • 基于小程序实现人脸数量检测
  • 小程序实现文字情绪识别并生成参考回复
  • 基于小程序实现人脸识别对比
  • 基于小程序实现发送语音消息及转文字
  • 使用小程序+C#实现人脸、手势双重识别认证
  • 基于小程序实现透明背景人像分割
  • 用微信小程序给头像带上小旗帜
  • 一文读懂基于小程序的图像识别

2.3 游戏系列

  • 飞翔的圣诞老人
  • 使用小程序制作一个足球拼图小游戏
  • 使用小程序制作一个2048小游戏
  • 使用小程序制作一个飞机大战小游戏
  • 使用小程序制作一个电子木鱼,功德+1
  • 基于小程序制作一个猜拳小游戏

2.4 插件系列

  • 使用小程序+网页简易实现多客户端实时弹幕
  • 使用小程序实现图表(圆饼图、柱状图、折线图)
  • 小程序自定义底部导航栏
  • 使用小程序实现侧滑抽屉菜单特效
  • 使用小程序实现通讯录功能,首字母快捷导航
  • 小程序实现瀑布流布局的几种方式
  • 微信小程序实现秒杀、拼团、团购等效果
  • 小程序实现滑动删除

三、基础理论

3.1 微信小程序

简易教程

框架

框架提供了白己的视图层描述语言 WXML和 WXSS,以及基于JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者更加方便的聚焦于数据与逻辑上。

组件

框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发,注意,所有组件与属性都是小写,以连字符-连接。

  • 组件是视图层的基本组成单元。
  • 组件自带一些功能与微信风格的样式。
  • 一个组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标签之内。

API

框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。

工具

集成了开发调试、代码逻辑及程序发布等功能的官方开发者工具。

开发者工具

功能介绍
编辑默认为编辑状态显示,下面的编译为手动编译功能,遇常情况下修改文件后保存会刷新界面显示
调试编辑状态的菜单栏与浏览器的调试界面几乎相同,包括控制台、源码、网络等
编译修改代码之后,如果没有设置自动检测制新可以在这里手动重新编译
后台模拟程序运行到后台,进入后台时再次点击会进入前台执行
缓存数据的本地缓存,可以进行清除缓存等操作

项目结构

文件名介绍
utils公共脚本目录
app.js小程序逻辑
app.json全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、tab等
app.wxss小程序公共样式表
pages页面文件组成

3.2 app.json配置

pages

功能
功能设置页面路径
节点“pages”:[]
类型String Array
必填

window

功能
功能设置默认页面的窗口表现
节点backgroundTextStyle、navigationBarBackgroundColor、navigationBarTitleText、navigationBarTextStyle
类型object
必填

tabbar

功能
功能设置底部tab的表现
节点color、selectedcolor、backgroundColor、borderStyle
类型object
必填

3.3 App.js

App0 函数用来注册一个小程序,接受一个 object 参数,其指定小程序的生命周期函数等

onLaunch

描述:生命周期函数,监听小程序初始化
触发时机:当小程序初始化完成时,会触发onLaunch(全局只触发一次)

onShow

描述:生命周期函数,监听小程序显示
触发时机:当小程序启动,或从后台进入前台显示,会触发 onShow

onHide

描述:生命周期函数,监听小程序隐藏
触发时机:当小程序从前台进入后台,会触发 onHide

onError

描述:错误监听函数
触发时机:当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息

注意事项

  • App() 必须在 app;js 中注册,且不能注册多个
  • 不要在定义于 App() 内的函数中调用 getApp(),使用 this 就可以拿到 app 实例
  • 不要在 onLaunch 的时候调用 getCurrentPage(),此时 page 还没有生成
  • 通过 getApp()获取实例之后,不要私自调用生命周期函数

3.4 页面跳转与传参

navigator标签,相当于html中的a标签,默认跳转过去在导航栏中会出现一个返回按钮,如果不用返回,可以添加属性redirect,url的用法和htm中a标签的href一样,用?待参数,用&带多个参数

在这里插入图片描述

跳转的页面的js页面中的onLoad函数的参数options就是传过来的参数了

在这里插入图片描述
在这里插入图片描述

导航元素高亮小技巧

  • hover-class属性的使用
  • 要使普通元素点击的时候有高亮的效果,可以给元素添加cursor:pointer的样式

3.5 小程序JS与普通JS的差异

小程序不是运行在浏览器中,所以没有DOM和BOM对象

  • console.log(window)结果为undifined
  • console.log(document)结果为undifined
  • 没有alert方法

小程序的JS有一些额外的成员

  • App方法=》用于定义应用程序实例对象
  • Page方法=》用于定义页面对象
  • getApp方法=》用来获取全局应用程序对象
  • getCurrentPages方法=》用来获取当前页面的调用栈( 最后一个就是当前页面 )
  • wx对象=》用来提供API的核心库

小程序的JS是支持CommonJS规范的

  • module.exports
  • require(./moduleA)

3.6 界面层的数据绑定

特点

WXML 中的动态数据均来白对应 Page 的 data。也就是说js与页面,js中函数函数的值传递都可以通过data中的定义数据来传值。

使用

数据绑定使用 Mustache语法( 双大括号 ) 将变量包起来

介绍语法
内容<view> {( message )) </view>
组件属性(需要在双引号之内)<view id="item-fid]}"> </view>
控制属性(需要在双引号之内)<view wx:if="[[condition)> </view>
关键字(需要在双引号之内)<checkbox checked="{{false}}"> </checkbox>

运算

可以在{{}}内进行简单的运算

介绍语法
三元运算<view hidden="{{flag ? true : false}}"> Hidden < /view>
算数运算<view> {{a + b}} + {{c}} + d </view>
逻辑判断<view wx:if="{length > 5}}> </view>
字符串运算<view>{{"hello"+ name}}</view>
数据路径运算<view>{{object.key}} {{farray[0]}}</view>

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

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

相关文章

Android Studio实现内容丰富的安卓自行车租赁平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号105 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.查…

Linux centos7.6下查看下线指定用户(实操)

Linux系统是一个多用户多任务的分时操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪&#xff0c;并控制他们对系统…

【源码】为什么UWB定位技术可用于室内定位?

UWB室内人员定位原理 UWB室内人员定位技术只是属于无线定位技术的一种。流行的无线定位技术包括GPS定位、北斗定位、蓝牙定位、WIFI定位、RFID定位等&#xff0c;其中GPS、北斗主要用在室外定位&#xff0c;蓝牙定位、WIFI定位、RFID定位、UWB定位主要用于室内定位。UWB定位和…

《软件测试开发》概念篇

目录 一.什么是测试 二.测试与开发之间的区别1.工作内容上的区别 2.技能要求上的区别 3.发展前景 测试与调试之间的区别 三.优秀的测试人员所应具备的素质 四.需求 需求的概念 需求的产生&#xff0c;需求是怎么来的&#xff1f; 测试人员眼中的需求 需求的重要性 测…

论文阅读 (94):Substructure Aware Graph Neural Networks (SAGNN, AAAI2023)

文章目录 1 要点1.1 概述1.2 一些概念1.3 代码1.4 引用 2 基础知识2.1 符号2.2 信息传递神经网络 (MPNN) 3 方法3.1 子图提取3.1.1 基于节点的策略3.1.2 基于图的策略 3.2 随机游走返回概率编码3.3 子图信息注入的信息传递 1 要点 1.1 概述 题目&#xff1a;子结构感知图神经…

《YOLOv5/YOLOv7魔术师》专栏介绍 CSDN独家改进创新实战专栏目录

&#x1f4a1;&#x1f4a1;&#x1f4a1;YOLOv5/YOLOv7魔术师&#xff0c;独家首发创新&#xff08;原创&#xff09;&#xff0c;持续更新&#xff0c;最终完结篇数≥100&#xff0c;适用于Yolov5、Yolov7、Yolov8等各个Yolo系列&#xff0c;专栏文章提供每一步步骤和源码&am…

测试员眼中的____是____

- 1 - 测试员眼中的开发是淘气的孩子 只有靠哄、豁、骗 才能让其完成“作业” - 2 - 测试员眼中的产品经理是女票 不管大小事&#xff0c;只要意见有出入 都得与其商量&#xff0c;才能最终拍板 - 3 - 测试员眼中的UI是艺术家 每天都操着画板&#xff08;苹果显示器&#xff…

解除网页禁止复制,复制粘贴没烦恼。

参考 解除网页禁止复制&#xff0c;复制粘贴没烦恼。 https://zhuanlan.zhihu.com/p/344419634 安装SuperCopy插件

游戏出海长期向好趋势未改,茄子科技助力企业把握出海机遇

在中国游戏出海成为更多企业的必选题之时&#xff0c;如何把握出海机遇&#xff0c;在激烈竞争中实现增长&#xff0c;成为中国游戏厂商的着力点。秉承着红海将至的市场发展背景&#xff0c;出海全球化、本地化的战略已经成为企业大势所趋&#xff0c;越来越多的游戏厂商开始挑…

【3 栈和队列】共享栈

利用栈底位置相对不变的特性&#xff0c;可以让两个顺序栈共享一个一维数据空间&#xff0c;将两个栈的栈底分别设置在共享空间的两端&#xff0c;两个栈顶向共享空间中间延伸。 两个栈的栈顶指针都指向栈顶元素&#xff0c; top0-1时0号栈为空&#xff0c;top1MaxSize-1时1号…

智安网络|网络安全威胁多样化和复杂化,防护任务日益艰巨

随着数字化和网络化的加速发展&#xff0c;人们面临的网络安全问题日益增多。由于网络安全威胁的多样性和复杂性&#xff0c;网络安全防护变得越来越困难。 一. 网络安全威胁的复杂性 网络安全威胁种类繁多&#xff0c;主要包括病毒、木马、蠕虫、间谍软件、恶意软件、黑客攻击…

解决使用idea的maven打包springboot项目时,“不支持版本号17”的问题

问题描述 在idea里面使用maven的package功能&#xff0c;对一个springboot项目打包jar包时&#xff0c;出现了“不支持版本号17”的错误 经排查&#xff0c;本地确实装了jdk17的&#xff0c;而且运行mvn -version也提示有java 17 解决办法 最后发现&#xff0c;可能是idea…

2023年生猪行业研究报告

第一章 行业概况 生猪是指猪类动物中未经加工的、原始的、活体的猪&#xff0c;通常是指用于肉类生产的猪。生猪在全球范围内都是主要的肉类来源之一。它们的肉质丰富&#xff0c;营养价值高&#xff0c;同时还能用来制作各种加工肉类产品&#xff0c;如火腿、香肠等。 生猪养…

以太网 (数据链路层协议)

以太网 认识以太网以太网数据帧 认识以太网 “以太网” 不是一种具体的网络&#xff0c;而是一种技术标准&#xff1b;既包含了数据链路层的内容&#xff0c;也包含了一些物理层的内容。 例如&#xff1a;规定了网络拓扑结构&#xff0c;访问控制方式&#xff0c;传输速率等&a…

你值得拥有——流星雨下的告白(Python实现)

目录 1 前言 2 霍金说移民外太空 3 浪漫的流星雨展示 4 Python代码 1 前言 我们先给个小故事&#xff0c;提一下大家兴趣&#xff1b;然后我给出论据&#xff0c;得出结论。最后再浪漫的流星雨表白代码奉上&#xff0c;还有我自创的一首诗。开始啦&#xff1a; 2 霍金说移民外…

数据万象AVIF图片压缩 - 小程序省流量利器

导语 微信小程序因其便捷的开发环境和天然的微信生态&#xff0c;使得越来越多企业平台通过小程序建立自己的业务。在小程序上使用图片非常广泛&#xff0c;但传统格式图片&#xff08;如 JPG/PNG&#xff09;占用空间大&#xff0c;加载速度慢&#xff0c;可能导致昂贵的图片…

瑞吉外卖-Day01

title: 瑞吉外卖-Day01 abbrlink: ‘0’ date: 2023-04-1 18:00:00 瑞吉外卖-Day01 课程内容 软件开发整体介绍 瑞吉外卖项目介绍 开发环境搭建 后台登录功能开发 后台退出功能开发 1. 软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流…

基于Java+Vue前后端分离田径运动会成绩管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Echarts 环形图图例内容+数据+换行

由于legen.formatter return的数据并不支持直接换行所以只能用/n进行换行。但是使用\n后的内容并不能很好的进行对齐&#xff0c;刚开始也是困扰了我很久&#xff0c;毕竟UI图已经定稿只能硬着头皮上了。 说一下我的方法: 1.使用formatter 先拿到想要的数据然后用\n进行换行 …

2023年07月编程语言流行度排名

点击查看最新编程语言流行度排名&#xff08;每月更新&#xff09; 2023年07月编程语言流行度排名 编程语言流行度排名是通过分析在谷歌上搜索语言教程的频率而创建的 一门语言教程被搜索的次数越多&#xff0c;大家就会认为该语言越受欢迎。这是一个领先指标。原始数据来自…