点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

Qt 移动版优化后台云服务、支持跨平台开发

  • 2013-10-11
  • 本文字数:2617 字

    阅读完需:约 9 分钟

在 2013 年 Qt 开发者日中,Digia 公司宣布了能够跨平台开发的Qt 移动版本,此版本支持安卓、iOS 和其它移动平台上的开发。Qt 移动版提供了一个内置的、基于Qt 优化的云后台服务的多平台移动应用开发平台,即Enginio。通过Enginio 的Qt API,开发者可以为所有目标平台编写本地或者混合应用程序——这个API(接口)既可以使用Qt/C++ 也可以使用QML API。对于所有的Qt 库来说,它对所有的目标平台提供的是几乎完全相同的代码。

Qt 的移动版本将随着 12 月主版本 Qt 5.2 一起发布。Digia 强调,Qt 是唯一的一个允许本地应用程序跨桌面、嵌入式和移动平台开发的软件开发框架,并且支持部署到至少 14 种主流操作系统,包括许多处理器类型。Qt 支持安卓、iOS 和很多更有挑战性的移动操作系统平台,连同所有主流桌面操作系统,包括 Windows、Msc OS X 和 Linux,以及一些嵌入式操作系统例如嵌入式 Linux 系统、嵌入式安卓系统、嵌入式 Windows 系统和实时操作系统(RTOS)。

Qt 移动版本的主要特点:

  • Qt 移动版本的库和开发工具具有其他软件无法匹敌的本机性能和较好的开发效率。
  • 为安卓和 iOS 的应用程序提供跨平台的环境,并且另一个移动平台即将加入此环境中。
  • 数据的云存储和用户管理(Enginio Qt 云)
  • 商业开发和部署的许可证保护了开发的投入并且简化了应用程序的分发。

Digia 的 Qt 国际产品高级副总裁 Tommi Laitinen 认为:

通过应用 OpenGL ES,Qt 交付图形的能力增强了,它专门设计了进行图形应用程序编程的接口版本,从而为移动设备和嵌入式系统服务。这使得它能够更容易的开发和配置出丰富的图形界面和细腻的动画和过渡效果,也能够在性能相对有限的设备上顺利的呈现 2D 和 3D 效果,如手机和平板电脑。除了功能繁多的 Qt API 之外,使用 Qt 构建的应用程序也可以使用特定平台或者特定设备的 API,从而给开发人员整合他们程序所需要的任何功能的自由。

目前,移动开发领域中跨平台开发框架非常多,其中不乏精品。

PhoneGap, 现在叫 Apache Cordova , 允许你使用 HTML, CSS 和 JavaScript 来开发跨平台的移动应用。它通过一组 JavaScript API 对平台特定的本地代码做了抽象, 同时还保持了不同移动平台之间的一致性。Cordova 支持非常多的平台, 包括 iOS、Android、 Blackberry、 Windows Phone 以及 WebOS。

Tabris ,使用 JAVA 进行跨平台移动开发,是一个支持 iOS 和 Android 的跨平台 Java 移动开发框架。 Tabris 定位于企业,与其他移动解决方案不同的是,它使用了不同的方法:大多数编程工作都使用 JAVA 完成;业务逻辑和客户端 UI 的二进制表示运行在服务器端的 Eclipse RAP 上;一个很薄的客户端应用运行在移动设备上;服务器端通过 JSON 格式与客户端通信,发送数据和命令让客户端 创建可视的 UI;客户端使用原生组件生成界面;iOS 的客户端使用 Object-C 编写,而 Android 的客户端则使用 Java 编写。

Moscrif ,用 JavaScript 进行跨平台移动开发,Moscrif 是构建在定制虚拟机上的跨平台移动开发环境。尽管该平台提供了访问原生设备的功能,但编程语言却是 JavaScript 的一个定制版本。据公司联合创始人 Michal Habalcik 所说,Moscrif 已支持 iOS、Android、Symbian、Windows Mobile 和 Bada 等平台,而且还将在微软发布 API 之后,添加对 Windows Phone 8 的支持。Moscrif SDK 提供了开源框架、基于 Mono 的集成开发环境以及各支持各种平台的发布工具。除了核心功能,该框架还包含了大量类库,提供了对加密、2D 游戏、图形、多媒体(OGG,WAV)、网络、传感器和 SQLite 的支持,还提供了简洁的用户接口。Habalcik 还告诉我们,在不久的将来,他们打算支持原生用户界面,但这么做会对跨平台开发能力带来不利的影响。他们还打算将来添加对 HTML5 的支持,但是目前,Habalcik 认为“HTML5 有些严重的性能问题,所以不可能用来开发含有大量图形的高品质游戏”。

Webix JavaScript UI 库,XB 软件公司最近发布了 JavaScript UI 库 Webix ,其中包含的组件超过 45 个,用这些组件可以构建跟 HTML5 CSS3 兼容的程序,这些程序不仅能在个人电脑上运行,还能用在 iOS、 Android 和 Blackberry 设备上运行。它能访问离线 web 存储、地理位置( geolocation) API、能在画布上绘图,并集成了 jQuery 和 Backbone.js。Webix 提供了简单的服务端集成控件,PHP、 ASP.NET、Java 和 Ruby 等各种技术都可以跟客户端的 Webix 部件直接通讯。此外这些组件还能用在一些 MVC 框架中,比如 RoR、ASP.NET MVC、Spring、Struts 和 Grails.

