50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

使用 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:003964

评论

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

ATE机台哪家强?

IC男奋斗史

芯片 半导体 职场经验 芯片测试 ATE测试

EVE-NG的Windows客户端安装

小魏写代码

GardenPlanner for Mac最新激活版(园林绿化设计软件)

胖墩儿不胖y

Mac软件 园林设计工具

大模型训练:深度学习的高级挑战

Geek_cf26da

大模型训练 大模型 千帆大模型平台

Apache Dubbo 云原生可观测性的探索与实践

阿里巴巴云原生

Apache 阿里云 云原生 dubbo

阿里云“玩转云上 StarRocks3.0 湖仓分析”,开启数据分析新范式

阿里云大数据AI技术

DBeaverUltimate 23 for Mac数据库管理软件

展初云

数据库管理 Mac软件

Termius 8 for Mac多协议远程管理软件

展初云

Mac软件 远程连接管理工具 远程访问

启动速度提升 10 倍:Apache Dubbo 静态化方案深入解析

阿里巴巴云原生

阿里云 云原生

使用CSS圆锥渐变创建背景图案

南城FE

CSS css3 前端 渐变

使用 Kubernetes 简化平台工程

SEAL安全

DevOps kubernetes 运维 企业号10月PK榜

苹果Mac文件管理浏览软件Path Finder中文破解版 支持Mac14系统

Rose

mac文件管理软件 Path Finder Path Finder破解

Navicat Premium 16 Mac数据库管理工具

展初云

数据库管理工具 Mac软件

华为云应用中间件DCS系列—Redis实现(社交APP)实时评论

XTransfer重磅发布“AI员工”,安信成CRM“数智化”再提速

XTransfer技术

AI CRM XTransfer

ChatGPT搅动AI芯片的“一池春水”

IC男奋斗史

AI 英伟达 芯片 半导体 AI芯片

Bridge 2024 (BR)新功能介绍及破解安装教程

Rose

Adobe Bridge 2024 BR2024下载 Bridge 2024破解版 Bridge 2024 中文版

几款好用的苹果Mac硬盘检测工具

Rose

SSD mac软件下载 Mac硬盘健康 硬盘检测软件

从策略和实践,带你掌握死锁检测

华为云开发者联盟

开发 华为云 图算法 华为云开发者联盟 死锁检测

茶百道全链路可观测实战

阿里巴巴云原生

阿里云 云原生 可观测

基于 Triple 实现 Web 移动端后端全面打通

阿里巴巴云原生

阿里云 微服务 云原生

RAG (检索增强生成)技术详解:揭秘基于垂直领域专有数据的Chatbots是如何实现的

Baihai IDP

AI 白海科技 rag 检索增强生成 Chatbots

可观测 AIOps 的智能监控和诊断实践丨QCon 全球软件开发大会总结

阿里巴巴云原生

阿里云 云原生 AIOPS 可观测

Python开发:pycharm pro 2023 永久激活秘钥【Mac/win】

Rose

Python开发 PyCharm破解版 PyCharm Pro密钥 JetBrainsPyCharm

Programming abstractions in C阅读笔记:p179-p180

codists

Avid Sibelius Ultimate 2023 for Mac(西贝柳斯音乐记谱软件)

Rose

西贝柳斯终极解锁版 Avid Sibelius 2023 Mac Mac乐谱制作软件

这三大爆款开源项目竟出自同一个20人的小公司?

硅基新手村

垂直大模型训练的关键步骤与策略

Geek_cf26da

大模型训练 千帆大模型平台

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