BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 12 他的粉丝 ,译者 金灵杰 关注 5 他的粉丝 发布于 2015年11月11日. 估计阅读时间: 7 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

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读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT