308治疗 http://news.39.net/bjzkhbzy/180423/6185448.html因公司有国产化(主要兼容麒麟操作系统+armV8架构的处理器)的项目的需求,为桌面应用程序,根据公司资源情况,在技术层面进行了一些选型调研。
一般来说,开发语言本身都是有跨平台能力的,比如java(jvm),c#(.netcore),python(python解释器),c++等等,所以要调研选型的方向主要是gui的跨平台能力。
如上所示:
如果对性能没什么要求,而且要界面绚丽,能加载html,与底层交互少,那么electron为最佳选择,而且electron开发简单,上手快;
如果单纯要求性能,那就是c++和qt了;
如果对性能要求不是很高,而且又要兼顾成本,还是建议eto+c#。虽然eto的资料不是很多,但有官方demo和基于eto的一些开源项目,自己跑一下,学习一下发现还是很简单的,业务逻辑使用c#,快速开发也不会有什么坑;
至于最后一种方案cef,这个是基于google的开源浏览器内核项目cef,业务端语言可以是python、java、c#、go语言等,界面交互直接用html+js方案,实现了开发C/S程序的前后端分离,前端调用业务端使用jsbridge方式,业务端渲染界面使用websocket,保证实时高效。
根据公司资源情况,我选择了c#+eto技术方案。
eto的github