浅谈关于QT中Webkit内核浏览器

    关于QT中Webkit内核浏览器是本文要介绍的内容,主要是来学习QT中webkit中浏览器的使用。提起WebKit,你们天然而然地想到浏览器。做为浏览器内部的主要构件,WebKit的主要工做是渲染。给定一个HTML文件,WebKit的工做是把 HTML 格式的内容绘制出来,包括:node

  • HTML 的布局,譬如左边是什么,顶部是什么,中间是什么。
  • 根据用户设定,呈现文字,譬如字体是宋体仍是楷书,大小尺寸,重体斜体等等。
  • 显示不一样格式的图片,譬如 JPG , GIF , PNG 等等。因此, WebKit是一个渲染机(Rendering Engine )。

    浏览器与用户的交互,主要经过 JavaScript 程序控制 。譬如用户在浏览器界面上移动鼠标,有些图标会放大或缩小,颜色会变化等等。 严格说来,JavaScript Engine不属于WebKit,可是WebKit自带了一个JavaScript Engine,SquirrelFish。web

    不过在WebKit框架下,能够把SquirrelFish Java Engine替换成其它版本,而不影响WebKit总体工做。譬如,Google的Chrome浏览器,内部使用的渲染机是WebKit,可是 Google没有用SquirrelFish,而是本身另起炉灶开发了一套JavaScript Engine,取名V8。V8的来历不清楚,或许是由于Google的工程师喝多了V8果蔬饮料,因此就取了这么个名字。就如同Sun Microsystems的工程师喝多了咖啡,因而把他们发明的新语言定名为Java同样。ajax

    提及渲染机(Rendering Machine ),微软的 IE 浏览器用的 Rendering Engine ,名曰三叉戟( Trident );Firefox 用的 Rendering Engine ,叫 Gecko 。而 Apple 的 Safari ,以及 Google 的 Chrome ,用的 Rendering Engine 都是 WebKit。浏览器

    虽然IE浏览器 占据大部分市场份额,可是谈论 Trident 的文章不是不少。而Firefox使用的Gecko,它的特色是小,有点像 OS 的微内核同样,扩展性很好;最近几年,谈论 WebKit 的文章不少,甚至有人断言, WebKit是当今最好的Rendering Engine。WebKit之因此大热, 估计与如下几个因素有关:缓存

  1. WebKit 的前身是由开源的 Linux 项目组 KDE 设计开发的 KHTML ,后来 Apple 以为这个产品不只开源,并且架构设计简洁高效,因此就参与开 发。再后来,在产品将来开发计划上, Apple 与 KDE 产生分歧,因而各干各的, Apple 把产品名字改成 WebKit 。
  2. 基于 WebKit , Apple 公司于 2003 年推出 MacOS 平台的浏览器, Safari 。
  3. 2005 年, WebKit 源代码向公众开放。
  4. 同年, Nokia 推出 S60 平台的手机浏览器,其内部 Rendering Engine ,也是 WebKit 。
  5. 同年, KDE 宣布放弃 KHTML ,改用 WebKit 。
  6. 2007 年, Apple 推出手机 iPhone ,引发轰动。 iPhone 自带的手机浏览器,也使用了 WebKit 。 iPhone 的浏览器,缩放自如,引人注目。
  7. 2008 年, Google 推出浏览器 Chrome ,其内部 Rendering Engine ,也是 WebKit 。

    须要指出的是, Rendering Engine 的用途,并不限于浏览器,而是能够充当通用的 UI 实现平台。譬如,微软的电子邮件软件 Outlook ,虽然不是浏览器,可是其界面渲染,使用了微软的Rendering Engine,Trident。甚至微软的其余 Office 系列软件,也使用了 Trident。架构

    Chrome为何要用Rendering Engine来处理渲染,而不是用Java Swing那样的UI工具?估计有两个缘由:框架

    一、方便开发,吸引更多开发者。ide

        Java Swing当然不难用,可是广大开发者更熟悉HTML+CSS+JavaScript。哪一个手机能吸引更多开发者,它就能得到更多更好的应用程序。哪一个手机能拥有更多更好的应用程序,它的市场前景就更广阔。使用C/C++语言的开发者人数,不如Java的多。Java的用户,不如HTML+CSS+JavaScript的多。Palm WebOS之因此把GUI的管理基于WebKit基础之上,估计主要的目的是吸引广大Web开发者,这些人最熟悉的工具就是 HTML+CSS+JavaScript。工具

        Ruby on Rails的缔造者,David H. Hansson,于2007年6月发表过一篇博客,题为“我就是喜欢HTML+CSS+JavaScript,咋了?”( http://ajax.sys-con.com/node/395424)。文中表达了这么一个观点,以 HTML+CSS+JavaScript为表明的Web技术源于实践,它们已经发展和经受了10多年的考验。如今你们要作的,不是去追求无必要的所谓完美,而是用好HTML+CSS+JavaScript,把它们的潜力充分挖掘出来。或许David H. Hansson的观点有点偏激,可是不能否认的是,他的观点有不少拥护者。基于WebKit之上的GUI系统设计,Palm WebOS是否是有意迎合Web开发者?布局

    二、工做流程的柔性组织。

        复杂一点的应用程序,一般由多个页面组成,页面与页面之间的衔接,称为工做流程。应用程序的更新,不只涉及每一个页面的内容的更改,并且也涉及工做流程的变动。WebKit 这样的Rendering Engine,不只提供了单个页面的渲染,并且也提供了历史页面的缓存,支持后退(Back),前进(Forward)以及历史(History)等等功能。同时,WebKit可以记忆用户对于每一个页面作过哪些修改,甚至提供恢复(Undo)功能。

    小结:浅谈关于QT中Webkit内核浏览器的内容介绍完了,但愿经过本文的学习能对你有所帮助!

 

还有一篇文章不错,可供参考

相关文章
相关标签/搜索