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

UniApp如何打包成客户端应用程序

像flutter是支持PC宽屏、桌面平台(Windows/macOS/Linux),我一直在期望UniApp什么时候也支持PC,桌面平台,终于盼到了。

1、支持PC宽屏

从uni-app 2.9起,支持PC宽屏的适配。

uni-app提供的屏幕适配方案,包括3部分:

1.1 页面窗体级适配方案:leftWindow、rightWindow、topWindow

以目前手机屏幕为主window,在左右上,可新扩展 leftWindow、rightWindow、topWindow,这些区域可设定在一定屏幕宽度范围自动出现或消失。这些区域各自独立,切换页面支持在各自的window内刷新,而不是整屏刷新。

各个window之间可以交互通信。

1.2 组件级适配方案:match-media组件

uni-app提供了 match-media组件 和配套的 uni.createMediaQueryObserver 方法。

1.3 内容缩放拉伸的处理

除了根据屏宽动态显示和隐藏内容,其实还有一大类屏幕适配需求,即:内容不会根据屏宽动态显示隐藏,而是缩放或拉伸。

具体来说,内容适应又有两种细分策略:

  1. 局部拉伸:页面内容划分为固定区域和长宽动态适配区域,固定区域使用固定的px单位约定宽高,长宽适配区域则使用flex自动适配。当屏幕大小变化时,固定区域不变,而长宽适配区域跟着变化
  2. 等比缩放:根据页面屏幕宽度缩放。rpx其实属于这种类型。在宽屏上,rpx变大,窄屏上rpx变小。

2、支持桌面客户端

有了宽屏适配,uni-app的应用就可以方便的通过electron(第三方工具还有NW.js/Capacitor/Tauri)打包为电脑客户端应用,支持windows、mac、linux。

开发者可以随意调用electron的API,以调用更多操作系统的能力(为方便多端兼容,可以将这些特殊API写在自定义的条件编译里)。

首先得将UniApp导出web版本,再web配置electron打包里exe程序,同样也可以打包mac,linux下的桌面应用,具体操作见electron官网。若是能支持导出exe程序,那就更方便了,不用去学习electron,目前看可能性不大,毕竟UniApp是以手机为主的,PC只是辅助的。

electron官网:https://www.electronjs.org/zh/docs/latest/

注:具体去UniApp看官方文档


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

相关文章:

  • 前后端分离集成CAS单点登录
  • Windows安装HeidiSQL教程(图文)
  • python中装饰器的作用
  • Autosar学习----AUTOSAR_SWS_BSWGeneral(六)
  • 基于协同过滤算法+PHP的新闻推荐系统
  • 无人机维修保养一对一教学技术详解
  • LaTex2024 下载安装运行HelloWorld—全流程笔记
  • 【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
  • QT 修改全局鼠标光标样式并支持还原样式
  • 如何在多台Linux虚拟机上安装和配置Zookeeper集群
  • uboot:源码分析-启动第一阶段-start.S解析
  • brpc的简单使用
  • 力扣 11.盛最多水的容器
  • 重修设计模式-结构型-桥接模式
  • Python编码系列—Python组合模式:构建灵活的对象组合
  • Suno新上线Covers翻唱新 - 实现音频风格任意转换
  • Spring Boot-跨服务事务管理问题
  • DNS解析流程
  • 系统架构-面向对象
  • 【Python】探索 Blinker:Python 进程内信号/事件分发系统
  • uniapp vue3 梯形选项卡组件
  • springboot调用python脚本实现ocr图片文字识别功能
  • Maven踩坑——父模块生命周期的操作会被子模块继承
  • 零信任安全架构--持续验证
  • Android 12系统源码_窗口管理(八)WindowConfiguration的作用
  • 基于SpringBoot+Vue+MySQL的养老院管理系统
  • SSMP+ajax实现广告系统的分页效果
  • 有关JS下隐藏的敏感信息
  • 【C++篇】~类和对象(中)
  • 【C++】STL----stack和queue常见用法