写点什么

使用 V-Play 实现基于 Qt 的跨平台原生移动应用开发

  • 2015-11-10
  • 本文字数:2232 字

    阅读完需:约 7 分钟

V-Play 是一个基于 Qt 的桌面和移动设备跨平台解决方案。它旨在让开发者更加方便的通过使用 JavaScript 和 QML (Qt 5 声明式语言)创建应用。V-Play 支持 iOS、Android、WindowsPhone、BlackBerry 和其他移动平台。InfoQ 有幸采访到了 V-Play CEO 与联合创始人 Christian Feldbacher 就 V-Play 展开了讨论。

V-Play 旨在提供原生应用般的外观和感受,其 C++ 后段确保了高性能,Qt Quick 模块提供了简单的动画实现。这也使得可以通过集成自定义 C++、Objective-C 或者 Java 代码来使用特定于平台的功能。

V-Play 最初诞生于一个 2D 游戏开发引擎,最近扩展成提供通用移动应用开发。这里有一个示例,展示了如何通过 QML 声明一个使用现成 V-Play 用户界面组件的简单“Hello World”应用:

复制代码
import VPlayApps 1.0
App {
Page {
AppText { text: "Hello World" }
}
}

V-Play 提供了大量组件,包括用户界面、多媒体、网络等。重要的是,V-Play 提供的所有组件都使用C++ 实现,这确保了最佳的性能。V-Play 同时宣称,归功于QML,用户可以比直接使用C++ 少写十分之一的代码。V-Play 提供了许多示例应用,包括Twitter 应用、消息应用、天气应用。

InfoQ 和 V-Play CEO 和联合创始人 Christian Feldbacher 进行了访谈,以详细了解他们的产品。

请描述下V-Play的演化史?

V-Play 基于 Qt 框架,它已经非常适合应用开发。主要因为这些核心优势:

  • QML(Qt 元语言,Qt Meta Language):一种完全支持 JavaScript 的声明式脚本语言,可以在大量节省代码的前提下实现应用逻辑和其他功能。同时,QML 也易于学习和理解。
  • 动画用户界面和自定义主题:这些功能在 QML 中非常易于实现,同时这些功能对于移动应用来说变得越来越重要,QML 适用于移动开发。
  • 原生应用性能:Qt 应用的渲染使用的场景图渲染器,在一年前刚由 Qt 团队针对移动平台进行过重新设计和优化。这使得移动应用拥有非常好的性能。另外,Qt 框架自身使用 C++ 编写,使得它更加原生。

因此,我们已经在内部应用开发和移动应用项目中使用 Qt 和其他 V-Play 游戏组件有一段时间了。在过程中,我们注意到我们可以在不同移动应用中重用许多新的内部组件来加速产品开发周期。

这就是 V-Play 应用 SDK 的起点:使用 Qt 框架创建移动组件,来简化应用开发。这些组件允许开发者编写响应式应用,可以自动适配智能手机和平板或者纵向、横向的变化。同时,开发者也无需针对平台的修改,即可在 iOS 和 Android 平台上都能够有原生用户体验。

在多个应用中使用了 SDK,并对 API 进行微调之后,我们最终在 2015 年 8 月发布了第一个公开版本。

移动跨平台竞技场已经非常拥挤,你们带来的产品的主要优势是什么?

在我们的移动开发团队,我们有许多移动应用开发经验,这可以追溯到 iPhone 1 和 Google G1 发布的时候。在过去的 8 年中,开发领域发生了许多变化:刚开始原生 iOS 和 Android 开发是唯一的选择,然后越来越多的框架发布,允许跨平台开发。

过去,我们使用很多这类框架进行开发工作,目前仍然会有一些场景选择或者推荐原生 Obj-C 或者 Java 开发。然而,对于主要的移动应用,一个跨平台框架是节省时间和成本的最佳途径。

如果使用基于 HTML5 的框架,和类似 Qt 或者 V-Play 这些原生框架相比,会有较差的用户体验和性能。另一方面,诸如 Xamarin 工具会需要编写大量代码来实现动画等功能。

有了 V-Play,我们的使命是创建一个易于使用的应用框架,同时保留原生应用的性能、外观和感受,就像我们做了 V-Play 游戏引擎。

事实上,QML 实现快速开发可以在我们提供的示例应用中体现:例如 Twitter 应用(SDK 中自带了它的所有源码),只有 500 行代码,其中包括了访问 Twitter REST API 还有和 Twitter 原生应用相同的动画。用户可以在这里亲自查看和在自己手机上测试这个应用。

同时,由于 QML 构建于 JavaScript 之上,开发者可以轻松的学习这个框架。大部分开发者报告说他们能够在一天后进行生产开发。因此,对新开发者的学习曲线是非常平缓的。research2guidance 的跨平台工具去年报告显示:V-Play 在时间节省和容易学习项上得分第一,领先于其他诸如 Xamarin、KonyOne 和 Titanium 等工具。(全世界 2188 名开发者参与)

