Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

< Qt

Qt / Web 混合编程

From Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台:
Symbian

文章
happywolf 在 12 Aug 2010 创建
最后由 hamishwillee 在 12 Aug 2012 编辑

Qt/Web混合编程


Contents

Qt/Web混合应用的出现

  今天人们生活、工作在一个互联互通的世界里。人们希望随时随地获得需要的信息。在此背景下,传统应用和WEB应用的界限越来越模糊。Qt/Web混合型应用的出现,结合了两者的优势,代表了引用开发的一种新方向。

  利用QtWebKit、QtNetwork等模块,我们可以很方便地把Qt C++与HTML、JavaScript、CSS结合起来,构建出一个混合应用。通过QtXmlPattern,可以下载、转换、查询XML格式的内容并轻松呈现给用户。

混合应用的结构

QtHybrid1.jpg

  与WRT widget相比:

QtHybrid2.jpg

混合应用的特点与功能

  混合应用很大程度上依赖于QtWebKit。作为一个现代、高效的HTML渲染引擎,它支持如下功能:

  • 标准化的渲染引擎(兼容ACID3)
  • 可以通过CSS来变换页面元素(包括旋转、缩放、扭曲、平移等效果)
  • 基于CSS的动画,如淡入、淡出效果。
  • 支持通过<video>标签嵌入视频内容
  • 整页面缩放(支持字体、图像缩放)
  • 通过NPAPI插件支持第三方媒体格式
  • 高效的JavaScript引擎

  另一方面,QtWebKit也支持本地应用与Web内容之间的交互。

  • 通过<object>标签在网页中嵌入Qt 控件(包括C++代码)。
  • 通过JavaScript访问Qt对象。
  • 通过Qt访问JavaScript。
  • 共享客户端存储。通过C++或JavaScript可以访问同一数据库,方便大量数据的共享。

混合应用的优势

  与WRT Widget比较,混合应用有如下特点:

  • WRT Widget有功能限制,一些平台功能无法访问。混合应用作为本地应用,没有功能限制。
  • WRT Widget的代码是解释执行的,是开放的。这种特性使它失去了对某些内容的保护。混合应用是编译后的二进制代码, 利于内容保护,提高执行效率。

  与普通应用相比,

  • 有别于传统的UI,可以用Web,flash等技术制作出更绚的效果。
  • 更易于把一些Web应用转换为Qt C++应用。

详细信息

QML 与 Web

   QML 作为Qt的一部分,是用来描述用户界面的。作为一种标记性语言,它具有简单、易用、高效的特点。它也是一种声明性的语言,即文件内容由实例定义和属性赋值组成。它的自身逻辑用JavaScript描述。

  QML 包含有WebView元素。该元素能够加载、显示和操纵Web页面。 结合JavaScript语言,可以实现QML/Web混合编程。不仅如此,QML将会支持地图、导航以及Mobility API,这将极大地丰富原有Web应用的功能,使得创建Web应用既简单又精彩。

  具体可参考 WRT widgets移植为Qt应用

相关资料

This page was last modified on 12 August 2012, at 23:23.
551 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×