0
我正在开发与蓝牙设备交互的Qt桌面应用程序。这个应用程序的界面应该在QML中开发。QML应用程序与QML/C++应用程序
本申请应该包含2个模块:
- 前端模块:将在QML开发UI。
- 后端模块:蓝牙设备的交互和控制。
由于Qt框架包含了蓝牙技术在QML(BluetoothDiscoveryModel
,BluetoothSocket
和BluetoothService
)和C++(QBluetooth
...)的实现,我想知道我该怎么QML和C++之间选择,以实现后端模块,在:
- 表现。
- 应用程序的体系结构。
将QML和C++结合起来是否安全?
我个人不会将性能作为主要决定在哪一方实施,但是可靠性和可测试性。用于静态代码分析等的工具对于C++等来说更加成熟,甚至不需要为了确保没有语法错误而要求100%分支覆盖率的JavaScript。 –
我对QML的主要问题不是性能,而是内存使用情况,因为它很笨拙,所以我通常最终会将相当大的QML文件整合到一个C++类型中。但IMO最重要的指标是开发时间,在这方面QML是一个巨大的节省,这是我使用它的唯一原因。我在生产中从95%的C++使用到95%的QML使用率,不仅开发速度更快,而且查明错误的速度也更快,因为不是硬碰撞,而是“出现了这一问题”,这更好比手动调试。 – dtech
没错,只要一个人留在QML中并使用声明性功能就没问题,我指出的问题是进行实际处理。只有极少数人致力于严格的测试驱动开发,以保持JavaScript功能的正常运行和可维护性。 即使绑定在这方面可能很困难,因为它们基本上也是JS的功能,并且拼写错误并不总是会导致警告 –