V-Play**** 最近支持了移动应用,你要添加的下一个重要功能是什么?

我们会投入大量精力在增加更多的示例应用程序上,这样开发者可以将它们作为自己移动应用的起点,例如一个导航应用或者一个新闻应用。此外,在列表的顶部是改进工具:通过 V-Play 构建服务,开发者可以将应用快速部署到多个 iOS 和 Android 设备上,而无需在工作电脑上安装任何 SDK。同时,这也将会使得在 Windows 平台上开发 iPhone 或者 iPad 应用成为可能。

然而,我们也仔细聆听来自社区的功能要求。因此,如果一个功能经常被要求,我们将会优先考虑。最后,我们想要做的就是通过 V-Play 应用 SDK,能够让跨平台移动应用开发更为便捷。在过去的 4 年中,我们已经了解到这个目标可以通过和社区开发者协作,更好的的来完成。

V-Play 提供免费版本以供开发者试用平台和构建局限性的应用,这些限制包括无法使用V-Play 自己的应用内购买和移动广告插件等。

查看英文原文: V-Play Enables Qt-based Cross-platform Native Mobile App Development


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-11-10 18:004075

评论

发布
暂无评论
发现更多内容

当AI和低代码成了你的团队

秃头小帅oi

非凸底仓增强算法上线西部证券,AI交易工具普惠个人投资者

非凸科技

ISO 50001 与碳足迹核算双达标:MyEMS 的能源管理体系合规实践

开源能源管理系统

开源 开源能源管理系统

从被动防御到主动免疫进化!迈格网络“天机” AI 安全防护平台,助推全端防护性能提升

迈格网络

基于 AI 网关提升大模型应用可用性的实践

阿里巴巴云原生

阿里云 云原生 LLM AI网关

移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现

阿里巴巴云原生

阿里云 云原生 Arms

5支AI短片亮相釜山电影节引热议,创作者肯定Seedance、Seedream模型能力

新消费日报

使用EventLog Analyzer进行Apache日志监控和日志分析

运维有小邓

媲美专业稳定器!天玑9500首发4K120帧双轨防抖,Vlog神器来了

新消费日报

面向企业构建科学完善的财务报告解决方案

智达方通

全面预算管理 财务管理

低代码“新建日程”实操攻略,效率直接翻倍拉满

引迈信息

如何在CAD图纸中添加外部参照?

在路上

cad cad看图 CAD看图王

数栈产品如何实现国际化

袋鼠云数栈

国际化 袋鼠云 数栈

捷行第三期读书会开启!欢迎免费参加!

ShineScrum

Palo Alto网络防火墙日志监控

运维有小邓

阿里云携手 海信聚好看 构建开源云原生大数据平台最佳实践

阿里云大数据AI技术

大数据 阿里云 数据湖 开源大数据平台

数字孪生 + 区块链:MyEMS 引领能源管理技术融合新趋势

开源能源管理系统

开源 能源管理系统

Modbus 与 MQTT 协议兼容:MyEMS 的泛在能源数据采集技术实现

开源能源管理系统

开源 能源管理系统

IT项目管理主要做什么?-ManageEngine卓豪

ServiceDesk_Plus

ManageEngine卓豪

微信分享的图纸在电脑上打不开怎么解决?

在路上

cad

技术小白福音!给老旧命令行程序加个GUI界面,从此点点鼠标就能用!

阿星AI工作室

学习 AI 大模型 AI产品经理

Adaptix C2:跨平台渗透测试与对抗仿真框架

qife122

网络安全 跨平台 渗透测试

2025图文摘要机构哪家值得信赖?意得辑备受好评

科技汇

从“救火队长”到“战略指挥”:现代项目管理者的效能进化论

Tecjt_锦图科技

项目管理 效率工具 敏捷开发 团队协作

ONES 荣获中国信通院铸基星图 ALM 平台“领航之星”

万事ONES

ONES 中国信通院 ALM 平台 应用生命周期管理 领航之星

深入解析Wallarm安全边缘:API边缘的即时防护技术

qife122

云安全 API安全 云安全网络安全

华为,让金融智能体月映千江

脑极体

AI

时序数据库 TimechoDB V2.0.6 发布 | 新增查询写回、黑白名单等功能

Apache IoTDB

n8n+MySQL实现数据库查询!

王磊

BaikalDB MCP Server :链接数据库和AI的直通桥

百度Geek说

分布式数据库 LLM MCP

东荟城名店仓CLUB CG「Chill『饰』玩周年庆」 过千款材料 打造DIY天堂

编程猫

使用V-Play实现基于Qt的跨平台原生移动应用开发_JavaScript_Sergio De Simone_InfoQ精选文章