背景:
本人存在比较多的桌面程序开放(功能主要有数据采集、数据计算、报告生成、excel导出)等功能,目前使用VC(MFC)、VB、CVI语言编写,界面设计非常头疼,并且比较丑。
一直有html+css+js的基础知识,想使用前端语言实现。目前了解的有nw,网易NEJ,有道hex,CEF等。因为存在硬件底层关系,准备在windows上VC平台使用,所以只有CEF可以实现。
问题:
1、CEF中JS与VC++通信的方式
2、一般直接填充html文本方式载入还是VC嵌套一个WEB server
3、除了CEF是否还有更合适的选择?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
说一下我的建议: 纯属个人建议,请慎重思考
既然是比较底层的桌面开发, 个人觉得还是选择专门负责桌面开发的语言工具比较好, 因为这些比较成熟. 虽然目前有一些可以把html,js,css这些内容,使用到桌面开发中. 但是,和底层打交道, 肯定就弱一些. 或很多.
至于题主,目前使用的语言工具. 做的界面比较丑, 那是肯定的. 主要是目前的软件都有所提高. 这个,后期可以找设计,设计一下就会好一些. 可能时间有些长. 同时,桌面程序的默认界面风格, 有一些是和系统有关的. 就像Win的风格和Mac的风格. 同一套代码,在不同的平台,会有所差距.
我个人比较了解的是Qt. C++ 的框架. 同时又是嵌入式的主力军. Qt的宗旨就是运行在任何的地方. 目前Qt5的版本,QGUI几乎都是支持HTML,css. 有些控件的样式,就是通过css设置的. 文字的样式html排版布局. Qt的富文本就是html代码. 至于QML,那简直就是桌面版的Web.后面语言也是js标准. 同时,还可以和C++交互. 前端设计有HTML,css,js管理,底层逻辑,有C++负责.而且很容易和系统交互. 同时还是嵌入式的. 这一条,确实很诱惑,但是请慎重考虑自己的情况.
鉴于你对于前端的基础,建议你采用Electron来构建桌面程序,通过electron,你可以快速构建自己应用程序,后台结合nodejs,前端可以自己选择,可以使用react、vue等前端框架
我推荐你直接上C#用WPF,也是一种方案
虽然我是搞前端的
同意 @springhack 的回答。介于你之前的经验,如果只是个人开发还是直接使用 WPF 比较符合你的习惯。
前端方案 nwjs 和 electron,其实限制越多(从传统客户端界面开发角度看)。而且这些方案都是 js 作为主开发语言,这个还是需要一些学习成本的(js没看上去那么简单);C/C++ 只能作为扩展存在,受限很大。
CEF 的方案,等于你要自己实现简易的 nwjs 或者 electron,需要学习和了解 chrome 的很多机制。关键是没人给你的项目持续优化的话,启动慢和程序包特别大是免不了的了,还可能有不少坑导致的bug。
需要很好界面效果的话,用 WPF 挺好的;如果是比较好的界面,Qt 也不错,还跨平台。
以上建议只针对个人开发。如果是团队项目,界面要求比较高或者已经有不错的js程序员的话(或者可以招一个),以上缺点可以忍受,用 electron 挺不错的。
利益相关:
C#做过一些传统客户端界面,目前是前端。