打造一款桌面自动化软件似乎既困难又充满商机。市面上已有不少RPA商业软件,比如UiBot和影刀RPA等,这个行业吸引了不少投资,亿级融资并不罕见。这无疑是个热门领域,然而,其中的开发难度和技术选择的难题同样不少。
开发的动力
由于个人兴趣,我打算着手开发。过去我在公司负责过自动化工具的相关工作,对自动化技术,特别是RPA一直保持关注。虽然了解到市面上商业软件功能丰富,但技术实现难度并非遥不可及,从基础功能做起是条可行的道路,因此产生了开发的想法。我的朋友们知道我之前用Vue技术开发了抖直播应用,这让我对开发RPA软件充满了信心。
我具备开发RPA软件的底子和热情。当前,RPA行业备受关注,许多企业纷纷投入资金推动发展。若能打造出独具特色的应用,前景将十分广阔。
系统API的疑问
开发阶段,我对系统API的兼容性存疑,并考虑是否有更优的解决方案。RPA软件的运行依赖于系统的底层支持。与先前开发抖直播项目不同,本次开发需更深入地研究系统底层。
研究过程中,我们发现这个问题的解决并不容易。各种技术架构在系统API的兼容性方面各有千秋。比如C#与WPF的组合,虽然广泛用于桌面应用的开发,但在性能表现和用户需安装的net库方面存在不足,同时在系统API的融合上也未能做到尽善尽美。
调研主流技术栈
桌面应用开发涉及多种主流技术体系。其中,C#搭配WPF技术较为成熟,相关资料丰富,不过它在性能和.NET库安装方面存在一些问题,并且仅限于特定平台使用。
Electron适合开发桌面应用,资料丰富,开发成果也颇佳,但速度较慢。此外,系统API的兼容性难以确定,因为没有相应的软件可供参考。Flutter虽然能实现全平台开发,但许多系统层的API并不支持,且生态尚处于起步阶段,所以不考虑使用。
CEF的优势与不足
CEF表现尚可。它能兼容XP操作系统,提供丰富的C++API供调用系统功能,并且与其它UI框架结合较为顺畅。
不过,CEF存在一些不足。首先,它不支持XP系统,这是它的一个明显缺陷。其次,要充分发挥其优势,开发者必须熟悉框架源码,并且需要掌握C++编程技能,这对开发者的要求相对较高。
源码保护
源码保护不足的问题十分引人关注。这样的软件很容易遭受逆向工程,大多数情况下都难以抵御破解。即便采取了防范措施,也只能缩小能够破解的人群范围。
这对开发者来说是一项艰巨的任务,若所开发的软件具备价值,便可能遭受破解的威胁,这无疑减少了开发者对收益的期待。
下一步的思考
目前观察,开发桌面RPA软件面临不少困难。在技术选型上,需仔细考量利弊得失。究竟应该选用成熟但存在不足的技术,还是选用功能全面但操作难度较大的技术?
读者朋友们,若你们打算制作桌面版RPA软件,会更重视哪些技术特点?期待大家的点赞、转发,并在评论区交流看法。