最近需要开发个比较简单的 windows 桌面应用程序,之前是做嵌入式开发的对 c 比较熟悉,其他语言都不是很了解(包括 c++)。 麻烦大家推荐下用哪种技术开发比较合适呢?主要考虑上手出活要快一些,学了相关技术之后将来能在别的地方用的上就更好 不仅限于上面提到的,觉得好的都帮忙推荐下吧
另外目前需要做的就是个配置用的工具软件,会用到串口,去和硬件设备通信
1
gaoyadianta OP 请大家帮帮忙,或者推荐下哪个节点比较合适问这个问题
|
2
Akkariin 2018-04-12 17:04:09 +08:00
c# +winform
|
3
am241 2018-04-12 17:05:29 +08:00 via Android
c#,省事
|
4
gaoyadianta OP |
5
gaoyadianta OP |
6
plqws 2018-04-12 17:16:09 +08:00
@gaoyadianta 微软官方的 MSDN 是最好的教程
|
7
Droi 2018-04-12 17:16:48 +08:00
也可以试试 QT,程序也方便做到开发板里。看自带的文档就够用了。
https://download.qt.io/archive/qt/ |
8
jasonyang9 2018-04-12 17:17:07 +08:00
在下觉得这块已经凉了。。。
|
9
wackyjazz1 2018-04-12 17:19:01 +08:00
C# + winform,要畫面好看一點再配個 DevExpress
|
10
GGYB 2018-04-12 17:21:35 +08:00
c# + wpf 吧。mvvm 的思想,前端也能复用。
|
11
shijingshijing 2018-04-12 17:22:20 +08:00 via iPhone 1
准备深入而且本身技能树是走嵌入式的话推荐 Qt,以后下位机,触控屏都可以接着用 Qt,还自带跨平台属性加成。就是 C++要求高,后续维护要找个水平好的才能接上手。
如果不准备深入或者只是做个简单的界面,那果断 c#+winform,拖控件不要太爽,而且以后找新人接受也行。 |
12
MinQ 2018-04-12 17:45:18 +08:00 via Android
C#+WPF/Winform 或者 pyqt 吧,C++写 QT 没两把刷子 hold 不住的
|
13
doubleflower 2018-04-12 17:52:02 +08:00
HTML + JS,出活快,不过上手比 C#慢
C#没公司用,学精了也找不到工作的,而前端技术好找 |
14
sgissb1 2018-04-12 17:53:19 +08:00
你提到的所有语言都可以。
但是易语言更简单,主要是招人方面都会比 c 类语言好弄得多。 |
15
cdfmr 2018-04-12 18:00:38 +08:00
会 Pascal 的话,其实 Lazarus 很不错。
|
16
fgodt 2018-04-12 18:03:47 +08:00
wpf c# 最轻松的
|
17
8023 2018-04-12 18:04:13 +08:00 via Android
qt,相当顺手,也方便后期移植。
若确定将来不打算运行在除 win 的平台,c# WinForm 也可以。 |
18
WildCat 2018-04-12 18:04:50 +08:00 via iPhone
java 9 with jlink / electron
|
19
visonme 2018-04-12 18:05:32 +08:00
window 下我还是推荐 C#,用 winform 还是 wpf 看要做的东西对界面的要求有多高了。
如果熟悉 QT 也不错,用 QML 做界面比用 widget 好很多了 |
20
gaoyadianta OP 谢谢大家的回复,看来最简便的方式还是 C#
我本身做嵌入式的,Qt 也是可选项 |
21
yejinmo 2018-04-12 18:13:44 +08:00
必然 C# 啊
|
22
gaoyadianta OP @visonme winform 和 wpf 哪个复杂些,对界面要求不高
|
23
huiyifyj 2018-04-12 18:15:27 +08:00
首选 C#+winFrom,然后就是 C++和 Qt 搭配啊。
|
24
XinLake 2018-04-12 18:18:01 +08:00
现在的 windows 桌面主要是 NET。QT wxWidget GTK 那些也行,优势是跨平台不依赖操作系统组件,不过要玩得转要点内功,刚接触就算了。
NET 微软推荐 C#,WPF 是比较现代,WinForm 很早就有了。 底层硬件通讯方面,你需要用创建一个 VC++ Win32 (支持 64 位) DLL 工程来支持串口通讯功能,代码用 C 语言开发。C# 程序可以调用 DLL 来完成从 UI 到底层硬件通讯得任务,但是其中会有很多细节,微软官方文档一般都能找到有帮助得信息。 |
25
shijingshijing 2018-04-12 18:20:37 +08:00
@gaoyadianta Winform 简单,都是标准预制件,做做槛控界面足够了。WPF 适合非标准界面,各种花里胡哨的界面只能选择 WPF。
|
26
shijingshijing 2018-04-12 18:22:37 +08:00 1
@XinLake 不需要整 dll 这么复杂, .Net framework 从 2.0 就自带了串口 SerialPort 类,命名空间 System.IO.Ports,配合 MSDN 分分钟上手,微软的全家桶就是这么爽。
|
27
gaoyadianta OP |
28
happinessnch 2018-04-12 18:24:42 +08:00
C# + CEF
|
29
gaoyadianta OP @happinessnch CEF 是什么
|
30
TaylorJack123 2018-04-12 18:35:07 +08:00 via Android
做过嵌入式开发的强烈推荐 QT,参照官方的例程,一天就能搞定一个简单的 App😁
|
31
ioth 2018-04-12 18:39:35 +08:00
delphi 7
vb6 |
32
XinLake 2018-04-12 18:50:11 +08:00 via Android
|
33
owenliang 2018-04-12 18:53:07 +08:00
QT 拖一拖吧
|
34
youthdou 2018-04-12 19:10:27 +08:00
qt 适合跨平台 尤其对嵌入式。
|
35
ysc3839 2018-04-12 19:17:07 +08:00 via Android
|
36
ysc3839 2018-04-12 19:18:19 +08:00 via Android
@gaoyadianta Chromium Embedded Framework
|
38
MinQ 2018-04-12 19:31:30 +08:00 via Android
@yazoox 不是可怕,而是 C++下面的 QT 不够简洁所以略麻烦,再加上 C++不是纯面向对象的,新手直接干有可能忘了自己回收内存 /搞出了野指针之类的,导致遇到奇奇怪怪的问题
|
39
MinQ 2018-04-12 19:32:44 +08:00 via Android
@ysc3839 这玩意跑起来就跟开了个 chrome 一样,眼看着 CPU 占用率和内存占用哗哗往上涨啊
|
40
justinwu 2018-04-12 19:40:04 +08:00 via iPhone
C# + winform,不二之选。
曾经嵌入式多年的我,就是用这开发的串口工具,同事都说好用。 OO 基础以及基本的 GUI 套路,都是通用的。 |
41
zhfsxtx 2018-04-12 19:40:53 +08:00
|
42
PythonAnswer 2018-04-12 20:05:10 +08:00 via Android
喜欢干小活用 python 然后随便加个 ui
|
43
ftexplore 2018-04-12 20:07:19 +08:00
现在做新的桌面软件基本都是,用 HTML 做 UI,例如微软的 vscode
|
44
alqaz 2018-04-12 20:37:54 +08:00
Qt
|
45
omph 2018-04-12 20:41:06 +08:00
windows 当然用 winform,微软傻瓜化是出名的
linux 当然用 qt |
46
imdong 2018-04-12 20:41:09 +08:00
什么都不要说了,除非楼主自己业余小打小闹弄着玩可以试下搞一下易语言。
否则任何条件下,都不建议使用易语言。 当下 C#应该是比较主流的吧。 |
47
jsq2627 2018-04-12 20:46:58 +08:00 4
简单小工具:c# + winform
界面复杂:c# + wpf 只考虑 win10 平台:c# + uwp 跨平台:html/js/electron 跨平台大型 GUI 应用:qt |
48
baixiangcpp 2018-04-12 20:51:31 +08:00
熟练使用 C++的情况下用 qt
|
49
bookit 2018-04-12 20:51:55 +08:00
这块早就凉了,
所以最佳方案是下载一串口配置的开源代码改改就行 |
50
defphilip 2018-04-12 20:54:08 +08:00
Qt
|
51
aminic 2018-04-12 21:21:31 +08:00 via Android
好上手体验舒服的也就 c# winform wpf
|
52
iwtbauh 2018-04-12 21:48:16 +08:00 via Android
其实,GTK+ 也可以在 Windows 上跑
|
54
Linko 2018-04-12 22:10:07 +08:00
C# + winform
|
55
Wicked 2018-04-12 23:04:31 +08:00 via iPhone
推荐 Qt,跨平台,丰富的文档和教程,完备的功能支持
|
56
XinLake 2018-04-12 23:44:45 +08:00 via Android
Qt、GTK 做单纯的 GUI 跨平台还行,像网站 APP 那样几乎就是个移动设备上的前端,只要 GUI 就好没啥功能,那样还行。
要是涉及到 APP 能力,如视频解码、3D 图形、图像处理、机器视觉、本地 AI 计算,这时 APP 可能需要使用硬件计算能力,那还是操作系统本身的 APP 框架好点,和系统其他组件结合得更好,问题少,效率更高。 |
57
cchange 2018-04-12 23:46:03 +08:00
WPF 看起来真心不错 不知道是否有开源的实现,不太喜欢网页技术……
|
59
g00001 2018-04-13 01:19:42 +08:00 2
|
61
MinQ 2018-04-13 06:53:30 +08:00 via Android
@ysc3839 我自己就是受害者之一啊,以前写过一个触摸大屏软件,要处理地图信息,最后选了 WPF+CEF,在那个破工控机上跑的,经常怀疑人生
|
63
hotsymbol 2018-04-13 08:41:59 +08:00
用 MFC+C#吧 坑不死你
|
64
weizhen199 2018-04-13 09:10:54 +08:00
这种东西还是 Qt 比较好。
winform 有点过期了。 wpf,破机器会卡 |
65
ibugeek 2018-04-13 09:31:41 +08:00
C#或 Qt,上手快得不行。
|
66
mohoumk2 2018-04-13 09:32:53 +08:00 via Android
c#
|
67
nicevar 2018-04-13 09:38:46 +08:00
熟悉 C++的用 Qt 最快最省事了,以后要用在其他平台上也方便,现在一般的工具我都用 Qt 写
|
68
skadi 2018-04-13 09:42:59 +08:00
qt
|
69
lvsemi1 2018-04-13 10:02:49 +08:00 via Android
我说 unity3d 会不会被打
|
70
hws8033856 2018-04-13 10:09:05 +08:00
上面说 C#+CEF 以及 WPF 的明显都不适合楼主的技术栈和快速出活的需求,因为这两者都要求用标记语言(html;xaml)做前端
|
71
macha 2018-04-13 10:19:35 +08:00
我感觉 C#的 winform 比较合适。界面分分钟拖出来。追求短平快 C++首先被排除。
|
72
thuai 2018-04-13 11:21:51 +08:00
Qt 如果会 Python 的话,就 PyQt。快的一逼
|
73
timsensor 2018-04-13 11:28:32 +08:00
MS .net 部署可能会遇到问题。
我推荐 QT,坑小 |
74
yunji3344 2018-04-13 11:33:36 +08:00
怎么说人说 delphi
|
75
liuminghao233 2018-04-13 11:57:43 +08:00 via iPhone
不跨平台就 wpf
要写一套放 mac win linux 就 qt 其他不考虑 |
76
MinQ 2018-04-13 12:36:03 +08:00 via Android
@liuminghao233 其实现在 WPF 也能跨平台了…… https://github.com/AvaloniaUI/Avalonia
|
77
mercurygear 2018-04-13 12:37:16 +08:00
WTL
|
79
Narcissu5 2018-04-13 12:55:01 +08:00
WPF 和 WinForm 的最大不同在于 WPF 是使用显卡渲染的,WinForm 用的是系统控件。WPF 本来就是针对现代机器设计的,配置不好会卡是肯定的,反过来说,配置好的机器不用 WPF 就是浪费
|
81
g00001 2018-04-13 13:07:08 +08:00
C#跟 Java 一样属于重型开发工具,如果是专业玩 C#准备投入三五年的全职时间可以玩,快速开发还是算了吧,C#写的软件需要.Net 运行库部署麻烦,另外 C#写的软件用反编译工具可以还原出全部的 C#源代码,连工程文件都可以还原出来。当然,如果不介意别人分享你的源代码,就没什么问题了。
electron 有同样的问题,用 js 写的软件很难真正保护源代码.而且 electron 不支持 win7 sp1 以下系统,另外一个是发行体积大: |
82
MinQ 2018-04-13 13:10:18 +08:00
@g00001 核心代码封装成 C++的 DLL 或者加混淆,Java 也有同样的毛病,安卓的 APK 天天被人逆向来逆向去的,还不是一样是混淆或者塞 JNI 里
|
83
Narwhal 2018-04-13 13:50:40 +08:00
这个帖子里没人讨论 labview 么
|
84
gaoyadianta OP @Narwhal 哈哈,其实我之前就是玩 labview 的,不过觉得那东西安装啥的还是麻烦了,以后想换一个
|
85
Clarencep 2018-04-13 14:04:25 +08:00
没有人说 go 语言吗?建议试用下 go,搭配 lxn/walk 库,C 语言用户肯定都喜欢 go 的。
|
87
aaniao002 2021-08-11 01:50:22 +08:00 via Android
要快的话走 qt 线路,要定制要大众要跨平台走 html 线路,win 全家桶不建议,啊三味太浓。
|