文档章节

跨平台应用——Qt VS HTML5(上)

Miss_Hello_World
 Miss_Hello_World
发布于 2015/12/22 09:46
字数 1400
阅读 202
收藏 0

尽管对于面向大众消费市场的应用来讲,为每个平台构建一个独立的原生App已经被证明是当下最成功的方法,但跨平台仍然很有意义。在本文中,我们来看看最受欢迎的选择,使用HTML5的混合Web应用和积极进取的挑战者Qt

移动开发:跨平台应用——Qt VS HTML5(上)

为什么选择Qt?

那些熟悉Qt历史的人看到它被描述为“积极进取”可能会感到惊讶。Qt一开始被设计来构建跨平台的桌面应用,它的创始人在1994年开始为它工作!然而,当诺基亚收购Trolltech后,Qt开始对移动开发感兴趣,公司开始大力发展Qt,大量投资,想让它成为构建移动应用的理想工具。不幸的是,诺基亚刚刚作出这一战略决定没多久,iPhone面世了。iPhone改变了游戏规则,移动应用构建很快从面向带数字键盘和Qwerty键盘的设备转向以触摸操作为主的设备。前Trolltech工程师意识到他们需要一个非常特别的方式来创建应用支持诺基亚参与竞争。

当史蒂夫·乔布斯在iPhone面世时说iPhone比竞争对手领先五年时,基本上是正确的。可能因为Google的高官们意识到了iPhone的领先优势,Android已经缩短了一些差距。不幸的是,诺基亚最终放弃了它自己的基于Qt的设备,转而支持Windows Phone,然而他们在软件上花费了太长的时间,最后他们在生态系统的竞争中远远落在后面。他们把Qt出售给了一个主要的服务供应商——Digia,Digia最近为Qt这个产品建立了一个独资的实体——the Qt Company。只有从诺基亚完全解脱出来后,Qt才又回归到它作为跨平台框架的本源,开始支持主流的移动平台。然而,与此同时,其他人已经看到了诺基亚投资移动应用建立起来的伟大基础,因此,BlackBerry 10(黑莓10),Jolla Sailfish(旗鱼),Ubuntu Mobile和Tizen平台都选择Qt作为核心框架。

从个人角度来说,在2011年早些时候,一些开发人员用Qt为Symbian(塞班)重写了一个流行的iOS游戏。当时UI设计和通用调试工具还有点不成熟,但在工作过的所有平台中,它拥有最简单的学习曲线和最愉快的开发经验——尽管Qt的核心使用了对开发者不太友好但高性能的C++,但Qt甚至在某些配置相当低的硬件上也达到了60fps的性能。学习Qt新的UI技术——Qt Quick相当简单,您可以在短短几天内为游戏构建出菜单界面。

为什么选择 HTML5,或者不选择?

