当前位置: 首页 > article >正文

微信小程序和uniapp对比区别

UniApp 与微信小程序对比

1. 开发环境

  • 微信小程序:使用微信开发者工具
  • UniApp:主要使用 HBuilderX,但也可以使用 VS Code 等其他编辑器

2. 项目结构

  • 微信小程序:pages, utils, app.js, app.json, app.wxss
  • UniApp:pages, static, App.vue, main.js, manifest.json, pages.json

3. 页面文件

  • 微信小程序:.wxml, .wxss, .js, .json
  • UniApp:.vue (包含 template, script, style)

4. 基础组件

微信小程序UniApp说明
viewview视图容器,类似于 div
texttext文本组件
imageimage图片组件
buttonbutton按钮组件
inputinput输入框组件
scroll-viewscroll-view可滚动视图区域
swiperswiper滑块视图容器

5. 生命周期

微信小程序UniApp (Vue3 组合式 API)
onLoadonLoad
onShowonShow
onReadyonReady
onHideonHide
onUnloadonUnload
onPullDownRefreshonPullDownRefresh
onReachBottomonReachBottom

注:UniApp 在 Vue3 组合式 API 中,这些钩子需要单独引入使用。

6. 数据绑定与更新

  • 微信小程序:

    Page({
      data: {
        message: 'Hello'
      },
      changeMessage() {
        this.setData({ message: 'Hi' })
      }
    })
    
  • UniApp (Vue3 组合式 API):

    import { ref } from 'vue'
    
    export default {
      setup() {
        const message = ref('Hello')
        
        function changeMessage() {
          message.value = 'Hi'
        }
        
        return {
          message,
          changeMessage
        }
      }
    }
    

7. 条件渲染

  • 微信小程序:wx:if, wx:elif, wx:else
  • UniApp:v-if, v-else-if, v-else

8. 列表渲染

  • 微信小程序:wx:for, wx:key
  • UniApp:v-for, :key

9. 事件处理

  • 微信小程序:bindtap, catchtap
  • UniApp:@click, @tap

10. 路由导航

  • 微信小程序:

    wx.navigateTo({ url: '/pages/about/about' })
    
  • UniApp:

    uni.navigateTo({ url: '/pages/about/about' })
    

11. 网络请求

  • 微信小程序:

    wx.request({
      url: 'https://api.example.com/data',
      success(res) {
        console.log(res.data)
      }
    })
    
  • UniApp:

    uni.request({
      url: 'https://api.example.com/data',
      success(res) {
        console.log(res.data)
      }
    })
    

12. 存储

  • 微信小程序:wx.setStorageSync, wx.getStorageSync
  • UniApp:uni.setStorageSync, uni.getStorageSync

13. 组件创建和使用

  • 微信小程序:使用 Component() 创建,在 json 文件中引入
  • UniApp:创建 .vue 文件,在父组件中引入并注册

14. 全局配置

  • 微信小程序:app.json
  • UniApp:pages.json, manifest.json

15. 条件编译

  • 微信小程序:无内置条件编译,需要使用其他方法
  • UniApp:内置条件编译,如 #ifdef MP-WEIXIN, #endif

注意:UniApp 不仅支持编译到微信小程序,还支持其他平台如 H5、App 等,因此在某些方面会比微信小程序更加灵活和强大。


http://www.kler.cn/news/341140.html

相关文章:

  • extern
  • 动手学深度学习59 双向循环神经网络
  • 【算法】链表:2.两数相加(medium)+模拟
  • 自然语言处理问答系统最全内容--你值得一看
  • Java 的数据结构整理(整合版)
  • 甲虫身体图像分割系统源码&数据集分享
  • PostgreSQL学习笔记五:数据库基本操作
  • windows系统下Nginx负载均衡实战总结
  • SQL优化 where谓词条件OR优化
  • Android开发视频预览效果
  • 强制删除了windows自带的edge浏览器,重装不了怎么办【已解决】
  • 机器学习笔记(四)-决策树
  • 斯坦福UE4 C++课学习补充25:AI感知组件
  • 51单片机-第十四节-AD/DA(XPT2046触摸屏)
  • 【学术会议征稿】2024年信号处理与神经网络应用国际学术会议(SPNNA 2024)
  • OpenCVSharp使用MeanShift图像分割详解
  • 【STM32-HAL库】实现微秒、毫秒、纳秒延时。(STM32F4系列)(附带工程下载链接)
  • 贪心算法:原理、应用与优化
  • Python OpenCV精讲系列 - 实例分割深入理解(十八)
  • 【devops】x-ui 实现一键安装 x-ray 打造高速国际冲浪 | xray管理平台