将 Vue、React、Angular、HTML 等一键打包成 macOS 和 Windows 平台客户端应用

应用简介

PPX 基于 pywebview 和 PyInstaller 框架,构建 macOS 和 Windows 平台的客户端。本应用的视图层支持 Vue、React、Angular、HTML 中的任意一种,业务层支持 Python 脚本。考虑到某些生物计算场景数据量大,数据私密,因此将数据上传到服务器计算,并不一定是最优解,采用本地 Python 也是一种不错的选择。不过,如果需要调用远程 API,本应用也是支持的。

应用优势
  • 视图层可使用任意一款你喜欢的前端框架,比如 Vue、React、Angular、HTML 等,迁移无压力
  • 采用 Python 编程语言开发业务层,模块丰富
  • 本应用已经封装打包环节,一键生成 macOS 和 Windows 平台的客户端应用。开发者只需要关注视图效果和业务逻辑本身,将繁重复杂的打包环节交给本应用处理即可
适用场景
  • 对软件的用户界面有一定美感要求
  • 需要用到 Python 中的人工智能、生信分析等模块
  • 考虑搭建本地应用,使用本机计算和存储资源
适用人群

熟悉 Python3 和 任意一款前端框架,如 Vue、React、Angular、HTML 编程的程序员。

应用安装

运行环境
  • Node.js 16.14+
  • pnpm 8.x+
  • Python3.8-3.11
应用下载

利用 git(git 安装教程) 下载应用,如下所示:

git clone https://github.com/pangao1990/PPX.git

或者,直接在 github 下载。

# 进入项目
cd PPX

进入项目,项目清单如下所示:

image

初始化

下载完毕后,运行初始化命令,程序会自动下载安装对应操作平台的所需依赖软件,如下所示:

# 初始化
pnpm run init

没报错信息,则初始化完成,如下所示:

image

image

项目根目录多了一个 node_modules 文件夹和 pnpm-lock.yaml 文件,用于存放 pnpm 下载的包。

应用运行

输入如下命令,即可启动应用:

pnpm run start

终端显示如下:

image

同时,启动一个客户端程序,如下:

image

整体效果如下所示:
在这里插入图片描述

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

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

相关文章

数据可视化准备:动态识别echarts的横纵坐标数据字段

前言 继上一篇文章 自动选择图表类型:基于数据特征智能决策 分析了如何根据sql和数据结果判断应该自动使用哪种图表类型,本文继续将图表的x轴和y轴横纵坐标识别出来,基本一个二维数据类普通图表就可以直接输出为echarts参数了。 在数据可视…

NTP卫星授时服务器(GPS北斗授时设备)让自控系统更精准

NTP卫星授时服务器(GPS北斗授时设备)让自控系统更精准 NTP卫星授时服务器(GPS北斗授时设备)让自控系统更精准 工业自动化控制是工业生产基础设施的关键组成部分。 通过计算机和自动化技术在工业生产中的广泛应用,实现工…

leetcode-5. 最长回文子串

题目描述 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba"…

计算机发展史故事【4】

继往与开来 巴贝奇巨星陨落后,世人已逐渐将他淡忘,20 世纪已经来临。计算机的历史等待着,等待着巴贝奇式的人物再世,等待着人类划时代的壮举。 大约在1936 年,美国青年霍德华艾肯(H.Aiken)来哈佛…

javacv实时解析pcm音频流