HTML5是开发者在构建跨平台移动应用时最流行的选择,然而它似乎慢慢有点儿失宠。Web browsers和Web views在每一个平台上都可用,web开发者可以把创建网站的技术平移到构建App上。像Cordova(PhoneGap之类的开源框架让使用HTML5的开发者可以访问移动设备的附加功能,并且将应用打包成每个平台的原生格式也很简单。额外的好处是,您通常可以用最小的付出,同时拥有一个基于Web的应用和一个放在应用商店里的应用。在构建以UI为中心的应用时,HTML5通常比原生应用更有效率。当涉及到使用库和框架来构建移动web应用时,HTML5也有一些尴尬。混合web应用程序有一个特别的优势(至少在iOS上),能够直接更新他们的代码,避开应用程序商店的审查过程(除了重大变化)。

移动开发:跨平台应用——Qt VS HTML5(上)

鉴于其普遍性和庞大的开发者基础,为什么HTML5不是默认的跨平台方法?尽管有许多优点,混合web应用开发者一直在和性能问题做斗争(一定程度上是由于不完整或过时的webview实现造成的,在最新版本的iOS和Android上,这个问题已经被修复了,尽管这将需要一段时间来渗透整个安装基数)。还有一个问题是各种各样的移动浏览器对标准的支持乱七八糟(这点正在改善但还远远没有彻底解决)。Web技术还没有真的被设计来满足移动用户现在期待的充满动画效果的UI。

一些非常高调的消费类初创公司已经公开从web混合应用切换到了原生移动应用。关于这些切换,最常见的说法是缺乏足够的相关工具。可以肯定的是,让web apps在内存受限的前提下在移动设备上表现良好是可能的,但鉴于当前的调试和性能分析工具的现状,与生产原生应用相比,那仍然不是一件容易的事情。这么说吧,并不是所有的应用程序需要完美的UI动画,我也不是拿HTML5和原生应用相比。所以,在下文中我将介绍它和Qt的比较,敬请期待!

Qt Enterprise最新版下载>>


本文转载自:http://blog.csdn.net/foruok/article/details/45676197

共有 人打赏支持
Miss_Hello_World
粉丝 17
博文 660
码字总数 399787
作品 0
九龙坡
cross-platform-apps-qt-vs-html5

http://www.developereconomics.com/cross-platform-apps-qt-vs-html5/ http://v-play.net/2014/10/qt-vs-html5-cross-platform-apps/...

itviewer
2015/10/30
0
0
基于HTML5技术的电力3D监控应用(二)

上篇介绍了我们电力项目的基本情况,我们选用HTML5技术还是顶着很大压力,毕竟HTML5技术性能行不行,浏览器兼容性会不会有问题,这些在项目选型阶段还是充满疑惑,项目做到现在终于快收尾了我...

xhload3d
2013/12/15
0
1
扣丁学堂HTML5培训课程怎么样

  在如今,随着移动互联网技术的发展和进步,比如HTML5在移动互联端的应用,让更多人了解到它的丰富性趣味性便利性,但HTML5就包括这些么?扣丁学堂HTML5培训课程怎么样?零基础能学会么?...

扣丁学堂
06/01
0
0
移动开发—HTML5 or Native?

移动开发—HTML5 or Native?HTML5,“Write once, run anywhere”,态势足以秒杀一切。而今随着移动设备越来越先进,对HTML5的支持度越来越高,进军移动领域时会遇到是选择HTML5和还是Nativ...

GeminiLiu
2014/06/09
0
0
前端存储 - localStorage

发布自Kindem的博客,欢迎大家转载,但是要注意注明出处 localStorage 介绍 在HTML5中,引入了两个新的前端存储特性: localStorage sessionStorage 这两者非常相似,都是用来在前端保存一定...

Kindem
07/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NIO与BIO的区别、NIO的运行原理和并发使用场景

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的...

Java干货分享
37分钟前
1
0
Makefile 学习 1 - 基于若干 Blog 的汇总

基于若干 Blog 汇总的 makefile 教程 陈皓 https://blog.csdn.net/haoel/article/details/2886 Makefile 基础知识 1. 什么是 Makefile? 规定软件工程的编译规则。一个工程中的源文件,其按类...

公孙衍
50分钟前
1
0
72.告警系统邮件引擎 运行告警系统

20.23/20.24/20.25 告警系统邮件引擎 20.26 运行告警系统 20.23/20.24/20.25 告警系统邮件引擎 邮件首先要有一个mail.py,以下。 因为我们之前zabbix的时候做过,就可以直接拷贝过来 mail.s...

王鑫linux
今天
1
0
09-利用思维导图梳理JavaSE-

09-利用思维导图梳理JavaSE-Java IO流 主要内容 1.Java IO概述 1.1.定义 1.2.输入流 - InputStream 1.3.输出流 - OutputStream 1.4.IO流的分类 1.5.字符流和字节流 2.InputStream类 2.1.File...

飞鱼说编程
今天
3
0
Spring Cloud 微服务的那点事

在详细的了解SpringCloud中所使用的各个组件之前,我们先了解下微服务框架的前世今生。 单体架构 在网站开发的前期,项目面临的流量相对较少,单一应用可以实现我们所需要的功能,从而减少开...

我是你大哥
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部