当然,随着 HTML5 技术的发展和成熟,它已经逐渐成为跨平台移动开发的利器,Business Insider 在一份新出炉的报告中分析了 HTML5 和原生应用的优缺点,并提供了大量实际应用的案例。该报告指出,HTML5 应用在移动领域的魅力不言而喻:它基于 Web、在移动浏览器内运行,不受移动平台及设备的限制,也不需要开发者针对每个移动操作系统分别开发,“一次写成,到处运行”是它引以为豪的承诺。没错,HTML5 在很多时候表现得与原生手段并无二致,但是也有几点原因让它往往无法成为众望所归的“完美方案”:首先,HTML5 本身面临“碎片化”问题,不同移动浏览器对 HTML5 应用功能的支持存在差异性。再者,虽然 HTML5 及其相关 Web 语言——JavaScript 和 CSS 知名度极高,但是 HTML5 移动应用的开发成本往往并不低,也不能单纯地照搬桌面 Web 应用——它们需要优秀的专业人才,也需要巨大的精力投入。

该报告指出:

  • 在用户体验及性能方面,原生应用要超过 HTML5 应用,理由是 HTML5 依然不能很好地通过所有移动浏览器访问设备原生功能,在打造图形丰富的用户界面和呈现数据方面也存在局限性。
  • 在跨平台部署成本方面,HTML5 要占优势,因为 HTML5 是 Web 领域的通用语言,不受设备或操作系统限制。W3C 正在接洽汽车、出版和电视行业的公司以推广 Web。
  • 在快速更新和发行控制方面,HTML5 胜过原生应用。HTML5 的一大优势是开放性——它基于 Web,所以没有任何一家公司(如谷歌、苹果、亚马逊或三星)可以充当“掌门人”、放缓更新或者瓜分应用收入。不过,HTML5 在支持设备厂商推出的创新手机功能时有点慢。
  • 在盈利方面,原生应用更胜一筹。苹果 App Store 和谷歌 Google Play 等原生应用商店优势明显。而 HTML5 除了软件开发商各自在线销售应用之外,还没有出现令人信服的盈利模式。
  • 在编程人才数量方面,HTML5 占优势。HTML5、Javascript 和 CSS 都是 Web 领域的通用语言,而相比之下,iOS 工程师比较短缺而且开价昂贵。
2013-10-11 08:121871
用户头像

发布了 501 篇内容, 共 238.4 次阅读, 收获喜欢 55 次。

关注

评论

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

StarRocks 企业行|走进 58 同城,探索极速统一 3.0 时代的企业实践

StarRocks

数据库

镜舟城市行|镜舟联手永洪科技共话数智运营

镜舟数据库

数据库

MATIC马蹄链DAPP合约模式系统开发(搭建)

l8l259l3365

转角遇到爱,资源中心系统和图数据库

鲸品堂

技术 图数据库 企业号 2 月 PK 榜

三十分钟入门基础Go(Java小子版)

京东科技开发者

Java php Go nil 企业号 2 月 PK 榜

一文盘点,ZBC的应用场景与通缩场景

股市老人

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

JavaScript LeetCode

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

喜讯:行云绽放荣获国家高新技术企业证书

行云管家

高新企业 高新技术 高新

为实现跨境文件高速传输,镭速传输都用了哪些技术

镭速

企业级数据平台为什么要“可观测”? | StartDT Hackathon

奇点云

数据平台 可观测 云数据 黑客马拉松 奇点云

2023最新Java面试手册(性能优化+微服务架构+并发编程+开源框架)

小小怪下士

Java 程序员 面试 金三银四

设计模式第五讲-装饰器模式和代理模式详解

C++后台开发

数据结构 设计模式 后端开发 Linux服务器开发 C++开发

大咖说·图书分享|狼书(卷3):Node.js高级技术

大咖说

node.js 阿里云 开发者

阿里IM技术分享(十):深度揭密钉钉后端架构的单元化演进之路

JackJiang

一文盘点,ZBC的应用场景与通缩场景

EOSdreamer111

StarRocks获评「2022 中国开源社区健康案例」!

StarRocks

数据库 开源

云小课|使用SpringBoot快速构建FunctionGraph HTTP函数

华为云开发者联盟

开发 HTTP 华为云 企业号 2 月 PK 榜 华为云开发者联盟

详解Redisson分布式限流的实现原理

华为云开发者联盟

后端 开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

PMR 提取视频特征,理解上下文

Zilliz

Flink X Hologres构建企业级Streaming Warehouse

阿里云大数据AI技术

大数据 数仓 企业号 2 月 PK 榜 分层技术

Cloud Kernel SIG月度动态:发布ANCK 5.10-013版本、完整支持Intel SPR处理器

OpenAnolis小助手

开源 版本 内核 龙蜥社区 sig

GaussDB(DWS)性能调优:indexscan导致的性能问题识别与优化

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

熊猫小说家功能升级:支持阅读原文+更多功能等你解锁

澜舟孟子开源社区

NLP 大模型 AIGC 澜舟科技

IM通讯协议专题学习(九):手把手教你如何在iOS上从零使用Protobuf

JackJiang

倒带ChunJun,同心前行|2022年度回顾&2023年共建规划

袋鼠云数栈

开源

用javascript分类刷leetcode22.字典树(图文视频讲解)

js2030code

JavaScript LeetCode

Qt移动版优化后台云服务、支持跨平台开发_语言 & 开发_崔康_InfoQ精选文章