javacv实时解析pcm音频流 解析代码 try (ByteArrayInputStream inputStream new ByteArrayInputStream(bytes);){FFmpegFrameGrabber grabber new FFmpegFrameGrabber(inputStream);// PCM S16LE 格式grabber.setFormat("s16le");// 采样率grabber.setSampleRate(1…

【PHP】查询Mysql根据GREATEST函数对两个字段的较大值对结果进行排序

目录 一、GREATEST函数简介 二、示例 三、应用场景 四、注意事项 在数据库查询中,我们经常需要根据某个字段的值对结果进行排序。然而,有时我们需要根据两个或多个字段的值进行排序,这时我们可以使用MySQL的GREATEST()函数。GREATEST()函…

phpize +Visual Studio + MSYS2 + bison 草稿记录并未正常完成

phpize Visual Studio MSYS2 bison 先安装 Visual Studio https://visualstudio.microsoft.com/zh-hans/vs/ 在安装过程中,选择安装工作负载。确保选择了 C 工作负载以及适用于 C 开发的相关组件,例如 MSVC v142 - VS 2022 C x64/x86 build tools。 …

QT设计模式:工厂模式

基本概念 工厂模式是一种创建型设计模式,用于将对象的创建逻辑与使用者分离,以实现对象的创建和使用的解耦。工厂模式提供了一个统一的接口来创建对象,而客户端代码只需通过该接口来请求所需的对象,而不需要知道具体的对象创建细…

多个glibc库存在时如何查看ldd调用的哪个

但是发现存在多个版本的glibc版本,需要查看具体的库的信息,和相应的关键函数的信息,但是并不知道具体的libc.so.6的路径信息 rootalg-dev04:~/xingqiao# ldd --version ldd (GNU libc) 2.29 rootalg-dev04:/opt# which ldd /usr/local/bin/…

Exness外汇大陆投资者开户详细流程!

Exness是一家全球领先的外汇和差价合约交易平台,因其高效稳定的服务和多样化的交易工具,受到广大投资者的青睐。然而,由于中国大陆用户无法直接访问Exness官网,想要开户的大陆投资者需要通过特定方式才能完成注册。本文将详细介绍…

[Linux使用] apt dpkg 常用包管理命令

查找头文件信息: sudo apt install apt-file sudo apt-file update apt-file search gst.h 查找库文件位置: whereis gstreamer 查找已安装的库: dpkg -l |grep gstreamer

Rust:文件 launch.json 有什么用?

launch.json 是 Visual Studio Code(VSCode)中的一个配置文件,主要用于配置调试器。当你在 VSCode 中进行代码调试时,launch.json 文件告诉调试器如何启动和配置你的程序。 具体来说,launch.json 文件包含了以下信息&…

PDF批量编辑技巧:高效PDF转txt批量处理,轻松管理大量文档

随着信息技术的飞速发展,文档管理已成为日常工作中不可或缺的一部分。特别是当我们需要处理大量的PDF文件时,如何高效地进行编辑、转换和管理成为了一个重要的问题。本文将介绍一些PDF批量编辑的技巧,特别是如何将PDF批量转换为txt格式&#…

FLIR LEPTON3.5 热像仪wifi 科研实验测温采集仪

点击查看详情!点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情点击查看详情 1、描述 这是一款桌面科研实验测温热成像多功能热像记录仪,小巧轻便…

linux命令——软硬链接

ln可以创建软硬链接,类似于windows系统里的快捷方式 同时还可以创建软链接的软链接 这时cat第二个软链接,依然能查看原文件内容 当使用ls -l查看文件属性时能看到,软链接后面的指向性 同时 ,我们可以使用readlink来查看软链接所…

Android 蓝牙实战——蓝牙音乐播放/暂停调用(二十一)

通过前面的学习我们了解了蓝牙开发中的各个协议,同时也知道蓝牙音乐的开发需要使用的是蓝牙的 a2dp 和 avrcp,而对蓝牙音乐的控制使用的是 avrcp,这里我们就梳理一下蓝牙音乐播放的调用流程。 一、调用流程 在前面的 Avrcp 协议中,我们了解 App 可以通过 MediaSession 框架…

【牛客】排列计算

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 如果直接涂色来计算单点权重&#xff0c;2e5*2e5必然超时。 所以用差分进行优化。 3. 代码实现 #include<bits/stdc.h> using name…

java的选择题

题目 来自牛客网 1.下列哪个是合法的 Java 标识符?() A.Tree&Glasses B.FirstJavaApplet C.FirstApplet D.273.5 正确答案是 B. FirstJavaApplet 和 C. FirstApplet。 分析&#xff1a; Java 标识符必须遵循以下规则&#xff1a; 1. 必须以字母&#xff08;A-Z 或 a-…

【八十二】【算法分析与设计】2421. 好路径的数目,928. 尽量减少恶意软件的传播 II,并查集的应用,元素信息绑定下标一起排序,元素通过下标进行绑定

2421. 好路径的数目 给你一棵 n 个节点的树&#xff08;连通无向无环的图&#xff09;&#xff0c;节点编号从 0 到 n - 1 且恰好有 n - 1 条边。 给你一个长度为 n 下标从 0 开始的整数数组 vals &#xff0c;分别表示每个节点的值。同时给你一个二维整数数组 edges &#xff…

【Vue】Vue packages version mismatch(vue 和 vue-template-compiler)

报错&#xff1a;Vue packages version mismatch 原因&#xff1a;vue和vue-template-compiler版本不一样解决&#xff1a;如上vue版本为 2.6.14&#xff0c;vue-template-comiler版本为2.7.16。将vue-template-comiler版本设置为和vue版本一致即可。 npm install vue-templat…