最近需要开发个比较简单的 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 ![]() 准备深入而且本身技能树是走嵌入式的话推荐 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 fengyj 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 ![]() @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 ![]() 简单小工具: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 ![]() |
![]() | 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 全家桶不建议,啊三味太浓。 |