是这样的,我刚进入工作不久,目前正在着手的项目是一个 IC 卡的读写器控制程序,需求是能完成管理员和用户的权限控制,刷卡时对电费以及档案等的管理。 原来的项目是用的 c#开发的,由于年代久远,现在 win10 用起来会经常出问题,所以现在经理就让我再重做一下。 确实 c#的 wpf 或者 winform 比较适合开发桌面端程序,但是楼主在学校只学了 java。。框架也只是对 springboot 和 mybatis 比较熟悉,没有接触过桌面端程序。 目前尝试了一下用 <dependency> <groupid>net.java.dev.jna</groupid> <artifactid>jna</artifactid> <version>5.4.0</version> </dependency> 这个 JNA 依赖成功读取了公司提供的 DLL 文件,连接上读写器之后也能成功的返回设备号信息。 我是想用我熟悉的知识,把这个项目用平常做网页的形式来生成,不过只连接本地端口,做成一个网页的单机版,但是又觉得有点邪门,所以诚心请教一下各位前辈,这么做可以吗,十分感谢
1
wysnylc 2019-12-20 10:41:29 +08:00
可以,还能吹一波 "免客户端,实时更新,跨平台,移动办公"
|
2
imn1 2019-12-20 10:50:30 +08:00
java 做出来的 win 工具,我评价一直就一个字:丑
我不知道是作者(好多个项目都是)问题,还是 java 本身的界面控件问题 另外,如果要额外安装 java sdk/jdk 之类,并不是个个都熟知,如果 C#用.net4,win 已经自带 |
3
luckyrayyy 2019-12-20 10:52:56 +08:00
Java 可以写 gui,JavaFX 了解一下。另外 JavaFX 中有 webview,你完全可以写成网页的形式。
当然,Windows 上写 gui 永远都是 c#第一选择。 |
4
whypool 2019-12-20 10:56:00 +08:00
想太多,也就只能自己玩玩
别人跑你程序还得装一套 java 还得配置环境 |
5
Chieh 2019-12-20 11:24:39 +08:00
你会 js 的话可以试试 electron
.net 不是可以拖控件的吗,做一个简单的应该很快 |
6
lower 2019-12-20 14:08:36 +08:00
没什么邪门的,好多软件都是在本地安装后开启 web 服务;
但是就是安装部署环境依赖什么的,自己搞还是挺麻烦的。说不定最后搞出来的安装包体积巨大; 而且感觉你提到的需求里,除了本地读取 dll,好像还有跟服务端数据库之类的交互? |
8
murmur 2019-12-20 16:24:43 +08:00
虽然说 java 开发桌面端不清凉,但是说还得配环境的,惊了,你难道不知道现在 jre、jdk 都可以内置么,自己用 c 写个壳子就行了,要不 matlab 这些东西是怎么跑起来的
|
9
Tompes 2019-12-20 17:42:53 +08:00 via Android
常规操作啊,不少学校的圈存机就是 web 的
|
10
kop1989 2019-12-20 17:46:41 +08:00
可以,但没必要。
1、java 也有窗口实现方式。 2、c#的 winform 开发并不是很难,从头熟悉的困难没那么大。 建议可以先用你熟悉的技术手段救场,然后有机会的话,再去重构成最理想的形态。 |
11
arthas2234 2019-12-20 17:56:14 +08:00
用 java 开发还要安装 jre。。。已经不轻量了
再说 java 做的那些界面,丑的一笔。我读书的时候老师都已经不教了,让我们有兴趣的自学去。。。 |
12
lower 2019-12-21 10:52:18 +08:00
@kyoma 我之前参与的一个项目,场景跟你这类似,客户端与服务端就是一般的 Java web 的 B/S 结构,在客户端由于涉及到 RFID 卡读取,用的是 c# + webbrowser 控件。
webbrowser 控件加载远程 web 页面,c#实现读取 dll 等相关功能,然后桥接的方式给 web 控件中的 html 页面提供接口调用。( web 页面中的 js 调用 c# 提供的方法)这种通信方式。 虽然各种组合怪异,但是在当时的业务和团队能力情况下,这种折中方式还算合理吧。 在实际的场景中,也有一些好处,比如跟本地调用无关的功能更新部署简单,涉及本地调用的功能用 c#开发相对容易一些。 |