设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

GTK+3.0终发布:诸多新特性亮相

2011-2-13 17:39| 发布者: joejoe0332| 查看: 9867| 评论: 4|原作者: imtx.me|来自: imtx.me

摘要:   关注已久的GTK+3.0终于发布了,真是等着让我脖子都掉下来了。没想到这么快两年了。如今它终于发布,不记录点文字还真是过不去,我就稍微详细地介绍下GTK+3.0吧。   GTK+3.0的发布公告在此:http://mail.gnome. ...

  支持CSS的主题API

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

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

  多点设备的支持

  2011年了,到处都是支持多点的触摸屏了。GTK+也不能在这方面落后啊。通过对Xinput 2.0的支持,GTK+也支持多点了。这个多点可以是多个鼠标、多个键盘或者其他,总之是:多个输入设备。

  前段日子不是听到出Ubuntu平板电脑的新闻了吗?有GTK+3.0的话,应该会更给力的!

  更多Widgets、更棒的App API

  前面说的都是基础设施的改进,那么在应用层,GTK+有什么变动?

  首先是加入了更多的常用的Widget,如Switch(开关)、Grid(网格布局)等,另外还引入了GtkApplication这个类,想要实现一个应用程序+多窗口,或者单实例等等,就变得非常方便了。

  GTK周边:Glib和GObject Introspection

  GTK+不是一个独立的个体,它丰富的周边让它增色不少。比如它所依赖的GLib库,GLib是一个功能非常丰富的C库,在最新版本中,它引入了全 新的GSettings用于取代速度很慢的GConf。GSettings在不同的平台有不同的实现,提供统一的API供开发者使用,不像GConf,跨 平台不好。

  在Win32下,GSettings写注册表,在Linux下,GSettings的实现是dconf,一个存取非常之快的配置中心。以前 GNOME桌面有两个比较明显的缺点,一个是加载慢(GConf的初始化和读取设取影响很大),其二是应用程序跨平台不容易,尽管也是GTK+编写,但依 赖于GConf的原因,让移植变得困难。现在GSettings一并解决了这些问题。

  其次,还有GObject Introspection,它让GTK+的语言扩展能力尽乎无限。以前,除了GTK+、GTKMM(C++)以外,还有一些动态语言的绑定,如Pygtk、perl-gtk。但这些实现是各种独立的,维护成本非常高。

  但是GObject Introspection实现了GObject对象的统一调用,这意味着各种语言只要实现一个GObject Introspection的包装,什么 GTK+的API,都可以通过它来调用了。就像在Python里用ctype一样,但是通过GI技术,能像使用原生API一样来使用这些C库。

  目前为止,对GI支持比较好的已经有Python、JavaScript了。GNOME 3.0的重要组件——GNOME Shell即是使用了JavaScript来实现其UI逻辑部分。

  总结

  虽然让人等了很久,但是GTK+显然很好地完成了一次平台清理和新特性的加入,可贵的是它依然保持了细小的个头,将能在移动或嵌入式领域发挥重要作用。

  此外,自身架构的改变让它可以继续不断地进化,让Linux桌面变得更好!

  接下来,就看GTK+3.0在GNOME 3.0和实践生产中发挥作用吧!


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部