GTK+3.0发布 全面解析其诸多新加功能

作者:IT新闻网 来源:IT新闻网 2011-12-30 10:53:34 阅读 我要评论 直达商品

关注已久的GTK+3.0终于发布了,真是等着让我脖子都掉下来了。早在2009年2月份,我就开始跟踪GTK+3.0的开发,比如这篇文章:Gtk+ 3.0 Theming API Summary。到后来,我几乎是天天跟着GTK+的Git代码仓库来看它的进展,没想到这么快两年了。如今它终于发布,不记录点文字还真是过不去,我就稍微详细地介绍下GTK+3.0吧。

关注已久的GTK+3.0终于发布了,真是等着让我脖子都掉下来了。早在2009年2月份,我就开始跟踪GTK+3.0的开发,比如这篇文章:Gtk+ 3.0 Theming API Summary。到后来,我几乎是天天跟着GTK+的Git代码仓库来看它的进展,没想到这么快两年了。如今它终于发布,不记录点文字还真是过不去,我就稍微详细地介绍下GTK+3.0吧。

GTK+3.0的发布公告在此:http://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html

针对其一些重大更新,我稍微做点扩展介绍。

完全Cairo绘制

既然是图形库,如何绘制图形当然是最重要点。请注意,GTK+3.0在这点上,并不是革新的,因为GTK+2.x即已经在绝大多数地方使用Cairo绘制了。

Cairo是什么?它是一个矢量的绘图库,Firefox使用Cairo进行网页的绘制和文字排版。

GTK+2.0的时候,还不依赖于Cairo,在Linux下,是标准的基于xlib建构的图形库。直到GTK+2.8,Cairo才开始作为 GTK的重要绘图引擎,从来带来矢量、抗锯齿等特性。但是GTK+依然还有不少图形绘制方面的API及概念是基于X11的,这使得它的跨平台性真的不怎么 样。

举一个简单的例子好了,GTK+带有Colormap的概念(来源X11),因为Linux图形环境的限制,默认只能使用RGB的colormap,导致要实现透明的效果(即RGBA)很麻烦,并且兼容性、跨平台性不佳。

但在3.0中,所有跟图形绘制相关的东西,已经全面转移向Cairo了。跨平台相关的代码,基本上都在事件、屏幕、拖曳等处理上了。现在,即使开发者拥有自绘的界面或控件,也能保证在各种平台下有一致的效果了!

更棒的是,由于绘图API的清理和统一,使得GTK+3.0能非常容易地支持除X11、Win32和Mac以外的后端,这就是下节要讲的:

更灵活、更强大的平台扩展支持

前面说到了,GTK+3.0的完全Cairo支持让它的跨平台性更好了。除此之外,还有“平台扩展”能力的大福提升。什么是“平台扩展”能力?

还得记去年我写的《GTK+3.0跑在HTML 5上!——跟X说再见!》吗?对,得益于全新的架构,只需要实现一个后端,GTK+便能以HTML 5的姿态显示出来。

与其同时,GTK+的Wayland后端也在积极开发当中,基本上能在Wayland正式发布时,也有一个标准的GTK+可以使用。因此当 前,GTK+一共有:X11、Win32、Mac(Quartz)、HTML 5和Wayland这五个后端。用GTK+写软件,可以跑在这五个平台上!

另外,GTK+3.0还支持多后端功能,即在一个库里面内置不同的后端,在运行时而非编译时选择具体的后端。这对Linux图形从X11向Wayland发展有着非常重要的意义。

还是举一个例子:

熟悉Qt开发朋友应该知道,Qt有一个专门面向嵌入式的版本,叫Qte。但是一个Qt软件,必须在编译时确定它的链接库是Qt还是Qte,如果它要跑在Qte下,必须重新编使其链接至Qte。

但是GTK+3.0就不需要!多后端功能使GTK+可以动态的装载其后端。比如用户的电脑上同时有Wayland和X11环境,那么在有 Wayland的情况下,GTK应用程序可以以Wayland的形态呈现出来,在没Wayland有X11的情况下,它便可以以X11应用程序呈现出来。 这样同时照顾到了使用经典X11的用户和使用Wayland新桌面的用户,协助Linux桌面的逐步进化……

支持CSS的主题API

GTK+虽然拥有无数的第三方主题,但鲜有让人眼前一亮的。倒不是说缺少漂亮的设计,而是它的主题API不好,语法难懂、文档缺失,即使有好的设计,也不一定能实现出来。现在终于可以跟过去说再见了。

GTK+正式支持了CSS式的主题文件,还支持简单的动画属性——好歹是CSS 3.0了吧。之前的束缚已经没有了,稍微有点设计/前端经验的人,都可以简单地制作出GTK+的主题了。接下来就让我们期待有一个漂亮、精致的主题出现吧! 上一页1 2 下一页进入论坛>>


  推荐阅读

  英特尔投资播思等6家公司总额2600万美元

英特尔旗下投资部门英特尔资本周一宣布了6笔新的投资,投资总额为2600万美元。 北京时间2月14日晚间消息,英特尔旗下投资部门英特尔资本周一宣布了6笔新的投资,投资总额为2600万美元。 英特尔投资的企业包括开源移动>>>详细阅读


本文标题:GTK+3.0发布 全面解析其诸多新加功能

地址:http://www.lgo100.com/a/xie/20111230/186364.html

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
我的评论: 人参与评论
验证码: 匿名回答
网友评论(点击查看更多条评论)
友情提示: 登录后发表评论,可以直接从评论中的用户名进入您的个人空间,让更多网友认识您。
自媒体专栏

评论

热度