栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Jpype + Streamlit 跨越三种语言生态的界面方案

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jpype + Streamlit 跨越三种语言生态的界面方案

最近做的课程设计要求必须使用Java写,但是Java做界面又比较麻烦,故而想到了一个同时使用Java、Python和前端生态构建界面的方案。具体的说,是使用Jpype在Python中调用Java,使用Streamlit来用Python写前端。

1.在Python中调用Java

首先是在Python中调用Java。Jpype是Python的一个Java桥接库,可以在Python中使用Java虚拟机,并调用Java中的类与方法。官网地址如下,直接pip就能下载:http://jpype.sourceforge.net/http://jpype.sourceforge.net/不同于Jython,Jpype没有重新实现Java,而是直接使用Java的jvm,因此也更加全面,可以在Python中使用Java的类,并进行实例化,继承和实现接口等等。同时,Jpype也支持在Python和Java的基本数据之间无缝转化。

要使用Jpype,需要将Java项目打包为jar包,然后在Python中使用Jpype启动一个虚拟机,并且运行和调用相关的Java类。参考:

IDEA中打jar包的两种方式_立二拆四i的博客-CSDN博客_idea打包jar包

JPype使用_CHERISHGF的博客-CSDN博客_jpype

2.使用Python写前端界面

Python不是前端语言,但可以用来写前端界面。Streamlit是Python的一个前端库,Streamlit的特点是语法十分简单,可以快速构建前端界面。以下是Streamlit的官网:

Streamlit • The fastest way to build and share data appsStreamlit is an open-source app framework for Machine Learning and Data Science teams. Create beautiful web apps in minutes.https://streamlit.io/Streamlit内置了一个后端框架,所以不需要再使用Springboot或者Flask搞前后端分离。所以这套方案的前端和后端的核心都在Python上。Streamlit还支持自定义组件,可以和React、Vue等前端框架配合。参考:

Streamlit documentation

GitHub上Streamlit自定义组件的官方示例


3.其它有用的链接

在Streamlit中使用cookies:

Parse user cookies in Streamlit – tcoil.info

Streamlit Cloud平台:

Cloud • Streamlit

Streamlit 组件精选:

Components • Streamlit

Streamlit的状态管理:

Session State - Streamlit

用于Python的已打包好的JDK:

jdk4py · PyPI

Streamlit页面路由以及拓展组件

Extra-Streamlit-Components · PyPI

4.个人建议

Jpype+Streamlit可以摆脱前后端分离方案,而且综合了三种语言生态。但究竟能做到多大的应用场景还有待验证,建议用在写个人小项目或者要快速写出个界面时。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/920989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号