共 1,303 篇文章
共 6,316 篇文章及评论
- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Archives
帖子来自 方亮 (Intel) 
QML入门教程(3) -- 转载自www.cuteqt.com
作者: 方亮 (Intel) (27 篇文章) 日期: 十二月 20, 2010 在 8:54 上午
评论 (0)
本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。 原文链接:QML入门教程(3) 经过前面两个教程,文字也能显示,也能处理鼠标事件了,来点动画吧。 这个教程实现了当鼠标按住的时候,Hello,World从顶部到底部的一个旋转过程,并带有颜色渐变的效果。 完整的源代码main.qml import Qt 4.7 Rectangle { ...
分类: 移动技术
标签:qml
QML入门教程(2) -- 转载自www.cuteqt.com
作者: 方亮 (Intel) (27 篇文章) 日期: 十二月 20, 2010 在 8:52 上午
评论 (0)
本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。 原文链接:QML入门教程(2) 在上一篇文章里我们使用了最基础的QML类型实现了文字Hello,World的显示。这篇文章中将会增加颜色选项面板,用户可以给Hello,World设置不同的颜色,如下图显示 QML组件 从图中可以看到选项面板由6个颜色小块组成,它们唯一的区别就是颜色不一样。那么我们就可以用组件(Component)来实现一个颜色块,然后在需要的时候使用这个组件就可以了。组件其实和其它编程语言中的宏,函数,类,结构体等功能差不多,就是代码复用。作为程序员,我知道你懂的。 组件由一个单独的QML文件名组成,文件名总是以大写字母开头,要使用该组件的时候直接使用该文件名就可以了。关于如何定义自己的组件,请访问Defining new Components。我们为一个颜色块定义了一个Cell.qml文件,然后使用Cell作为一个去访问它。 Cell.qml的内容 import Qt 4.7 Item { ...
分类: 移动技术
标签:qml
QML入门教程(1) -- 转载自www.cuteqt.com
作者: 方亮 (Intel) (27 篇文章) 日期: 十二月 20, 2010 在 8:49 上午
评论 (0)
最近自学QML时在网上找到几篇不错的介绍QML的博客,转到此处与大家共享。 本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。 原文链接:QML入门教程(1) 前言:Qt Declarative UI 传得沸沸扬扬,却很少有中文资料介绍这是一个什么样的技术,以及如何使用它。偶尔能搜到几篇也是掐头去尾的,让人摸不着头脑。CuteQt网友英狐奉献的三篇文章很有参考价值,把我带入了门。我准备翻译的这个入门教程来自于Qt官方文档,更多的是语法性的介绍。说是翻译,其实是我在原文基础上的一个阅读理解吧。 QML是什么? QML是一种描诉性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制。我个人认为它结合了QtDesigner UI和QtScript的有点。QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C++代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。 如何使用? 在Qt C++文件中通过QDeclarativeView加载,就像使用UiLoader加载.ui文件一样。不过本文不会去介绍如何在Qt C++中使用QML,而是把重点放在QML的语法上,不过别担心看不到.qml文件的效果。Qt提供了一个工具QML Viewer可以查看.qml文件生成的效果,该程序在Qt的bin目录下,应用名字叫qml(Windows下叫qml.exe)。所以你在看到别人提供的.qml文件时,你可以用下面命令qml ...
分类: 移动技术
标签:qml
用Clutter写控件?不妨看看MX
作者: 方亮 (Intel) (27 篇文章) 日期: 一月 20, 2010 在 6:19 下午
评论 (7)
之前写过一些介绍Clutter的文章,Clutter将2维的图形搬到了3维的舞台上,并提供了简单的操作接口,使得应用程序的界面可以更加丰富多彩。不过经常进行图形界面开发的程序员会发现,Clutter的缺点也十分的明显——那就是图形控件少的可怜。由于缺少像按钮、单选/复选框、进度条等控件,开发者不得不费时费力的实现一套自己的图形控件库,或者是利用GTK开发应用程序,大部分使用GTK的控件,只在程序内部嵌入Clutter,实现部分的3D效果。 有没有基于Clutter的图形控件库呢?The answer is YES! 现在Moblin.org上有一个名为Moblin UI Toolkit(简称MX)的项目,它为开发者提供了一套基于Clutter的常用控件,包括了常用的图形控件如button, toggle button, combobox, ...
分类: 开放源代码, 移动技术
标签:Clutter, Moblin UI Toolkit, MX
Intel AppUp Center上线了
作者: 方亮 (Intel) (27 篇文章) 日期: 一月 12, 2010 在 3:45 下午
评论 (3)
1月7日,Beta版的Intel® AppUpSM Center正式上线,随之一同发布的还有一款上网本客户端软件,通过这款客户端,用户可以方便的浏览、搜索、购买和下载应用程序商店中的软件,并且可以管理已下载的软件,对已下载的软件进行评分和发表评论。不过目前暂时只有针对Windows操作系统的客户端,且该服务目前暂时只针对美国和加拿大用户开放。 AppUpSM的正式上线标志着Intel的应用程序商店已具雏形:开发者可以通过Intel® Atom™ Developer Program提交所开发的应用程序,如果该程序通过了审核验证,那么最终用户可以通过Intel® AppUpSM Center的客户端看到这款软件,并且能购买与下载安装。 更多消息请参考http://www.intel.com/consumer/products/appup.htm?cid=sw:dev4atom291和http://appdeveloper.intel.com/en-us/ 以下是Intel AppUp Center客户端的一些截图,由于中国用户暂时无法申请账号,所以就只有这些啦。:)
分类: 其他, 移动技术
标签:AppUp
使用Moblin SDK和Anjuta搭建Moblin V2开发环境 (3)
作者: 方亮 (Intel) (27 篇文章) 日期: 十二月 10, 2009 在 4:01 下午
评论 (0)
在前两篇博客中曾经提到过Moblin Anjuta Plugin。假如有读者亲自动手搭建过Moblin V2的开发环境,或者在Moblin.org网站阅读过相关的内容,可能会发现在Moblin Anjuta Plugin的设置界面中,Target选项除了外部设备,也就是上网本之外,还有一个QEMU模拟器的选项,这是不是意味着可以使用QEMU和Moblin镜像来替代上网本作为目标环境呢?由于Moblin.org上并没有介绍相关内容,因此决定自行摸索一下。 首先,使用Moblin Image Creator2创建一个Moblin V2的KVM镜像文件。在终端上运行以下命令: sudo moblin-image-creator ...
分类: 移动技术
标签:anjuta, kvm, Moblin
转载:Mobile Device Thieving Soon Won’t Pay
作者: 方亮 (Intel) (27 篇文章) 日期: 十二月 1, 2009 在 12:44 下午
评论 (0)
逛Moblinzone时发现了这篇博客,作者介绍了Intel Anti-theft Technology和使用场景,转来和大家一同学习,增广见闻。:) Mobile Device Thieving Soon Won’t Pay by Lisa Morgan Intel ...
分类: 可管理性, 移动技术
标签:anti-theft, laptop
使用Moblin SDK和Anjuta搭建Moblin V2开发环境 (2)
作者: 方亮 (Intel) (27 篇文章) 日期: 十一月 30, 2009 在 7:20 下午
评论 (4)
Moblin.org上有一篇教程叫"Hello Moblin",讲的是如何使用Moblin工具与开发环境来开发、调试应用程序。具体内容大家可以到http://moblin.org/documentation/moblin-sdk/hello-moblin上阅读。在此,我讲一下大致的流程。 1. 使用Linux Project Generator(LPG)生成项目。通过LPG图形化的界面,用户可以设置项目类型(终端或图形),开发语言(C/C++/python),项目路径,License以及编译参数等内容。当生成项目时,LPG帮助用户生成项目框架,其中包括了代码框架,文档框架以及项目编译时所需的autogen框架文件。 2. 使用Anjuta导入生成的项目。进入Anjuta,通过菜单选择File->New->Project From Existing Source,就能轻松的将项目导入。 3. Coding ...
分类: 移动技术
标签:development environment, Moblin V2
使用Moblin SDK和Anjuta搭建Moblin V2开发环境 (1)
作者: 方亮 (Intel) (27 篇文章) 日期: 十一月 30, 2009 在 5:51 下午
评论 (2)
之前曾经讲过如何搭建Moblin 1.0的开发环境。不知不觉间,Moblin V2出了SDK。利用Moblin SDK和Anjuta——一个Linux上知名的IDE,可以方便的搭建出Moblin V2应用程序的开发调试环境。 首先要做一点准备工作: 1. Linux台式机一台,作为开发机,使用Fedora和Ubuntu均可。 2. 安装有Moblin V2镜像的上网本一台,用来调试程序。如果没有,也没有关系。 清单就到此为止,挺简单的吧,呵呵。准备完毕后,我们就要开始搭环境了。 第一步,下载安装Moblin SDK到开发机。下载地址是 http://moblin.org/sites/all/files/moblin-sdk-0.8.tar.bz2。下载完成后找个目录把压缩包解开,编辑目录中的envsetup.sh,将$MOBLIN_TOOLCHAIN的值设成Moblin工具链的实际路径。假如Moblin ...
分类: 移动技术
标签:development environment, Moblin V2
Moblin软件加油站登场
作者: 方亮 (Intel) (27 篇文章) 日期: 九月 25, 2009 在 5:19 下午
评论 (8)
Moblin软件加油站是一个包含免费开源应用程序与免费闭源应用程序的在线应用程序目录。目录中提供的应用程序通过Moblin Application Installer安装到本地。Moblin Application Installer是一个本地应用,可以从Moblin Myzone面板中启动,为用户提供了Moblin软件加油站的目录,用户可以从中选择软件来安装。简而言之,就是另一个apt或yum,呵呵。 目前Moblin软件加油站和Moblin Application Installer还处于开发阶段,仅供测试。 想知道更多内容,可以访问http://garage.moblin.org/welcome-moblin-garage-catalog
分类: 移动技术
标签:Application Installer, Garage, Moblin
步行导航乱谈
作者: 方亮 (Intel) (27 篇文章) 日期: 九月 11, 2009 在 6:44 下午
评论 (13)
前不久去厦门旅游了一回,旅馆选在鼓浪屿上某家新开的家庭旅馆。第二天早上,拿着打印好的网上不知哪位大侠制作的美食地图,在岛上开始了腐败之旅。鼓浪屿上地形比较复杂,地势起伏,道路窄,路网不规则,道路命名在我这个外乡人眼里也不完善,比如岛上最热闹的龙头路是由两条相互交叉的道路构成的,我们走了不少弯路却还没有遍历所有美食。其间,我也曾掏出手机查看电子地图,可能是因为岛上不通汽车的关系,鼓浪屿地图上的信息非常少。如果这时能有一款好的步行导航软件/设备,那该有多好…… 步行导航与传统的车载导航有着相似的地方,也有许多不同之处。第一,路径规划方法不同。步行导航往往以公共交通工具为主,如公交车、地铁等,因此在步行导航时,用户需要知道公交换乘线路,路径规划时则要考虑最短距离、最短步行距离、尽量乘坐地铁等方面,早末班车时间也需要计算在内。第二,步行导航所使用的地图信息需要比车载导航更加详细,如人行天桥、过街隧道等不通车辆的元素都需要加进地图里。居民小区内部的道路也要加到地图中,最好能有门牌到门牌的导航。第三,导航提醒方式不同。用户在车上无需知道“前方100米右转”、“前方500米到达目的地”,以站为单位,提前两站提醒比较符合用户的习惯。第四,用户在户外需要了解面对的方向,电子罗盘也很有必要。 设想一下,在一个大型的博物馆或者展会上,就比如说明年即将召开的世博会吧,场地大、展馆大而多,站在入口的你会不会有无从入手的感觉?如果室内定位技术可以与室内地图相结合,室内步行导航则成为可能。导航软件不仅能为用户安排合理的参观路线,告知便民设施的位置,还可以像导游一样介绍正在参观的景点。:) 除了提供导航功能,步行导航还可以与位置信息服务结合起来。以旅游为例,地图可以内置或者接受推送来的景点的相关信息,如景点介绍、便民设施、当地特产、门票/购物优惠券等,还可以帮助游客规划游览线路。在电影院附近,则可以推送当日排片表、影片介绍、票价和当前出票情况。目的地附近的商店的打折信息和餐厅的消费券对商家而言都是很好的吸引消费者的手段。 这些只是个人在旅行中的一些想法,随手写了下来,很希望看到大家关于位置相关应用的精彩点子。砖已经抛出来了,等着大把的玉砸过来。:)
分类: 其他, 移动技术
标签:步行导航
我眼中的Clutter 1.0
作者: 方亮 (Intel) (27 篇文章) 日期: 八月 7, 2009 在 5:14 下午
评论 (1)
Clutter在不知不觉间发布了最新的稳定版——1.0。粗略的看了一眼Clutter 1.0的用户手册,和Clutter 0.8相比,主要有以下一些变化: 1. ClutterText控件取代ClutterLabel和ClutterEntry。在Clutter 1.0中,原来的ClutterLabel和ClutterEntry控件被取消,取而代之的是ClutterText,它将ClutterLabel和ClutterEntry的功能合二为一,既可以显示文字,又可以编辑文字。 2. ClutterTexture开始支持异步加载图片。从1.0开始,ClutterTexture开始支持异步加载图片。当通过函数clutter_texture_set_from_file()从图像文件中加载图片,并且属性load-async为TRUE时,Clutter会创建一个本地线程来加载图像并立即从函数中退出,当图片的实际尺寸被获取时Clutter会产生size-changed事件,当图片加载完成时会产生load-finished事件。 3. ClutterClone取代ClutterCloneTexture控件。顾名思义,ClutterClone可以克隆所有ClutterActor,而不仅仅是ClutterTexture了。 4. 新增了ClutterAnimation控件。ClutterAnimation为用户提供了在程序中让某个对象使用动画的简单方法。不必烦恼Alpha、Behaviour和Timeline,一个clutter_actor_animate()函数全部搞定。 5. 文档更完善了。:) 当然,API的变化还有不少,但个人觉得以上内容更重要些。
分类: 移动技术
标签:1.0, Clutter
让人郁闷的系统工具栏
作者: 方亮 (Intel) (27 篇文章) 日期: 七月 22, 2009 在 3:20 下午
评论 (10)
Moblin V2 Beta版刚发布不久,我立马在Asus Eeepc上装了一个。和传统的Gnome桌面相比,这套被称为UX的新界面给我的第一印象很酷,但用久了之后感觉UX更加适合带触摸屏的设备,而不是使用键盘加触控板的上网本。 就说说让人郁闷的系统工具栏吧。 系统工具栏默认隐藏在屏幕的顶部,当鼠标移动至顶部时(大概有10个像素的空间),工具栏就被激活并显示。这个设计看起来很酷,但在上网本上实际使用起来就不同了。众所周知,上网本使用触控板操作指针,精度远不如鼠标,于是工具栏就经常因为误操作而出现。工具栏的出现将输入焦点从应用程序处抢走,影响了用户的使用体验。 观察了一下Moblin中应用程序的UI设计,发现大部分应用在窗口顶部UI控件众多,而窗口底部的控件相对较少,建议把系统工具栏移至屏幕底部,减少误操作产生。
分类: 移动技术
标签:Moblin V2, UI
使用Moblin开发程序——Clutter之UI描述语言
作者: 方亮 (Intel) (27 篇文章) 日期: 六月 26, 2009 在 4:17 下午
评论 (14)
在说Clutter的UI描述语言之前,先说说一般情况下UI设计团队与开发团队的合作模式。通常,UI设计团队将UI设计图交给开发团队后,开发团队就开始埋头coding了。假如一切都是如此理想,那自然再好不过了。可是,光明的前途常常伴随着曲折的道路,项目中的变化是难免的。冷不防的就冒出个人来,讲客户对UI的要求不是这样这样滴,而是那样那样滴。改呗,UI团队改图,开发团队改代码,带来的工作量可不小。如果UI设计完后能自动产生UI的代码就好了。 有人就提出了UI描述语言。让UI设计人员学习这种十分简单的描述语言,将UI设计用这种语言来描述,然后通过工具就可以自动生成代码,假如UI设计发生了变化,重新生成代码也很方便。 Clutter就提供了一种UI描述语言。它的语法基于JSON——JavaScript Objective Notation。语言所描述的每一个UI元素我们都称之为”Object”——对象。每个对象至少拥有2个属性——ID和Type。UI描述语言支持的对象类型十分广泛,不仅包括所有的Actor和Container,还支持Behaviour。开发人员在程序中如何使用呢?如果UI描述保存在文件里的话,先通过clutter_script_load_from_file()读取描述,然后使用clutter_script_get_object()函数通过对象的ID来获取对象。 看个简单的例子吧,定义一个100x100的红色矩形。 { "id" : "red-button", "type" : "ClutterRectangle", ...
分类: 移动技术
标签:Clutter, Script
使用Moblin进行应用程序开发——Clutter之动画
作者: 方亮 (Intel) (27 篇文章) 日期: 六月 16, 2009 在 2:19 下午
评论 (16)
正文开始之前先说几句别的。上月20号发布的Moblin V2 Beta版中,Clutter的版本已经到了0.9,API与clutter 0.8相比有了些变化,两者在API上已不兼容。鉴于pyclutter目前版本依然还是0.8,并且本系列博文更侧重于概念,因此所用的API一律基于clutter 0.8。等clutter 1.0正式版本发布后,我们再来看API的变化。 之前讲了一点有关Actor与Stage的内容,有了演员和舞台,接下来自然而然就要上台表演,也就是这里所谓的动画了。在Clutter的动画中,有三个概念不得不提一下,他们是——Timeline,Alpha和Behaviour。 Timeline,即时间轴,也就是表演的时间段,这个概念我想大家应该都能明白,不多废话了。Behaviour,即行为,也就是表演的内容,比如放大、缩小、旋转、透明化等等均属于行为的范畴。最后讲讲Alpha,这个词挺难翻译的,如果放到表演上来理解,Alpha所指的应该是表演方式。比如同样是将某个Actor放大2倍,通过Alpha可以控制是采用线性放大,加速放大还是减速放大等效果。Alpha其实是一个与总帧数和当前帧相关的函数,它的返回值是一个介于0和ALPHA_MAX之间的数,每当一个新的帧产生时都会调用Alpha函数,通过Alpha函数的返回值来确定当前帧的变化。用户可以自定义Alpha函数,也可以使用clutter提供的一些常用Alpha函数。 一般来说,基于clutter进行动画编程,代码结构通常是这样的: 1. 创建时间轴ClutterTimeline 2. ...
分类: 移动技术
标签:Animation, Clutter, Moblin
使用Moblin开发应用程序——Clutter之GTK与Clutter
作者: 方亮 (Intel) (27 篇文章) 日期: 四月 24, 2009 在 4:22 下午
评论 (8)
在上次的Demo中我们实现了鼠标拖拽的效果。理论上说,现在该是做一些具体功能的时候了。写程序时却发现,在Clutter中要做个菜单、工具栏啥的太麻烦了。为了偷懒,我就尝试着将上次的Clutter程序先搬到熟悉的GTK上。 从Clutter的设计目标来看,Clutter是支持与GTK进行互操作的,也就是说,无论是在GTK的程序框架中嵌入Clutter控件还是在Clutter程序框架中嵌入GTK控件都是支持的。理论归理论,目前Clutter仅支持在GTK框架中嵌入Clutter代码。 要在GTK程序中使用Clutter,首要任务是搭台,也就是在GTK中为Clutter找到一个Stage。这个任务就交给控件GtkClutterEmbed来完成了。GtkClutterEmbed顾名思义就是嵌入在GTK窗口中的Clutter(Stage),它的角色是窗口中的默认Stage。有了这个Stage后,Clutter相关代码就与原生Clutter代码别无二致了。用GtkClutterEmbed这个控件之前,要 #include <clutter-gtk/gtk-clutter-embed.h> 或者 import cluttergtk。 在写程序时不能忘记此时我们是生活在GTK下滴,所以要用gtk main loop, gtk_main_quit(), gtk_... 直接看代码吧。 #!/usr/bin/python import sys import ...
分类: 移动技术
标签:Clutter, Gtk
使用Moblin进行应用程序开发——Clutter之Event
作者: 方亮 (Intel) (27 篇文章) 日期: 四月 20, 2009 在 10:03 上午
评论 (4)
上次的Demo太简单了,仅仅在窗口中铺了一堆图片,用户只能看,却不能动。这次我们要给之前的Demo增加一个功能:支持鼠标拖动。 这次我们会接触到clutter的事件机制。Actor可以接受输入的事件,比如键盘按键、鼠标移动等事件,并且可以通过回调函数对事件进行处理。由于这一套机制是通过glib的signal来实现的,因此熟悉glib和gtk编程的用户对此肯定是相当的熟悉。但是与gtk相比,clutter还是有一点不太相同的地方,就是除了Stage之外,所有的Actor默认不接受事件。如果需要让某个Actor接受事件,程序员需要通过clutter_actor_set_reactive()函数手动的将Actor设为reactive,也就是说能够接受事件。我猜想这样的设计是为了减少事件处理时寻找事件源所花费的时间。 下图是从clutter参考手册中截下来的,每一个有“?”标记的地方用户都可以插入有关的事件处理的代码。 好了,下面是这次demo的源代码。 #!/usr/bin/python import sys import os import random import clutter STAGE_WIDTH=1024 STAGE_HEIGHT=768 Dragging = False DraggingPhoto = None class ...
分类: 移动技术
标签:Clutter, Event
IDF2009归来
作者: 方亮 (Intel) (27 篇文章) 日期: 四月 13, 2009 在 5:21 下午
评论 (5)
本次IDF展会的规模比往年小了一些,日程也从2天压缩到了1天,但是在会场逛了一圈后发现,展台上的好东西还不少。可惜随身没带数码相机,只好用手机随便拍了几张。不说废话,直接上图。 Netbook展台上汇集了各个厂商的上网本,厂商在设计上也费了不少功夫。 可切换显卡技术。日常应用使用高能效的集成显卡,需要高性能图形处理能力时使用高性能的独立显卡,以兼顾功耗与性能。 Moblin社区展台上云集了各家操作系统厂商和操作系统产品。这是Suse的Linux。 Ubuntu为HP定制的版本。主界面是相当的华丽。 Ubuntu的另一个定制版本。 MID展台上展示着形形色色的MID。 业余用户三维建模。这是一个很有意思的应用。用户可以通过从不同角度对某个物体拍摄一组照片,通过软件处理后得到物体的三维模型。如果将来能与数码摄影设备结合起来的话,是一种比较新颖的使用模式。
分类: 其他, 图形和视觉计算, 并行计算, 开放源代码, 移动技术
标签:3D, MID, Moblin, netbook, 英特尔信息技术峰会
使用Moblin开发应用程序 -- Clutter之Actor与Stage
作者: 方亮 (Intel) (27 篇文章) 日期: 四月 10, 2009 在 6:09 下午
评论 (12)
微软Surface推出后,其中的图片与视频浏览器让人留下了比较深刻的印象。借着学习clutter的机会,我就打算做一个类似的图片浏览器。逛了clutter的网站后发现,clutter居然有python binding,于是决定使用pyclutter进行程序的开发。 第一个demo很简单:将一堆照片随意放在桌面上。J 这次会接触到2个有关clutter的概念:Actor和Stage。Actor和Stage,顾名思义,演员与舞台。没错,从本质上讲,clutter就是让一群2维的Actor在3维的Stage上表演。ClutterActor是所有Actor的父类,它是一个抽象类,提供一些Actor的通用的操作,如位移、旋转、缩放等。用户在编程中可以继承ClutterActor以开发自定义的Actor,也可以使用Clutter现有的一些Actor,如ClutterRectangle、ClutterTexture、ClutterCloneTexture、ClutterLabel、ClutterEntry等。同时,Clutter中也有些容器类,如ClutterStage和ClutterGroup,它们也是ClutterActor的子类。 在这个demo中,我们将会用到ClutterStage、ClutterGroup、ClutterRectangle和ClutterTexture。Demo的源代码如下: #!/usr/bin/python import sys import os import random import clutter STAGE_WIDTH=1024 STAGE_HEIGHT=768 class Photo: border_width = 10 ...
分类: 移动技术
标签:Clutter, Moblin
使用Moblin开发应用程序 -- Clutter简介
作者: 方亮 (Intel) (27 篇文章) 日期: 四月 3, 2009 在 3:27 下午
评论 (1)
Moblin2与Moblin1相比较而言,在UI开发上引入了clutter可谓是一个比较大的变化。因为以前也有人介绍过clutter,所以我就先转载一些内容。:) 转自Linux桌面中文网 - 通向GNOME 3之路(一):Clutter的威力 GNOME 3的开发计划于2008年暑期公布(见GNOME 3正式公布!)至今已有半年了,现在它的开发状况如何呢?它能否在2010年如期与大家见面?它到底行不行? 作为一个GNOME的铁杆Fans,TX决定学习KDE项目一样,在GNOME 3发布以前即开始写连载文章,向大家揭开GNOME 3的真面目。 因为文章系TX本人原创,并非翻译自官方。因此多多少少会有不准确的地方,请大家谅解。 第一篇:Clutter的威力 大家对Clutter可能有点陌生,但是Ubuntu Netbook Remix这个玩意大家可能都知道。这个东西即是基于Clutter所开发的。 Clutter是一个开源的支持硬件加速(支持OpenGL规范)的图形库,由OpenedHand公司所开发,后来被Intel收购。目前开发者正在积极开发当中,稳定版1.0就快发布了。 Clutter与GTK+一样,基于GObject,并用Cairo图形绘制。所以可以很容易地嵌入至GTK+应用程序中,基本可以做到天衣无缝。 OK,明白了这些。你可能猜到了,是的,GNOME ...
分类: 移动技术
标签:Clutter
使用Moblin SDK开发应用程序 -- GeoClue
作者: 方亮 (Intel) (27 篇文章) 日期: 三月 11, 2009 在 2:41 下午
评论 (2)
从这篇开始,我会逐步介绍Moblin2 SDK中引入的API与中间件,希望能对大家有所帮助。 在详细介绍之前,先讲讲GeoClue的来龙去脉。大家知道,原先在应用程序中要获取设备的当前位置,最常见的做法是通过GPS定位,程序员往往需要直接访问串口读取GPS设备发来的NMEA帧,然后通过分析获得需要的位置数据。这种做法有2个缺点:第一,工作量大;第二,GPS为某个进程独占,其他应用如果也有类似需求就只能说抱歉了。在这种情况下,引入了GPS Daemon,就是Daemon独占了GPS设备,分析NMEA帧获取位置信息,并把位置信息提供给应用程序。这样GPS Daemon就可以同时为多个进程服务,并且大大减轻了程序员的工作量,不用再为编写分析NMEA数据的代码而头大了。目前Linux上比较流行的GPS Daemon有gpsd和gypsy。不过使用GPS定位有一定的局限性,首先带有GPS的设备并不普及,其次,室内无法收到GPS信号。随着技术的发展,越来越多的定位方式出现在世人面前,如IP地址定位,wifi定位,基站定位等,这些新出现的定位技术对传统的定位方式起到了补充的作用。于是程序员想在程序中采用多种定位技术结合,自动选取最优定位技术来获取位置信息。问题又来了:又要自己写代码分析位置了,程序里要加不少代码来判断最优,如果需要支持新的定位技术怎么办?在这种情况下,GeoClue出现了。 GeoClue是架构在D-BUS上的一套提供位置相关信息的中间件,遵循LGPL。这里的位置相关信息包括了位置、地址和运动速度等等。GeoClue下有若干Provider提供位置相关信息。同一个Provider可能提供若干种不同类型的信息,比如gypsy可以提供位置信息与速度;不同的Provider也可能提供相同类型的信息,比如gypsy与hostip都可以提供位置信息,所不同的是前者的信息是通过GPS获得,而后者则是通过互联网上IP转经纬度的服务而获得。GeoClue提供了2套API供应用程序使用,一套是C语言API,另一套是D-BUS API,用户可以根据实际情况选择。 GeoClue API通过Provider Interface让用户访问Provider,目前支持的Interface有: • GeocluePosition • ...
分类: 移动技术
标签:GeoClue, Moblin
使用Moblin SDK开发应用程序 – Moblin软件架构
作者: 方亮 (Intel) (27 篇文章) 日期: 二月 3, 2009 在 4:10 下午
评论 (2)
在正式介绍之前先来看看Moblin的软件架构图。 最底层的硬件、BIOS、内核和驱动没啥好多谈的,就从应用程序开发者最关心的Application Framework谈起好了。Moblin本质上是桌面Linux的一个精简而非嵌入式Linux的增强,因此Moblin的应用程序框架也与桌面Linux中的Gnome十分类似,它是Gnome针对移动设备的一个精简版,称为Gnome Mobile,其中包括了GTK+、Cairo、Pango、Gconf、DBUS、BlueZ……和Gnome很像吧,假如桌面Linux应用程序开发人员要在Moblin上开发应用,估计现在要开始偷笑了。:) Moblin的多媒体框架也是比较常用的框架,Gstreamer和Helix这两大框架都支持。音频设备编程接口是ALSA,摄像头编程接口是V4L2。网页浏览器基于Gecko,也就是Firefox的网页渲染引擎。 啰啰嗦嗦的说了一堆,也该说说可以用哪些语言和工具开发应用程序了。C/C++自不必多说,Python也是个不错的选择。对于一些互联网应用和桌面休闲小游戏来说,Flash在快速开发和UI美观上无疑更胜一筹。基于Gecko引擎,通过XUL、Javascript和CSS也同样可以开发互联网应用。除此之外,如果安装mono后,还可以开发.net应用和silverlight应用。
分类: 移动技术
标签:Architecture, Moblin
Moblin2.0 Alpha版本已发布
作者: 方亮 (Intel) (27 篇文章) 日期: 二月 2, 2009 在 10:40 上午
评论 (1)
Moblin2.0 for Netbook的Alpha版本已于1月29日发布,这次发布的主要内容是Moblin2.0的核心框架。在这个发布中,比较有特色的地方是在内核中加入了快速启动的支持,我在Eeepc上实测的结果是从开机到桌面显示花了不到10秒,应该说结果还是挺振奋人心的。:) Alpha版本中的桌面环境是xfce,clutter桌面预计在beta版本中推出。通过以下链接可获取更多信息以及下载alpha版本镜像:http://moblin.org/community/blogs/tshureih/2009/announcing-moblin-v2-core-alpha-release
分类: 移动技术
标签:Alpha, Moblin2
抱着Eee PC守岁
作者: 方亮 (Intel) (27 篇文章) 日期: 一月 25, 2009 在 11:17 下午
评论 (1)
新入手一台EeePC 1000H,立马装上了easy peasy1.0(原ubuntu-eee)。界面还是ume的风格,但是驱动在安装时已经全部搞定,省却了不少麻烦。 不高兴看春晚的我捧着EeePC看了1部电影,不知不觉已经到了11点多,要捧着EeePC守岁了,呵呵。 祝大家新春快乐,牛年大吉!
分类: 移动技术
使用Moblin SDK开发应用程序 -- Image Creator
作者: 方亮 (Intel) (27 篇文章) 日期: 一月 4, 2009 在 5:33 下午
评论 (10)
程序开发的第一件事,搭建开发环境,给MID开发程序也不例外。Image creator可以帮助开发人员搭建开发环境,模拟目标设备,创建目标设备镜像,很方便。 在安装image creator之前,先要做些准备工作。 1. 安装以下软件包:git-core, automake, build-essential, intltool, dh-make, python, debootstrap, ...
分类: 移动技术
标签:Image Creator, Moblin
使用Moblin SDK为MID开发应用程序 -- 1
作者: 方亮 (Intel) (27 篇文章) 日期: 十二月 3, 2008 在 5:01 下午
评论 (9)
话说这MID是一天天的多起来了,有用XP的,有用Linux的,还有用Vista的。虽说在Windows下软件资源丰富,广大的人民群众一定发现在4.8英寸800x480的分辨率下用桌面版的Windows挺不对劲的,看着累,用着也累。这时Linux的优势就显现了出来,可以充分定制、优化,所以许多MID上用的都是Linux系统。可是开发Linux操作系统的软件厂商如此众多,如何保证不会出现由于发行版本间的不兼容而导致应用程序无法在运行不同Linux发行版的MID上顺利运行? Intel与开源社区合作,为MID Linux制定了一套OS规范——Moblin,一套SDK以及相应的兼容性测试工具。应用软件开发者可以使用Moblin SDK创建开发环境并在其上开发、测试应用程序,而不必费神考虑不同MID Linux之间的兼容性。Moblin规范保证了任何符合规范的MID Linux对应用软件的一致性。此外,Moblin SDK中包含了MID模拟器,可以很方便的在本机看到软件在目标设备上的UI效果。 在最新的Moblin2.0规范中,还增加了对Netbook和In-Vehicle Infotainment设备的支持。 在www.moblin.org上可以获得更多的详细信息。 下一贴讲讲用Moblin Image Creator搭建开发环境
分类: 移动技术
标签:MID, Moblin
谷歌官方博客:手机的未来
作者: 方亮 (Intel) (27 篇文章) 日期: 九月 25, 2008 在 3:19 上午
评论 (3)
前言 自谷歌创立10年以来,互联网对全球每个人的生活都产生了巨大的影响,改变了政治、娱乐、文化、商业、健康、环境以及你可以想到的任何领域。未来10年将会发生哪些变化?惊人的互联网技术将会怎样演进?我们将怎样适应——更为重要的是——互联网将怎样适应我们?我们向十位顶级专家提出了这些问题,并在谷歌10周年庆期间发表了他们的回应。就像计算机科学家艾伦·凯伊(Alan Kay)的著名论断所说:预测未来的最好方式是创造它。所以,我们将竭尽所能,将专家的预测一步步变为现实。 目前,全球约有32亿手机用户,在未来几年内,有望至少再增加10亿。今天,手机的普及率已经超过了汽车(目前全球登记车辆为8亿辆)和信用卡(仅14亿张)。固定电话在全球80%以上的国家得以普及耗费了100年的时间,而手机仅用了16年就完成了相同目标。青少年们都在使用手机查看时间,很少有人再戴手表。因此我们可以大胆地宣称,手机是截至目前拥有最多用户的消费类产品。 然而,你是否曾经真正认真考虑过,手机究竟有多大的威力?你装在口袋、背包或者手提袋里的手机,其性能可能超过8-9年前PC性能的10倍(如果你曾经用过PC的话,而实际上大多数手机用户都不曾用过PC)。即使最基本的手机都配置有大量的传感器,可与火星探测器的装备媲美,其中包括时钟、电量传感器(显示目前电池用量)、温度计、测光表(确定屏幕背部光亮)等等。许多更高级的手机中还安装了位置传感器、测速器,甚至指南针。最重要的是,从本质上来讲,这些装置都互相连接在一起。 让我们来设想一下未来十年手机的发展趋势。你可能24小时携带着一部功能强大、连接上网、具有诸多传感器的手机(近期一项针对中国手机用户的调查显示,大部分人睡觉的时候,都把手机放在距离自己一米的范围内)。而最酷的是,每个人都是这样。那么,未来的手机能为你实现哪些现在还不具有的功能呢? 智能提醒 你的手机将对你的状态了如指掌,当你需要获取某些信息时,手机会向你发出警告。这个设想今天已经实现,eBay可以在用户竞拍获胜时发出短信通知,而一些“提醒服务”(例如谷歌新闻)可以向用户发送新闻、体育赛事或者股价信息。未来这些应用将会更加智能,它们将一直监控用户的个性化设置(这些设置保存在云计算网络中),一旦出现用户希望了解的信息,这些应用将会发送给用户。例如,可以设想一个非常有帮助的应用场景:你的手机知道你将去市中心吃晚饭,因此会将交通状况或者最佳泊位告诉你。 增强现实(Augmented reality) 你的手机可以借助传感器组来了解你的状态,并为你提供有用的信息。例如:你真的希望了解宠物店中那只小狗的售价吗?手机的GPS和指南针可以知道你正在看什么,在你开口询价之前就告诉你价格,甚至可以告诉你怎么喂养和训练这些小狗。 草根信息主流化 你的手机是向世界发表信息的传声筒,可以用来发布图片、邮件和短信、Twitter信息或者博客文章等。当所有的手机用户都这样做的时候,这个星球上的所有人都可以实时地共享彼此的经历。海量信息按照全新及有趣的方式进行保存、分类并重新配置给其他用户。当你在网上查询附近地区最好玩的去处时,你的手机可以显示其他用户上传的相关图片和评论。如果你看中了某个地方,手机将显示交通路线。 无时不在的传感器 你的手机更了解你周围的世界。如果你在“云”里把所有手机的智能整合在一起,我们将会看到一幅不可思议的世界动态全景图片。最新气象信息不再依靠数以百计的传感器监控,而是借助上亿个手机传感器;交通路况也不再仅仅依靠直升飞机和路面传感器获取,而是依据陷于交通堵塞区域中手机的数量、移动速度以及方向计算而出。 谋生工具 手机不仅仅是方便的通讯工具,更可能成为你的谋生工具。这在许多地方已经成为现实。在印度南部,渔民借助短信找到销量最好的市场;在南非,甘蔗农场工人可以收到怎样灌溉作物的短信。在整个非洲次撒哈拉地区,拥有手机的企业家变身为私人运营商,为村名们提供电信服务。随着手机成为更多经济发展中的谋生工具,未来这些创新将进一步得以加强。 实时更新 就象互联网一样,手机将会更加开放,开发人员开发或改善应用程序及内容将愈发方便。假设用户手机上安装有改善电源管理的软件,一名开发人员可以对这一软件进行改进,无需用户操作,即可将更新安装到手机中。随着时间的推移,你的手机将越来越强大。 信任与验证 手机将会提供工具和信息,让你授权哪些内容可以下载、浏览或者共享。在一个始终互联互通的世界里,信任将至关重要,手机将帮助你控制信息。你可以采用默认模式,选择不共享任何内容,或者只针对部分可信任的朋友或者家庭共享内容。你可以根据从服务和软件提供商手中获取的信息及其他用户的集体评级,做出以上决定。你的手机将成为你的安全顾问:对你了解颇深,但未经同意,绝不泄漏半句。(肖恩) 评论: 虽说这篇博文以手机为题,但是通篇谈论的都是信息和服务,个人感觉这其实就是MID的未来——个人的随身信息终端。
