<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Fri, 10 Feb 2012 17:53:40 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/zh-cn/articles/mobility/all/feed" rel="self" type="application/rss+xml" />
    <title>英特尔软件网络 articles FEED</title>
    <link>http://software.intel.com/zh-cn/articles/mobility/all/feed</link>
    <description></description>
    <language>zh-cn</language>
    <item>
      <title>为首款英特尔架构Android*手机(K800)开发应用程序</title>
      <description><![CDATA[ <div >
<p align="left" class="MsoNormal" ><b><span >目标</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
</div>
<p align="left" class="MsoNormal" ><span >本文简要介绍全球首款英特尔架构手机</span><span lang="EN-US" >K800</span><span >、</span><span lang="EN-US" >K800</span><span >主要参数，如何为英特尔架构的手机K800开发和上传应用程序以及如何将已有的应用程序移植至K800手机平台，并详细介绍如何将以及移植好的应用程序上传至商店供用户下载。</span></p>
<p align="left" class="MsoNormal" ><b ><span ><br /></span></b></p>
<p align="left" class="MsoNormal" ><b ><span >目录</span></b></p>
<p align="left" class="MsoNormal" ><span lang="EN-US" >1.<span > </span></span><span >首款英特尔架构手机概述</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span lang="EN-US" >2.<span > </span></span><span lang="EN-US" >K800</span><span >的主要参数</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span lang="EN-US" >3.<span > </span></span><span lang="EN-US" >K800</span><span >开发应用程序注意点</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span lang="EN-US" >4.<span > </span></span><span >上传您的应用程序</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span lang="EN-US" >5.<span > </span></span><span >总结</span><span lang="EN-US" ><o:p></o:p></span></p>
<div >
<p align="left" class="MsoListParagraph" ><b><span lang="EN-US" >1.<span > </span></span></b><b><span >首款英特尔架构手机概述</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
</div>
<p align="left" class="MsoNormal" ><span ><br /></span></p>
<p align="left" class="MsoNormal" ><span >在</span><span lang="EN-US" >2012</span><span >年</span><span lang="EN-US" >1</span><span >月举办的国际消费电子展</span><span lang="EN-US" >(CES)</span><span >上，英特尔携手联想发布第一款</span><span lang="EN-US" >Intel</span><span >芯智能手机</span><span lang="EN-US" >K800</span><span >，据报道，联想资深副总裁暨移动网际网络与数字家庭部门总裁刘军表示，</span><span lang="EN-US" >K800</span><span >智能手机将于第二季在中国上市，内含新款</span><span lang="EN-US" >Atom</span><span >处理器的数款智能手机将于</span><span lang="EN-US" >2012</span><span >年陆续问世。此外，</span><span lang="EN-US" >Intel</span><span >还与摩托罗拉移动达成为期数年的移动领域战略合作协议，后者的智能手机将采用</span><span lang="EN-US" >Intel</span><span >的</span><span lang="EN-US" >Atom</span><span >处理器及</span><span lang="EN-US" >Android</span><span >平台。</span></p>
<p align="left" class="MsoNormal" ><span >作为英特尔架构的首款手机，</span><span lang="EN-US" >K800</span><span >一问世即引起围观，本文将主要介绍如何为</span><span lang="EN-US" >K800</span><span >开发应用程序，以及如何将您的应用程序移植到</span><span lang="EN-US" >K800</span><span >上面，最后介绍了如何将您的应用程序上传至商店供用户购买下载。K800相关图片如下：</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span ><img src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/01.jpg" /></span></p>
<p align="left" class="MsoNormal" ><span ><br /></span></p>
<p align="left" class="MsoNormal" ><span ><img height="368" width="227" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/02.jpg" /><img height="360" width="268" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/03.jpg" /><br /></span></p>
<div >
<p align="left" class="MsoListParagraph" ><b><span lang="EN-US" >2. </span></b><b><span lang="EN-US" >K800</span></b><b><span >主要参数</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
</div>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" ><br /></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >网络模式：</span><span lang="EN-US" >GSM</span><span >，</span><span lang="EN-US" >WCDMA</span></p>
<p align="left"><span lang="EN-US" >l<span > </span></span> 处理器：Intel Atom Medfield 1.6G</p>
<p align="left" class="MsoListParagraph" ><o:p></o:p></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >外观设计：直板</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><b><span >主屏尺寸：</span></b><b><span lang="EN-US" >4.5</span></b><b><span >英寸</span></b><b><span lang="EN-US" > 1280x720</span></b><b><span >像素</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >触摸屏：电容屏，多点触控</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span lang="EN-US"><span lang="EN-US" ><span lang="EN-US">摄像头像素</span></span></span><span >：前：</span><span lang="EN-US" >130</span><span >万像素，后：</span><span lang="EN-US" >800</span><span >万像素</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span lang="EN-US"><span lang="EN-US" ><span lang="EN-US">蓝牙传输</span></span></span><span >：支持蓝牙</span><span lang="EN-US" >2.1+EDR<o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span lang="EN-US"><span lang="EN-US" ><span lang="EN-US">视频播放</span></span></span><span >：支持</span><span lang="EN-US" >MP/AVI/DIVX/MOV/ASF/WMV/RM...<o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >电子书：支持</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span lang="EN-US"><span lang="EN-US" ><span lang="EN-US">手机类型</span></span></span><span >：</span><span lang="EN-US" >3G</span><span >手机</span><span lang="EN-US" >,</span><span >智能手机</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >上市日期：</span><span lang="EN-US" >2012</span><span >年</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l</span><span >摄像头：内置</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >摄像头类型：双摄像头（前后）</span><span > </span><span >纠错</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >图像尺寸：最大支持</span><span lang="EN-US" >3264</span><span >×</span><span lang="EN-US" >2448</span><span >像素照片拍摄</span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >l<span > </span></span><span >视频拍摄：</span><span lang="EN-US" >1080p</span><span >（</span><span lang="EN-US" >1920</span><span >×</span><span lang="EN-US" >1080</span><span >，</span><span lang="EN-US" >30</span><span >帧</span><span lang="EN-US" >/</span><span >秒）视频录制</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<div >
<p align="left" class="MsoListParagraph" ><b><span lang="EN-US" >3.</span></b><b ><span >为</span></b><b ><span lang="EN-US" >K800</span></b><b ><span >开发应用程序注意点</span></b></p>
</div>
<p><span ><br /></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >1.    <span > </span></span><span lang="EN-US" >K800</span><span >的屏幕分辨率为</span><span lang="EN-US" >1280*720</span><span >，应用程序如果没有之前没有对该分辨率进行过适配的话需要进行相关的适配工作，包括</span><span lang="EN-US" >UI</span><span >元素的重新制作，</span><span lang="EN-US" >layout</span><span >重排等等。如果没有设备，您可以将</span><span lang="EN-US" >Android</span><span >模拟器分辨率设置为</span><span lang="EN-US" >1280*720</span><span >，在模拟器中检查您的应用程序运行效果，并进行适配工作。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >2.    </span><span >如果您的应用程序是基于</span><span lang="EN-US" >Java</span><span >的，没有</span><span lang="EN-US" >NDK</span><span >相关代码，那么进行了第一步工作之后，您的应用程序</span><span lang="EN-US" >APK</span><span >文件可以直接在英特尔架构手机上面运行。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >3.    </span><span >如果您的应用程序包含本地代码，通过</span><span lang="EN-US" >JNI</span><span >机制调用了</span><span lang="EN-US" >C</span><span >或者</span><span lang="EN-US" >C++</span><span >的动态库，那么您需要将动态库进行重新编译为可以在</span><span lang="EN-US" >X86</span><span >架构下运行的</span><span lang="EN-US" >so</span><span >文件，具体的方式只需要再</span><span lang="EN-US" >mk</span><span >文件中添加“</span><span lang="EN-US" >X86</span><span >”字样，再运行</span><span lang="EN-US" >ndk-build</span><span >脚本。</span></p>
<p align="left" class="MsoListParagraph" ><span >    具体可参考：</span><a href="http://software.intel.com/zh-cn/articles/ndk-android-application-porting-methodologies/"><b><span lang="EN-US" >NDK Android* </span></b><b><span >应用移植方法</span></b><b><span > </span></b></a><span ><a href="http://software.intel.com/zh-cn/articles/ndk-android-application-porting-methodologies/"></a><span lang="EN-US"><o:p></o:p></span></span></p>
<p align="center" class="MsoNormal" ><span lang="EN-US" >APP_ABI := armeabi armeabi-v7a<b> x86</b></span><span lang="EN-US" ><o:p></o:p></span></p>
<div >
<p align="left" class="MsoListParagraph" ><b><span lang="EN-US" >4.<span > </span></span></b><b><span >上传您的应用程序</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
</div>
<p align="left" class="MsoNormal" ><span ><br /></span></p>
<p align="left" class="MsoNormal" ><span >正如在第一节中介绍的，</span><span lang="EN-US" >K800</span><span >将首先由联想在中国大陆上市，您需要将您的应用程序上传到联想乐商店，用户即可购买下载，上传过程和</span><span lang="EN-US" >Google Market</span><span >以及传统的乐商店有所不同，请详细参考本节。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >将应用程序上传至乐商店主要有三个步骤：注册签约、提交应用、对账结算。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span ><img height="270" width="695" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/04.jpg" /><br /></span></p>
<p align="left" class="MsoNormal" ><span >本文主要详细介绍开发者上传应用的过程：</span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >1、<span > </span></span><span >成功注册签约之后，登陆开发者社区，进入用户管理中心，选择“上传新应用”。</span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" ><o:p><img height="322" width="604" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/05.jpg" /><br /></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >2、<span > </span></span><span >选择上传应用支持的设备类型，这里我们全部选择有</span><span lang="EN-US" >intel</span><span >字样的选项，如下图。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p class="MsoListParagraph" ><span lang="EN-US" ><o:p><img height="304" width="605" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/06.jpg" /></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >3、<span > </span></span><span >点击“选择文件”按钮上传</span><span lang="EN-US" >apk</span><span >，上传完成后点击下一步：</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span lang="EN-US"><o:p><img height="363" width="528" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/07.jpg" /></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span lang="EN-US" >4、<span > </span></span><span >填写完后，点击“下一步”：</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoListParagraph" ><span ><img height="214" width="610" src="http://software.intel.com/zh-cn/blogs/wordpress/wp-content/uploads/2012/01/08.jpg" /><br /></span></p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p align="left" class="MsoListParagraph" > </p>
<p align="left" class="MsoNormal" ><span >点击提交到审核，至此，您的应用程序上传完毕。</span><span lang="EN-US" ><o:p></o:p></span></p>
<div >
<p align="left" class="MsoNormal" ><b><span >总结</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
</div>
<p align="left" class="MsoNormal" ><span lang="EN-US" >K800</span><span >开发和上传应用程序，介绍了为</span><span lang="EN-US" >K800</span><span >开发应用程序的注意点，以及如何将已有的应用程序移植至</span><span lang="EN-US" >K800</span><span >手机平台，并全程详细介绍了如何将以及移植好的应用程序上传至商店供用户下载。</span><span lang="EN-US" ><o:p></o:p></span></p>
<div >
<p align="left" class="MsoNormal" ><b><span >声明</span></b><b><span lang="EN-US" ><o:p></o:p></span></b></p>
</div>
<p align="left" class="MsoNormal" ><span lang="EN-US" >* </span><span >文中涉及的其它名称及商标属于各自所有者资产。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >版权所有</span><span lang="EN-US" > © 2011 </span><span >英特尔公司。保留所有权利。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >英特尔、</span><span lang="EN-US" >Intel</span><span >、凌动和</span><span lang="EN-US" > Atom </span><span >是英特尔公司在美国和其他国家（地区）的商标。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >本文所提供之信息均与英特尔产品相关。本文不代表英特尔公司或其它机构向任何人明确或隐含地授予任何知识产权。除相关产品的英特尔销售条款与条件中列明之担保条件以外，英特尔公司不对销售和</span><span lang="EN-US" >/</span><span >或使用英特尔产品做出任何其它明确或隐含的担保，包括对适用于特定用途、适销性，或不侵犯任何专利、版权或其它知识产权的担保。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >除非经英特尔书面同意，英特尔产品并非设计或有意用于任何英特尔产品故障可能会引起人身伤亡事故的应用领域。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >英特尔可以随时在不发布声明的情况下修改规格和产品说明。设计者不得依赖于带有</span><span lang="EN-US" >“</span><span >保留</span><span lang="EN-US" >”</span><span >或</span><span lang="EN-US" >“</span><span >未定义</span><span lang="EN-US" >”</span><span >的任何特性或说明。英特尔保留今后对其定义的权利，对于因今后对其进行修改所产生的冲突或不兼容性概不负责。此处信息可能随时更改，恕不另行通知。请勿使用本信息来对某个设计做出最终决定。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >文中所述产品可能包含设计缺陷或错误，已在勘误表中注明，这可能会使产品偏离已经发布的技术规范。英特尔提供最新的勘误表备索。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >订购产品前，请联系您当地的英特尔销售办事处或分销商了解最新技术规范。</span><span lang="EN-US" ><o:p></o:p></span></p>
<p align="left" class="MsoNormal" ><span >如欲获得本文或其它英特尔文献中提及的带订单编号的文档副本，可致电</span><span lang="EN-US" > 1-800-548-4725</span><span >，或访问：</span><span lang="EN-US"><a href="http://www.intel.com/design/literature.htm"><span >http://www.intel.com/design/literature.htm</span></a></span><span lang="EN-US" ><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p> </p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p> </p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p> </p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p align="left" class="MsoListParagraph" ><span ><br /></span></p>
<p> </p>
<p align="left" class="MsoNormal" ><span ><br /></span></p>
<p align="left" class="MsoNormal" ><span ><br /></span></p>
<p> </p>
<p> </p> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/DaweiCheng/</link>
      <pubDate>Fri, 20 Jan 2012 08:00:00 -0800</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/DaweiCheng/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/DaweiCheng/</guid>
      <category>移动软件开发社区</category>
      <category>英特尔® 凌动™ 软件开发社区</category>
      <category>英特尔® 黑带软件开发人员</category>
      <category>Android* 开发社区</category>
    </item>
    <item>
      <title>英特尔® 软件学院系列课程技术书籍</title>
      <description><![CDATA[ <h4 class="sectionHeading"><b>英特尔® 软件学院系列课程技术书籍</b></h4>
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td width="120" valign="top"><img height="130" width="100" src="http://software.intel.com/file/38362" align="left" /></td>
<td valign="top"><b><a name="Embedded Application Development"></a>基于英特尔® 凌动<sup>TM</sup> 平台的嵌入式应用开发</b>，英特尔亚太研发有限公司 组编<br /><br />嵌入式领域具有硬件专用性强，技术更新较快等特点。在英特尔® 凌动™ 处理器开始全面进入嵌入式领域之际，对于有志进入或正在从事嵌入式方面工作的人士来说，更应该抓住机遇掌握好凌动系统开发的技术。对此，我们适时地推出这本基于英特尔® 凌动™ 处理器和开源操作系统 平台应用开发的指导教材。借助编者在嵌入式领域多年的教学经验和开发实践，整本书力求达到如下效果：介绍完整的嵌入式系统知识，又重点讲述具体架构的应用开发；理论联系实际，突出实践特色；知识结构全面、完整，又力求突出英特尔特色。<br /><br /></td>
</tr>
<tr>
<td colspan="2">
<div ></div>
</td>
</tr>
<tr>
<td width="120" valign="top"><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Multicore-Multithread-Technology/"><img height="130" width="100" src="http://software.intel.com/file/38361" align="left" /></a></td>
<td valign="top"><b><a name="Multicore Multithread Technology"></a><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Multicore-Multithread-Technology/">多核多线程技术</a></b>，英特尔亚太研发有限公司 组编<br /><br />本书第一章介绍了多核体系结构、芯片发展与系统软件；第二章综述了多线程并行程序的性能分析方法；第三章针对Intel 多核处理器介绍了多线程程序的性能调优方法；第四章是多线程编程方法综述；第五章针对多线程编程中的常见问题进行了详细的分析并探讨了一些可能的解决途径；第六章介绍了Unix/Linux 环境下利用POSIX 标准线程库/接口进行多线程程序设计的具体接口和方法；第七章结合Windows API 介绍了在Windows 环境下进行多线程编程的基础知识和多线程编程的一些常用技术；第八章进一步探讨了一种可以以渐进方式，利用编译指导以及运行时库，将单线程程序逐步改造为多线程程序的OpenMP 编程接口。纵观全书，处处体现出对多线程编程理念与综合应用能力的培养。<br /><br />本书主要为从事程序设计的工程师、大学生编写。使他们在面对多核体系结构，以及需要多线程编程时有一个好的参考手册。也为高等学校计算机专业的师生进行多核多线程程序教学时提供一本有价值的参考书。<br /><br /></td>
</tr>
<tr>
<td colspan="2">
<div ></div>
</td>
</tr>
<tr>
<td width="120" valign="top"><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Programming-on-Intel-Platform/"><img height="130" width="100" src="http://software.intel.com/file/38360" align="left" /></a></td>
<td valign="top"><b><a name="Programming on Intel Platform"></a><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Programming-on-Intel-Platform/">英特尔® 平台编程</a></b>，英特尔亚太研发有限公司 组编<br /><br />本书介绍的软件优化中采用的环境和示例主要以 Windows 操作系统下的C语言程序为参考，但是其基本思想也可以用在Linux 操作系统的C 语言以及C++语言编程中。第一章首先回顾了C 语言，以帮助读者复习一下C 语言编程的基本架构、数据类型和数据结构；第二章介绍了如何写出好的代码，如何保证代码的易读和可维护性，同时也介绍了一些在代码编写过程中可以采用的通用编程技巧；第三章介绍了为什么需要从软件设计开始就考虑性能并贯穿整个软件开发周期，同时介绍了一个自顶向下的软件优化策略、常用的性能调试工具以及如何选择和设计一个好的Benchmark；第四章介绍了高性能的Intel C++编译器的使用，包括常用的编译选项、支持的语言扩展等；第五章则介绍了如何使用Intel 性能分析器VTune 来寻找和分析应用的性能瓶颈以进行进一步的优化；最后一章介绍了一些特别针对Intel 处理器特性的优化，包括分支、缓存优化以及如何利用SIMD 来提高并行性等，最后介绍了Intel 公司的针对处理器作了特别优化的性能库MKL 和IPP 的使用。<br /><br />本书可以作为普通高校学生在学习 C 语言编程之后的软件优化进阶教材，也可供广大C 和C++程序员参考。<br /><br /></td>
</tr>
<tr>
<td colspan="2">
<div ></div>
</td>
</tr>
<tr>
<td width="120" valign="top"><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Processor-Architecture/"><img height="130" width="100" src="http://software.intel.com/file/38359" align="left" /></a></td>
<td valign="top"><b><a name="Processor Architecture"></a><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Processor-Architecture/">处理器架构</a></b>，英特尔亚太研发有限公司 组编<br /><br />本课程是现代计算机处理器技术领域的中级培训课程。本课程以介绍计算机处理器的基本概念、工作原理、设计方法为主要内容，重点介绍CPU的硬件组成与工作原理，同时介绍当前CPU的新技术与发展趋势。本课程的教学目的在于帮助学员建立计算机处理器的完整概念，学习系统分析和设计方法，了解计算机处理器的最新研究成果。<br /><br /></td>
</tr>
<tr>
<td colspan="2">
<div ></div>
</td>
</tr>
<tr>
<td width="120" valign="top"><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Visual-Computing/"><img height="130" width="100" src="http://software.intel.com/file/38358" align="left" /></a></td>
<td valign="top"><b><a name="Visual Computing"></a><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Visual-Computing/">视觉计算应用开发</a></b>，英特尔亚太研发有限公司 组编<br /><br />视觉计算（Visual Computng）技术的研究和应用对象并不是很清晰、严格，因此视觉计算技术在不同的上下文中可能会涉及多个领域，如数据可视化（Data Visualization）、计算机图形学（Computer Graphics）、数字图像处理（Image Processing）、多媒体技术（MultiMeida）、计算机视觉（Computer Vision）等，这些都可以称为视觉计算技术。图像和视频是视觉计算技术中重要的组成部分，信息时代大量的丰富信息都是通过数字图像和视频展示给每一个人。为了向程序员普及或推广数字图像和视频软件开发技术，降低视觉计算软件开发的门槛，我们这本书将介绍图像和视频处理的基础理论知识和英特尔公司提供的视觉计算软件开发库相结合，注重理论联系实际，强调实践。在每个章节，都配有相关实例来说明如果利用英特尔® 集成性能原件（Intel® IPP）开发相关应用关键代码。<br /><br /></td>
</tr>
<tr>
<td colspan="2">
<div ></div>
</td>
</tr>
<tr>
<td width="120" valign="top"><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Project-Management/"><img height="130" width="100" src="http://software.intel.com/file/38357" align="left" /></a></td>
<td valign="top"><b><a name="Project Management"></a><a target="_blank" href="http://software.intel.com/zh-cn/articles/book-Project-Management/">项目管理</a></b>，英特尔亚太研发有限公司 组编<br /><br />本教材的目的就是将项目管理方面通用的知识与技巧总结出来，并与Intel企业项目管理经验相结合，系统地阐述通用项目管理知识。<br /><br />通过本课程学习使学生掌握有关项目管理的基本理论和基本方法，培养学生具备基本的项目管理技能以及按照项目方法去管理某些工作的技能。具体目标有：使学生了解项目管理的基本概念、基本原理，掌握项目范围管理、项目工期管理、项目费用管理、项目质量管理、项目团队管理、项目风险管理、项目沟通管理等基本方法与技能，初步具备项目启动、项目实施等项目生命周期各阶段管理所需的技能。<br /><br /></td>
</tr>
<tr>
<td colspan="2">
<div ></div>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/Intel-Software-College-technical-books-series/</link>
      <pubDate>Tue, 30 Aug 2011 09:00:00 -0700</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/Intel-Software-College-technical-books-series/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/Intel-Software-College-technical-books-series/</guid>
      <category>移动软件开发社区</category>
      <category>多核软件开发</category>
      <category>可管理性软件开发社区</category>
      <category>英特尔® 凌动™ 软件开发社区</category>
      <category>视觉计算</category>
      <category>英特尔(R) 软件网络</category>
      <category>嵌入式软件开发社区</category>
      <category>英特尔AppUpSM开发人员计划</category>
    </item>
    <item>
      <title>节能</title>
      <description><![CDATA[ <p><img src="http://software.intel.com/file/31773" /></p>

<div id="mobility-nav">
<ul>
<li id="selected"><a href="http://software.intel.com/zh-cn/articles/energy-efficient">主页</a></li>
<li><a href="http://software.intel.com/zh-cn/articles/energy-efficient-software-power-basics">有关“Power”的基本信息</a></li>
<li><a href="http://software.intel.com/zh-cn/articles/energy-efficient-software-devices">设备</a></li>
<li><a href="http://software.intel.com/zh-cn/articles/energy-efficient-software-vertical-applications/">垂直应用</a></li>
<li><a href="http://software.intel.com/zh-cn/articles/energy-efficient-software-developing-power-aware-apps">开发电源感知型应用</a></li>
<li><a href="http://software.intel.com/zh-cn/articles/energy-efficient-software-tools-and-code-samples">工具和代码样本</a></li>
</ul>
</div>
<p> </p>
<p> </p>
<p>开发基于英特尔® 处理器的节能笔记本和上网本应用，延长电池续航时间，满足日益增强的移动用户需求。</p>
<ul>
<li>利用针对英特尔最新低能耗架构而优化的软件在竞争中保持领先</li>
<li>交付既能满足客户需求、又不会为延长电池续航时间而降低性能的应用</li>
<li>将<a href="http://swpartner.intel.com/Partner/Initiatives/SATResourcePage.aspx?TFACode=PE&amp;Lang=ENG">Intel Power Checker 软件评估工具</a>集成到开发流程中，快速测量应用的电源效率。</li>
</ul>
<div class="sectionHeading">软件开发为节能服务：</div>
<b>白皮书：</b> 
<ul>
<li><a href="http://software.intel.com/en-us/articles/energy-efficient-software-guidelines">节能指南</a></li>
<li><a href="http://software.intel.com/en-us/articles/creating-energy-efficient-software-part-1">开发节能软件</a></li>
<li><a href="http://software.intel.com/en-us/articles/energy-efficient-software-checklist">节能清单</a></li>
<li><a href="http://software.intel.com/en-us/articles/hd-video-playback-power-consumption-analysis">高清视频播放能耗分析</a></li>
</ul>
<b>工具：</b> 
<ul>
<li>PowerTop 和其它资源，LessWatts，<a href="http://www.lesswatts.org/projects">http://www.lesswatts.org/projects</a></li>
<li>“应用能耗工具套件”，英特尔，<a href="http://softwarecommunity.intel.com/articles/eng/1631.htm">http://softwarecommunity.intel.com/articles/eng/1631.htm</a></li>
<li>“PowerInformer”，英特尔，<a href="http://softwarecommunity.intel.com/articles/eng/3725.htm">http://softwarecommunity.intel.com/articles/eng/3725.htm</a></li>
<li>“Perfmon：Windows 性能监控工具”，微软，<a href="http://technet.microsoft.com/en-us/library/bb490957.aspx">http://technet.microsoft.com/en-us/library/bb490957.aspx</a></li>
<li>ETW：事件跟踪：利用 ETW 改善故障排除和性能调优，微软</li>
</ul>
<b>其它资源</b> 
<ul>
<li>“高级配置和电源界面”，<a href="http://www.acpi.info/">www.acpi.info</a></li>
<li>“从电池设计到应用开发，节能无处不在”，<a href="http://www.microsoft.com/whdc/system/pnppwr/mobilepwr.mspx">http://www.microsoft.com/whdc/system/pnppwr/mobilepwr.mspx</a></li>
</ul>
<b>其它内容</b> 
<ul>
<li><b>博客</b> - 各位专家就移动软件开发发表的看法和见解。请参考我们的<a href="http://softwareblogs.intel.com/author/taylor-kidd/">博客内容</a></li>
<li><b>支持论坛</b> - 在<a href="http://software.intel.com/en-us/forums/power-efficiency/">移动软件开发论坛</a>上咨询其他移动软件开发人员和英特尔专家</li>
<li><b>视频</b> - 打开<a href="http://software.intel.com/en-us/videos/category/Mobility/1/1">Take Five 视频系列</a>，观看移动处理器开发话题的相关视频，了解详细信息。</li>
</ul>
<div >

</div> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/energy-efficient/</link>
      <pubDate>Wed, 03 Nov 2010 06:00:00 -0700</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/energy-efficient/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/energy-efficient/</guid>
      <category>移动软件开发社区</category>
      <category>英特尔(R) 软件网络</category>
    </item>
    <item>
      <title>激发软件创新，迈向互联计算</title>
      <description><![CDATA[ <br />
<h2 align="center"><strong>MeeGo* 1.0核心软件平台和上网本用户体验版正式发布</strong></h2>
<br />
<p><strong>2010年5月27日</strong> — 面向英特尔“互联计算”（Continuum of Computing）愿景的开放式软件平台——MeeGo 1.0版本按计划于本周正式发布，它为开发者的应用程序开发提供一个稳定的核心基础，并带来丰富的上网本用户体验。按照MeeGo的发布计划，此次率先亮相的为MeeGo上网本用户体验版，而MeeGo手机用户体验版将在6月份对开发者开放。</p>
<p>MeeGo是由英特尔的Moblin与诺基亚的Maemo整合而成、基于Linux系统的软件开发平台，它支持不同硬件架构的最广泛设备种类。对用户而言，MeeGo可以运行在多种设备类型上，从而丰富了消费者的选择。即使更换设备或是进行硬件升级，人们也可以不受限制地保留自己喜爱的应用程序。对开发者来讲，只需编写一次程序，MeeGo便可以让应用程序运行于不同的设备或平台上，这极大地扩展了开发者的市场机会。</p>
<p>在2010英特尔信息技术峰会（IDF）上，英特尔公司高级副总裁、软件与服务事业部总经理詹睿妮女士（Renee J. James）表示：“MeeGo项目完全开放源代码，为用户带来精彩纷呈的互联网、计算和通信操作体验，并拥有基于英特尔®凌动TM处理器的强大图形、多任务及多媒体功能。MeeGo将成为创新的首选，这个软件开发平台能够将服务、内容与用户体验相结合，并广泛应用于下一代智能手机、掌上电脑、通信、车载信息娱乐、电视以及媒体电话等设备。”</p>
<p>MeeGo的发布计划将保持6个月的周期——本周发布的MeeGo 1.0 版本是为上网本提供的。计划在今年第四季度发布的MeeGo 1.1版本，将支持触摸式设备，如手机、平板电脑、车载信息娱乐系统。MeeGo 1.1版开发树（development tree）现已开放，其多种组件也将陆续公布，包括在6月份开放手机用户体验版的开发。</p>
<p>随MeeGo 1.0版本同期发布的还有包括Qt 4.6的MeeGo应用程序编程接口、含有集成应用开发环境的MeeGo SDK和其它各种操作系统工具。目前，MeeGo SDK是专门针对上网本，而下一个MeeGo SDK版本将支持如手机和平板电脑等触摸式设备，将在6月份面向开发者公开。</p>
<br />
<h2>该MeeGo上网本用户体验版包括：</h2>
<ul>
<li>建构在最新开源技术之上的视频效果丰富的上网本用户体验；</li>
<li>通过主屏即时访问同步日历、任务、约会、最近使用的文件和实时社交网络更新的功能；</li>
<li>社交网络内容聚集功能——允许在一个屏幕上看到用户的社交网络活动，轻松实现与朋友互动，并更新自己的状态和站点信息；</li>
<li>面向快速而丰富的互联网体验，MeeGo上网本用户体验版集成了谷歌*浏览器Chrome（或者，如果你喜欢一个完全开源浏览器解决方案，MeeGo还提供了谷歌Chromium支持），不久后，随着MeeGo手机用户体验版发布，MeeGo还将支持Fennec Mozilla*浏览器；</li>
<li>易于使用的电子邮件、日历和媒体播放器应用程序；</li>
<li>高度优化的功耗和性能；</li>
<li>语言支持：日语、韩语、简体中文、繁体中文、瑞典语、波兰语、芬兰语、意大利语、巴西葡萄牙语、法语、德语、西班牙语、俄语、荷兰语、英语、英式英语。</li>
</ul>
<br />
<h2>MeeGo 1.0核心软件平台功能包括：</h2>
<ul>
<li>基于2.6.33内核；</li>
<li>与硬件设备进行交互的DeviceKit和udev；</li>
<li>流行的二维/三维图形堆栈，包括内核模式设置、非根X；</li>
<li>与Connman连接管理器、Ofono电话和BlueZ蓝牙之间的语音和数据连接；</li>
<li>Qt 4.6；</li>
<li>通用即插即用（gUPnP）；</li>
<li>媒体框架；</li>
<li>作为默认文件系统的下一代文件系统BTRFS。</li>
</ul>
<br />
<h2>下面是MeeGo 1.0版本下载地址：</h2>
<ul>
<li><a target="_blank" href="http://meego.com/downloads/releases/netbook">MeeGo v1.0上网本版</a> （<a target="_blank" href="http://meego.com/downloads/releases/netbook">http://meego.com/downloads/releases/netbook</a>,包含完整的MeeGo 1.0上网本用户体验版），支持基于英特尔®凌动™处理器的上网本。更多细节可登录<a target="_blank" href="http://meego.com/downloads/releases/1.0/meego-v1.0-netbooks-google-chrome-browser">上网本版说明</a>；</li>
<li>面向诺基亚*N900的MeeGo 1.0版核心软件平台，更多细节可登录<a target="_blank" href="http://meego.com/downloads/releases/meego-core-software-platform">核心软件平台说明</a>。</li>
<li>请访问 <a target="_blank" href="http://meego.csdn.net/">http://meego.csdn.net/</a> 了解更多有关 MeeGo的中文信息</li>
</ul> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/MeeGo-v1-officially-released/</link>
      <pubDate>Sun, 30 May 2010 06:00:00 -0700</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/MeeGo-v1-officially-released/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/MeeGo-v1-officially-released/</guid>
      <category>移动软件开发社区</category>
      <category>Open Source</category>
      <category>ISN General</category>
    </item>
    <item>
      <title>MeeGo在互联计算蓝海中快速崛起</title>
      <description><![CDATA[ <br />
<p><strong>作者：</strong>罗翠钦，行业分析高级顾问，长期关注并跟踪国内外电子、通信、计算机领域的动态及趋势。</p>
<br />
<p>在IDF2010诸多看点中，互联计算(Continuum of Computing)是一个重要概念，而MeeGo又成为互联计算最耀眼的热点。无论高峰会议主题演讲、还是记者专场，抑或一连串的站无立锥之地的MeeGo专题讲堂，以及MeeGo展示专区，都显见与会人员对MeeGo的热情参与和满怀期待。</p>
<p>在MeeGo展区聊访中，来自Linpus的资深人士称，英特尔和诺基亚在MeeGo上的携手合作是对Linux向前推进了一大步，MeeGo把我们OSV（操作系统供应商）的业务领域一下子拓宽了，把我们在原来上网本、笔记本的基础上带到更开阔的领域，公司的研发规划也将会积极进入到更多新的行业应用。</p>
<br />
<h2>跨越多个领域的MeeGo战略</h2>
<p>当有记者在媒体专场中提问，英特尔是否会借MeeGo的推出与ARM在移动通讯领域竞争？英特尔公司执行副总裁兼英特尔架构事业部总经理浦大地（David Perlmutter）明确表示，MeeGo要做的不是在移动领域这片红海中竞争，而是面向更宽阔的蓝海，开拓更广大的市场空间。MeeGo发展战略是跨越互联计算应用的多个领域，从传统电脑到智能手机、电视和汽车等，个性化互联网设备无处不在，所有这些设备都能实现无缝协作，提供出色性能、功效和个性化的内容和服务。</p>
<p>整合两大强大开源社区和应用生态系统的MeeGo，是一个跨领域的Linux操作系统平台，是为下一代计算设备打造的基于Linux的开源软件平台，适用于智能手机、上网本、平板电脑、联网电视、多媒体电话以及车载娱乐信息系统等，针对不同种类、不同屏幕等广泛应用。面朝大海，春暖花开。MeeGo对面是一片宽阔的蓝海，正赶上互联与计算融合的春天。</p>
<p>MeeGo作为基于Linux系统的开源软件平台，支持不同硬件架构的最广泛设备种类。对于开发者而言，这意味着只需编写一次程序，MeeGo便可以让应用程序运行于不同的设备或平台上，这极大地扩展了生态链企业与开发者的市场机会；而对于用户来说，MeeGo可以运行在多种设备类型上，不仅丰富了消费者的选择，即使更换设备或进行硬件升级，人们也可以不受限制地保留自己喜欢的应用程序。</p>
<p>东软作为软件解决方案提供商，致力于提供医疗产品、车载信息娱乐、移动终端、消费电子等多个领域的端到端解决方案，该公司的Widget引擎产品OWE已经成功移植到了MeeGo平台，东软将建立MeeGo能力中心（MeeGo Competency Center），不久会有一系列基于MeeGo的产品上市。东软集团高级副总裁兼首席技术官、首席知识官张霞博士表示：“MeeGo的优势在于快速启动、性能、用户界面和用户体验好，可使东软更专注于产品创新、加速产品的交付。MeeGo允许跨平台无缝的应用程序协同，可以提高软件在不同平台上的复用率，降低开发成本，提高产品竞争力。”</p>
<br />
<h2>加速壮大的MeeGo生态环境</h2>
<p>在IDF2010会场的MeeGo展区，我们看到与英特尔在Moblin时代就紧密合作的多家生态链厂商，如中科红旗、中标软件、Linpus、Novell、风河等，这几家都是Moblin的OSV厂商，如今又满载信心冲在MeeGo未来发展的最前沿。除此之外，还有众多的行业伙伴、应用集成商等庞大产业链阵营，在媒体专场分享了他们与英特尔基于MeeGo的合作进展及思路。</p>
<p>IDF期间，英特尔与腾讯科技签署了一项合作意向书。根据协议，在未来30个月，双方将整合资源，共同致力基于下一代移动互联平台MeeGo的联合创新，为国内用户带来集通信、互动及娱乐为一体的高品质移动体验。Novell在Moblin项目中扮演重要角色，并表示将对在基于英特尔®凌动™处理器的设备上运行的MeeGo提供一如既往的支持。</p>
<p>Linpus是一家来自中国台湾的开源软件供应商，与英特尔在Moblin的合作可追溯到其诞生伊始。在IDF2010的MeeGo展区，Linpus展出了最新版本的旗舰上网本产品以及针对上网应用的操作系统Linpus Lite。现场展示的一台Acer上网本就采用了最新研发的Linpus Lite操作系统，据现场技术人员介绍，目前这个版本的Linpus Lite已经无限接近于5月份即将登场的MeeGo v1.0正式版。</p>
<p>然而，行业玩家们在信心满满的同时，也不无忧虑。中标软件副总裁曹冬表示，做OSV的门槛越来越低了，谁都可以进入了，那么要在以后的竞争中胜出，我们拼得是什么？对于MeeGo生态系统厂商来说，有三个层次非常关键：产业链的和谐发展与共赢，这也是开源MeeGo的一大优势；企业研发要提供在市场竞争的子弹，产品质量要过硬；产品和应用要有创新，走在行业发展的前沿。</p>
<p>说到创新，在中标软件下乡电脑中，就将陆续有搭载MeeGo系统的方正、长城等品牌入市，结合农村具体情况、使用需求及项目所需软件，会大大加快了农村信息化建设的进程。使用MeeGo的好处，一来是降低了成本，二来是MeeGo之上丰富的应用也能满足农村消费者特性化需求与应用。</p>
<br />
<h2>MeeGo在垂直市场的创新应用</h2>
<p>互联网与移动终端日益紧密的结合，为中科红旗在移动互联网的市场上带来了新的机遇。3月底，中科红旗刚刚公布一款最新移动互联网设备操作系统InMimi尚巧版，该平台基于MeeGo，融合了Linux最新开源技术成果，可以应用于多媒体移动互联网设备，如上网本、云设备等。中科红旗总裁兼CEO贾栋表示：“红旗软件一直在移动互联网终端进行着各种创新，InMini尚巧版的发布，将进一步推动互联网移动设备的发展。它具备高度的可定制性，能满足业界厂商不同的多样性需求。” 目前，红旗InMini尚巧版已经逐步应用于一些知名移动终端制造商的产品中。</p>
<p>在计算和消费电子产品领域，上网本是最炙手可热的产品之一，2009年全球上网本出货量达3500万台，众多开发商和软件企业纷纷涉足这一极具吸引力的市场。据Novell现场工程师介绍，作为面向上网本的Moblin领先开发商，Novell推出了基于MeeGo的SUSE Moblin操作系统，使采用英特尔凌动处理器的上网本更受欢迎，为用户带来全新体验，将极为直观的用户界面与集成社交网络的强大功能与便携性完美结合。</p>
<p>车载娱乐信息系统是MeeGo的重要目标市场之一。以英特尔、华泰汽车、蓝星科技和红旗软件为代表的、分别处于汽车电子产业链各方的芯片供应商、整车制造商、硬件供应商和软件供应商等多家业内知名厂商携手，共同打造的首款搭载英特尔架构车载信娱乐系统的华泰元田B11已上市。为消费者提供丰富多彩的车载娱乐信息应用新体验，华泰元田B11不仅能为驾乘者提供实时导航、影音视听等常规功能，更可借助3G网络实现智能互联——用户可以实现网页浏览、邮件收发、移动办公、信息搜索、数字电视等全面、立体、实时的汽车数字生活体验。</p>
<p>中国导航应用的领先服务提供商凯立德也表示，看好MeeGo有充分的理由： MeeGo可以显着降低凯立德的开发成本，支持从手持到预装/后装车载信息娱乐市场中不同外形设计的设备。当具有位置感知能力的MeeGo插件工具发布时，凯立德致力使其旗舰导航产品提供相应服务，以更好地在中国提供其最先进的定位导航/服务产品。</p>
<br />
<h2>MeeGo未来发展前景及开发计划</h2>
<p>软件是充分发挥所有计算设备潜能的关键要素，英特尔拥有一套完整的软件战略，能够让软件公司和开发者驾驭英特尔设备的出色计算能力，同时为消费者和最终用户创造令人兴奋的应用模式。</p>
<p>IDF2010在软件和嵌入式创新机遇方面展示了激动人心的图景。英特尔公司高级副总裁兼软件与服务事业部总经理詹睿妮（Renee J. James）表示，MeeGo的首个版本将在2010年第二季度发布（5月份），未来MeeGo版本将半年进行一次更新，而基于MeeGo的设备将在2010年下半年亮相。现在，MeeGo的核心操作系统软件库提供了包括MeeGo操作系统、中间件等资源，可供开源社区下载、开发以及测试。</p>
<p>前几天，诺基亚和英特尔发布了 MeeGo 分布式基础结构和操作系统基础，包括内核，OS 基础结构和中间件。英特尔开源技术中心主管 Imad Sousou 在他的 MeeGo 博客上写道：“这是 Maemo 和 Moblin 全面结合的一步。我们很高兴打开这些资料库，并开放开发进展过程，正如我们一开始就做的那样。” 这些组件的版本可下载，安装在运行 x86 处理器的便携式设备和上网本或使用ARM处理器的便携式设备上，如诺基亚的 N900 智能手机。从MeeGo社区可以了解到，开发人员对新版MeeGo期待的心情。</p>
<p>詹睿妮还宣布，中国的独立软件开发商（ISV）和开发者现在可充分利用英特尔®凌动™开发者计划，并通过英特尔AppUpSM中心（测试版）提交应用程序进行销售。詹睿妮特别指出，英特尔AppUp中心（测试版）最近已推广到美国、加拿大和27个欧洲国家，可同时支持MeeGo和微软Windows。这一成长态势，使参与英特尔®凌动™开发者计划的中国应用程序开发者，有机会将面向基于英特尔凌动处理器设备的软件产品卖给全球顶级市场的消费者，并用美元、欧元和英镑进行交易结算。</p>
<p>MeeGo推出2个月来，其技术发展进程、生态系统迅速壮大和发展，大大增强了Linux行业人士和企业的信心，也给开源软件行业带了极大活力。在MeeGo v1.0版本即将正式公布之际，业界更是充满了期待。</p> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/MeeGo-rapid-rise/</link>
      <pubDate>Wed, 19 May 2010 06:00:00 -0700</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/MeeGo-rapid-rise/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/MeeGo-rapid-rise/</guid>
      <category>移动软件开发社区</category>
      <category>Open Source</category>
      <category>ISN General</category>
    </item>
    <item>
      <title>Linux 操作系统新贵 MeeGo 的前世与今生</title>
      <description><![CDATA[ <br />
<p><strong>作者：</strong>罗翠钦，行业分析高级顾问，长期关注并跟踪国内外电子、通信、计算机领域的动态及趋势。</p>
<br />
<p>在刚刚结束的巴塞罗那 2010 世界移动大会上，Linux 智能操作系统家族两股势力合并，即英特尔的 Moblin 与诺基亚的 Maemo，合并后启用新名 MeeGo，并交由 Linux 基金会管理。</p>
<p>MeeGo 问世新闻一出就如猛虎下山，引发业界广泛关注和热议。谁说英雄不问出处？先不论未来是否三分天下而得其一，正是因为其出身显贵，MeeGo 才吸引了众多技术人员、分析人士以及媒体记者，在从来就不缺乏竞争和热闹的移动计算领域，受到格外眷顾。</p>
<p><img src="http://software.intel.com/file/25762" /></p>
<p>很显然，MeeGo 是肩负使命和承载冀望而来。从产业角度的解释，其使命是促使家庭、车载、办公室和便携式等多种设备之间进行无缝通信，广泛应用于便携式笔记本电脑、上网本、平板电脑、多媒体电话、联网电视机和车载信息娱乐系统等；从两家合作者的角度，无疑是英特尔和诺基亚想在 iPhone、Android 风光无限之时夺得自己的一片领地。不仅英特尔和诺基亚，有如此志愿的还有微软，寄望 Windows Phone 7 打个翻身仗。</p>
<p>然而，MeeGo 背后有怎样的故事？MeeGo 究竟为何物？其因何而来，又向谁而去？本文将与您一道探讨。</p>
 <br />
<h2>Linux 操作系统新贵 MeeGo 问世</h2>
<p>MeeGo 出生原因，说来简单，英特尔和诺基亚要合力专注于一个共同的平台，携手谋求更大的事业，而不是单独煞费心神地烹调两份的羹汤。</p>
<table>
<tbody>
<tr>
<td><img src="http://software.intel.com/file/25885" /></td>
<td width="15"></td>
<td>
<p>Forrester 分析师 Ian Fogg 指出，两者确实有很多共同点：同样是基于 Linux；同样都是主攻移动设备；同样的致力于提供杰出丰富的消费者互联网体验。此外，IT 界有部分观点认为，两家的 Linux 系统 Moblin 和 Maemo 之前发展速度都让巨头们有些失望，缺乏手机厂商的支持，诺基亚和英特尔急需转身求变。</p>
<p>连诺基亚自己都承认，从 Maemo 第一个版本面世到搭载到第一款智能手机 N900，时隔有五年。英特尔的 Moblin 可以让开发人员快速开发相关设备驱动及 UI，其 Moblin 社区也一直很活跃，但是基于 Linux 的内核似乎没有什么特别优势，遗憾是，目前还没有智能手机硬件厂商支持 Moblin，这对于在计算设备领域前呼后拥的英特尔而言，显然是亟待解决的问题。</p>
</td>
</tr>
</tbody>
</table>
<p>时间到了 2009 年 6 月，两家联手共书大计昭示天下，声明战略合作关系。双方宣布结成长期合作伙伴，研发下一代基于英特尔架构的无线计算设备和芯片组架构，以及 Linux 项目的合作，英特尔还将获得在未来产品中使用诺基亚 HSPA/3G 调制解调器的许可。</p>
<p>融合后的 MeeGo 问世，应该算是行动上迈出的重要一步。</p>
<br />
<h2>从 Moblin 和 Maemo 看 MeeGo</h2>
<p>MeeGo 继承了分别掌握底层架构和终端设备优势的两大巨头的优秀基因，该操作系统整合了两家各自的 Linux 运算环境（英特尔 Moblin 与诺基亚 Maemo），针对多种计算设备的硬件平台而设计，包括便携式笔记本电脑、上网本、平板电脑、多媒体电话、联网电视机和车载信息娱乐系统等，志在挑战抢尽风头的 Google、Apple 等终端平台及操作系统。</p>
<p>据称 MeeGo 融合了 Maemo 和 Moblin 两者优势，是面向多种处理器架构的开放式平台，MeeGo 保留了 Moblin 核心操作系统的能力，支持广泛的设备类别和丰富用户体验，并结合了 Maemo 在移动产业的影响力，以及已被软件开发人员广泛采用的 Qt 应用和用户界面框架。开发人员现在就可以用 Qt 编写 MeeGo 应用程序，而 MeeGo 的首个版本将在 2010 年第二季度发布。</p>
<p>针对部分厂商担心的诺基亚和英特尔将通过 MeeGo 在未来移动互联网时代获得的控制力和影响力，英特尔曾强调，MeeGo 非英特尔和诺基亚独有，而是定位在开源软件，敞开大门广迎宾友。原 Maemo 社区委员会主席 Valério D Valério 在谈到这个问题时也表示称，"鉴于 Linux 基金会将领导这次合并，而且他们过去的表现已经证明了自己，我想这问题应该也不太需要担心"。</p>
<p>从MeeGo的架构图和相关资料来看，MeeGo分为三层：由Moblin的内核为主的操作系统基础层， MeeGo UI 框架和其他服务构成的中间层，以及针对不同设备的用户体验参考设计。</p>
<p>MeeGo 的应用方面会有飞跃，原有的 Moblin 和 Maemo 应用都可以直接运行在 MeeGo 上，近千个基于 MeeGo Qt, Webkit 的开发应用，多个 Runtime 之上的应用等。同时业内分析人士称，从硬件芯片的角度来看，合并后的 MeeGo 不仅支持基于英特尔架构的芯片（这是在笔记本、上网本、MID 等领域得到广发应用的处理器），也支持 ARM 芯片，而 ARM 芯片广泛应用于智能手机中。这将为 MeeGo 增加一份独特吸引力。</p>
<p>再来看看搭载 MeeGo 操作系统的终端设备开发进度。诺基亚、英特尔两家宣称 MeeGo 将由 Linux 基金会管理，遵循开源开发模式的最佳实践，首个版本将在 2010 年第二季度发布，而 MeeGo 设备将在 2010 年下半年亮相。计划终归是计划，合并后的 MeeGo 在终端的进展如何，还要看这两个玩家的决心和努力程度，让我们拭目以待。</p>
<br />
<h2>MeeGo 引发智能操作系统新竞争</h2>
<p>这个强强联手的故事，貌似也是一个无奈之举，iPhone 大概是其直接促成者。</p>
<p>在北美市场，让诺基亚遭受重挫的，那就是 iPhone。Forrester 分析师 Ian Fogg 在博客中提到，这一合并是"勇敢的玩法"，将使 MeeGo 赢得与 Android、iPhone OS、Chrome、Palm WebOS、Windows Phone 甚至 Ubuntu 桌面平台竞争的优势。但他同时也认为，诺基亚需要一个快速调整，从"说"到"做"甚至跑起来，否则欧洲高端市场也将如北美市场一样成为其他手机厂商的领地。</p>
<p>在智能终端的操作系统竞争中，除了 iPhone OS，当然还有风头正劲的 Android，以及因为大幅改进的新版本而正在恢复竞争力的 Windows Phone。微软与英特尔、诺基亚在操作系统的新姿态，将为其赢得新的竞争优势。J.Gold Associates 分析师 Jack Gold 撰文称，"对于微软、英特尔和诺基亚来说，这确实是一个重新开始，不过微软在更为不利的一个位置，要从更陡的道路上爬回竞争轨道。"</p>
<p>Android 有其优势：合作伙伴多、品牌效应好，是支持ARM芯片架构的 Linux 操作系统，平台公布一年后即取得了智能操作系统 3% 的市场份额，甚至媒体更积极的报道称是 7%。但 Android 也不是无可挑剔，例如，缺乏像苹果、诺基亚那样的品牌影响力，使用者抱怨操作界面和方式都不够友好。</p>
<p>另外，从开发人员的角度，"Android 系统局限很大，开发者无法进入被 Google 牢牢控制的底层，这有点吓人。" Maemo 社区委员会主席 Valério 在比较 Maemo 和 Android 时有如此陈述。在他看来，Maemo（以及 Moblin 和 MeeGo）基于 Linux，有无限的可能性，使用的自由度更大，可以支持整个设备，而 Android 的开放还不够透明。</p>
<br />
<h2>MeeGo 平台改写未来格局？</h2>
<p>无疑，MeeGo 平台将成为一股新势力，加入到智能终端操作系统的激烈竞争中，其未来发展留有极大想象空间。改写智能操作系统格局？一切皆有可能。</p>
<p>分析师 Ian Fogg 给出建议，MeeGo 不应该一下子把注意力放在过于广泛的设备上，如车载信息娱乐、智能手机、上网本、平板电脑等等，而应该集中在一个领域如移动市场取得快速进展。</p>
<table>
<tbody>
<tr>
<td><img height="95" width="78" src="http://software.intel.com/file/25886" /></td>
<td width="15"></td>
<td>最新消息对 MeeGo 是乐观的。就在 MeeGo 问世两周多后，法国电信运营商 Orange 便与英特尔签署了一项战略合作协议，双方携手计划推出配置英特尔<sup>®</sup> 凌动<sup>TM</sup>处理器并运行新的 MeeGo 平台的移动电话和上网本，两家公司还表示，会在 MeeGo 设备上为用户提供类似 Orange 地图和 Orange 电视等多媒体服务。</td>
</tr>
</tbody>
</table>
<p>Orange 是第一个正式宣布支持 MeeGo 的电信运营商，紧接着又引来第二家运营商关注，即意大利电信。意大利电信与英特尔将合作开发运行 MeeGo 系统的下一代互联网和网络电视服务，这一合作的目标是通过结合网络电视、视频点播以及基于网络的更多服务，使多媒体内容的发送和接受更方便、更有吸引力。两家公司还透露，第一款运行 MeeGo 的产品名称为 CuboVision，采用凌动 CE4150 处理器，这款新的多媒体宽带设备将通过数字地面频道带给消费者免费和收费的电视内容。CuboVision 不仅提供来自数字地面电视、网络电视、视频点播及在线游戏等娱乐内容，还支持电子政务、电子医疗、电视商务、家庭自动化、远程教育和远程视频监控等应用。</p>
<p>不过，长期发展关键还要看执行，评论者的担心就在于英特尔和诺基亚的行动能否跟得上计划，足够快速且卓有成效。分析人士称，如果英特尔和诺基亚打算认真建立一个移动平台，应该可以办到，未来发展事实将会证实一切。</p>
<br /> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/Moblin-and-Maemo/</link>
      <pubDate>Sun, 28 Feb 2010 09:00:00 -0800</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/Moblin-and-Maemo/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/Moblin-and-Maemo/</guid>
      <category>移动软件开发社区</category>
      <category>Open Source</category>
      <category>ISN General</category>
    </item>
    <item>
      <title>预测和测量并行性能</title>
      <description><![CDATA[ <h1 class="sectionHeading">摘要</h1>
构建软件的并行版本可使应用在更短的时间内运行给定数据集，在固定时间内运行多个数据集，或运行非线程软件无法运行的大型 数据集。 并行化的成功通常通过并行版本相对于串行版本的加速比来量化表示。 除了这种比较之外，将该加速比与可能的加速比 上限进行比较也十分有用。 这一点可使用阿姆达尔定律和古斯塔夫森定律做到。<br /><br />本文是《<a href="http://software.intel.com/zh-cn/articles/intel-guide-for-developing-multithreaded-applications/">英特尔® 多线程应用开发指南</a>》系列的一部分，后者用于指导开发人员针对英特尔® 平台开发高效的多线程应用。<br /><br />
<h1 class="sectionHeading">背景</h1>
应用运行的速度越快，用户等待结果所需的时间越短。此外，执行时间的缩短使用户在可接受的时间内能够运行更大规模的数据集 （例如，更多的数据记录，更多的像素，或更大的物理模型）。串行与并行执行时间之间一个具体的比较指标便是<i>加速比 （speedup）</i>。<br /><br />简单来说，加速比是串行执行时间与并行执行时间的比率。例如，如果串行应用运行需 6720 秒， 对应的并行应用运行需 126.7 秒（使用 64 个线程和核心），则并行应用的加速比是53X (6720/126.7 = 53.038)。<br /><br />对于扩展良好的应用，加速比增加的速度应与核心（线程）数量增加的速度相同或接近。当增加使用的线程数时，如果测量的加速 比不能维持不变或开始下降，那么就测量的数据集，该应用的扩展性不够理想。如果该数据集是典型的实际数据集，而应用将在此 之上执行，那么该应用的扩展性能则不理想。<br /><br />与加速比相关的另一个指标是<i>效率（efficiency）</i>。正如加速比 是衡量并行执行比串行执行快多少的指标，效率表示的是软件对系统计算资源的利用程度。要计算并行执行的效率，只需将观察到 的加速比除以使用的核心数，然后将得到的数值以百分数表示即可。例如，加速比为53X， 使用 64个核心，那么效率就等于82% (53/64 = 0.828)。这意味着，在应用执行过程中，平均每个核心大约有17% 的时间处于闲置状态。<br /><br /><b>阿姆达尔定律 </b><br /><br />在启动一个并行化项目前，开发人员会希望预估他们能够实现的性能提升量（加速比）。如果知道（或预估出)能 够以并行方式执行的串行代码的百分数，那么开发人员可使用阿姆达尔定律计算应用的加速比上限，无需实际编写任何并发代码。 本系列介绍了阿姆达尔定律公式的几种变形。每种变形均使用并行执行时间 (<i>pctPar</i>) 、串行执行时间 (<i>1 - pctPar</i>) 和线程/核心 (<i>p</i>) 的百分数（建议）。下面是一个简单的阿姆达尔定律公式，用于评估基于 p 个核心的并行 应用的加速比。<br /><br />
<p ><img src="http://software.intel.com/file/24755" /></p>
该公式只是串行时间（标准化为 1）与预估的并行执行时间的简单相除，使用标准化的串行时间的百分数。并行执行时间表示为串 行执行的百分数 (<i>1 - pctPar</i>)加上能够以并行方式执行的百分数与所用核心数 (<i>pctPar/p</i>)的除数。例如，如果 95% 的串行应用运行时间可以在 8 个核心上以并行方式执行，根据阿姆达尔定律，预估的加速比等于6X (1 / (0.05 + 0.95/8)= 5.925)。<br /><br />除了在公式中的小于或等于关系 (≥)，阿姆达尔定律公式假设这些能够以并行方式执行的计算可被无限核心 数整除。这一假设实际消除了分母中的第二项，意味着最大的加速比即是剩余串行执行百分数的倒数。<br /><br />因为忽略了实 际开销，例如通信、同步和其它线程管理，以及无限核心处理器的假设，阿姆达尔定律一直饱受批评。除了没有考虑并发算法固有 的开销，对阿姆达尔定律最强烈的批评之一是，随着核心数量的增加，处理的数据量也可能会增加。阿姆达尔定律假设不论核心数 量如何，数据集大小均为固定，并且整体串行执行时间保持不变。<br /><br /><b>斯塔夫森定律</b><br /><br />如果使用 8 核 的并行应用能够计算的数据集是原始大小的 8 倍，串行部分的执行时间会增加吗？即使有增加，它也并非与数据集的增加同比例增 长。实际数据显示串行执行时间几乎保持不变。<br /><br />斯塔夫森定律又被称为<i>扩展的加速比（scaled speedup）</i>，它 考虑了数据大小与核心数量成比例的增加并计算应用的加速比（上限），假设大数据集能够以并行方式执行。扩展的加速比公式如 下：<br /><br />
<p ><img src="http://software.intel.com/file/24756" /></p>
与阿姆达尔定律公式相同，<i>p</i> 代表核心数量。为简化表述，对于指定的数据集大小，s 代表并行应用中的串行执行时间的百 分数。例如，如果在 32 个核心上 1% 的执行时间用于串行执行，对于同一数据集，基于单个核心和单个线程运行的应用的加速比 是：<br /><br />
<p ><img src="http://software.intel.com/file/24757" /></p>
现在来考虑阿姆达尔定律基于这些假设估计的加速比。假设串行执行的百分比是 1%，阿姆达尔定律等式得出 1/(0.01 + (0.99/32)) = 24.43X。这是个错误计算，因为给定的串行时间百分数与 32 核心执行有关。该示例没有指出对于更多或更少的核心 （甚至只有一个核心），对应的串行执行百分数将是多少。如果代码扩展完美，并且数据大小与核心数同时扩展，那么该百分数能 够保持不变，阿姆达尔定律计算的结果将是 32 核心上（固定大小）单核问题的预测加速比。<br /><br />另一方面，如果在 32 核心的案例中知道总的并行应用执行时间，则可以计算全部串行执行时间，并且针对固定大小问题的加速比（进一步假设该值可以 使用单核计算）可以通过阿姆达尔定律基于 32 核心进行预测。假设在 32 核心上并行应用的总执行时间是 1040 秒，则该时间的 1% 是串行执行时间，或 10.4 秒。乘以 32 核心上并行执行的秒数 (1029.6)，该应用完成总工作量所花时间为 1029.6*32+10.4 = 32957.6 秒。非并行时间（10.4 秒）是总工作时间的 0.032%。使用该数字，阿姆达尔定律计算出的加速比为1/(0.00032 + (0.99968/32)) = 31.686X。<br /><br />要使用斯塔夫森定律，必须知道并行执行期间串行时间的百分数，因此该公式的一个典型 用例是计算扩展的并行执行（数据集大小随着核心数量的增加而增加）与相同大小问题串行执行的加速比。从上面的示例可以看出 ，由于在阿姆达尔定律的公式中有关应用执行数据的严格使用，得出的估值比扩展的加速比公式得出的值悲观得多。<br /><br />
<h1 class="sectionHeading">建议</h1>
在计算加速比时，必须对最佳的串行算法和最快的串行代码进行比较。通常，非最佳串行算法将更容易并行化。即便如此，虽然有 更快的串行版本，但也不是所有人都会使用串行代码。因此，即使底层算法不同，必须使用最快串行代码中的最佳串行运行时间来 计算可比较并行应用的加速比。<br /><br />在说明加速比时，应使用乘数值。过去，加速比一直以百分数表示。在本文中，使用 百分数会引起困惑。例如，如果说并行代码比串行代码快 200%，那么它的运行时间是串行版本时间的一半，还是该时间的三分之一 ？105%的加速比是几乎与串行执行时间相同还是比串行执行时间快两倍？基准串行时间是 0% 加速比还是 100% 加速比？另一方面 ，如果并行应用的加速比是 2X，很显然它使用一半的时间（即，并行版本在相同的时间内能够执行两次，而串行代码执行一次） <br /><br />在极少数情况下，应用的加速比大于核心数。这种现象被称为超级线性加速。发生超级线性加速的典型原因是固定大 小数据集被分解得足够小（对内核而言），可以放入本地高速缓存。当以串行方式运行时，数据必须通过高速缓存获取，在获取期 间处理器只能等待。如果数据足够大，需占用清空之前使用的某些高速缓存行，那么后续对这些高速缓存行的任何复用都会导致处 理器再次等待。当数据被分解成可放入核心上高速缓存的数据块时，一旦这些数据被全部存入高速缓存，则无需经历复用高速缓存 行所带来的等待复用。因此，使用多个核心可以消除在单个核心上与串行代码执行相关的一些系统开销。这样，过小的数据集（小 于一般的数据大小）便会产生性能提升的错觉。<br /><br />
<h1 class="sectionHeading">使用准则</h1>
此外还有其它并行执行模型尝试对阿姆达尔定律简单模型中的缺陷给出合理假设。<br /><br />然而，因为其简单性和用户理解这 只是理论上限（几乎不可能达到或超越），所以阿姆达尔定律仍是表示串行应用加速比潜力的一项简单、有用的指标。<br /><br />
<h1 class="sectionHeading">其它资源</h1>
<a href="http://software.intel.com/en-us/parallel/">英特尔® 软件网络并行编程社区</a><br /><br /><a href="http://portal.acm.org/citation.cfm?id=42411.42415&amp;coll=GUIDE&amp;dl=GUIDE&amp;idx=J79&amp;part=periodical&amp;WantType=periodical&amp;title=Communications%20of%20the%20ACM">John L. Gustafson，“</a><i><a href="http://portal.acm.org/citation.cfm? id=42411.42415&amp;coll=GUIDE&amp;dl=GUIDE&amp;idx=J79&amp;part=periodical&amp;WantType=periodical&amp;title=Commun ications%20of%20the%20ACM">重新评估阿姆达尔定律</a></i><a href="http://portal.acm.org/citation.cfm? id=42411.42415&amp;coll=GUIDE&amp;dl=GUIDE&amp;idx=J79&amp;part=periodical&amp;WantType=periodical&amp;title=Commun ications%20of%20the%20ACM">” 《美国计算机协会通讯》，第31卷，第532-533页，1988年。</a><br /><br /><a href="http://www.amazon.com/Parallel-Programming-C-MPI-OpenMP/dp/0072822562">Michael J. Quinn，“</a><i><a href="http://www.amazon.com/Parallel-Programming-C-MPI-OpenMP/dp/0072822562">在C语言中使用MPI 和 OpenMP并行编程 </a></i><a href="http://www.amazon.com/Parallel-Programming-C-MPI-OpenMP/dp/0072822562">”，McGraw-Hill出版社，2004 年</a> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/predicting-and-measuring-parallel-performance/</link>
      <pubDate>Sun, 28 Feb 2010 06:00:00 -0800</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/predicting-and-measuring-parallel-performance/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/predicting-and-measuring-parallel-performance/</guid>
      <category>移动软件开发社区</category>
      <category>多核软件开发</category>
      <category>ISN General</category>
    </item>
    <item>
      <title>关于英特尔编译器与GCC编译器在栈内存分配方面的比较( Memory allocation method in stack--Comparison between Intel and GCC compilers)</title>
      <description><![CDATA[ <strong>摘要(Abstract)：</strong><br />      将Linux/Unix程序移植到Windows是一个软件开发的趋势，应用程序能够从丰富的、健壮的Linux/Unix开发库中获取足够的给养，大大缩短了程序的开发周期并提供了优良的程序质量。本篇文章以此为基础，探索了流行的交叉编译器的函数调用规范，结合典型的应用实例逐步分解说明。通过分析函数调用规范中的栈分配策略，论述了它们之间的主要差异和缘由。对使用MMX、SSEX甚至是AVX指令的代码移植工作，具有重要的参考价值，并在此基础上也提出了如何解决问题的两套方案，具有非常高的实践价值。<br />      This paper explores the calling convention of popular compilers by analyzing the simple source codes of demonstration and provides simple and efficient solutions to iron issues out when SSEx instruction set is adopted in applications. It is very worth referring to its thought for migrating Unix/Linux applications to Microsoft Windows platform.<br /><br /><br /><span class="sectionHeadingText">作者简介(Author Bio)：<br /><img height="115" width="90" src="http://software.intel.com/file/27662" alt="1.jpg" title="1.jpg" /><br /><br /></span>      王燕青先生毕业于上海交通大学通信与信息系统专业，并获得硕士学位。他现任在英特尔®公司开发者关系部应用工程师，专职视频、图像和英特尔新技术的咨询和优化工作。他在项目管理、嵌入式系统、图形图像和数字电视有丰富的经验，并曾就职于ATI和三星。<br /><span class="sectionBodyText"><br /><br /><strong>点击</strong><a href="http://software.intel.com/file/28436"><strong>此处</strong></a><strong>下载关于英特尔编译器与GCC编译器在栈内存分配方面的比较.pdf ( Memory allocation method in stack--Comparison between Intel and GCC compilers).</strong><a href="http://software.intel.com/file/27668"><br /></a></span>
			 ]]></description>
      <link>http://software.intel.com/zh-cn/articles/YanqingWang/</link>
      <pubDate>Fri, 27 Nov 2009 06:00:00 -0800</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/YanqingWang/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/YanqingWang/</guid>
      <category>移动软件开发社区</category>
      <category>可管理性软件开发社区</category>
      <category>Open Source</category>
      <category>ISN General</category>
      <category>Tools</category>
      <category>大学项目</category>
      <category>英特尔(R) 软件网络</category>
      <category>英特尔® 学术社区</category>
      <category>Developer Training</category>
      <category>英特尔(R) 软件学院</category>
    </item>
    <item>
      <title>2009杭州软件园英特尔嵌入式培训</title>
      <description><![CDATA[ <p>
<table border="0" width="610" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td>
<h2 class="sectionHeadingText">2009杭州软件园英特尔嵌入式培训|2009年11月3日|中国杭州</h2>
</td>
</tr>
<tr>
<td>
<p>      2009年11月3日，由杭州高新（滨江）区政府和英特尔公司共同举办，杭州国家软件产业基地有限公司协办的“基于英特尔嵌入式平台的应用开发培训”在杭州市滨江区会展中心成功举行。杭州高新区金志鹏副区长到会并致辞，英特尔合作伙伴关系部总经理Christos Georgiopoulos博士做精彩演讲，共有60多位从事嵌入式软件行业的公司决策者和工程师参加了此次培训。培训内容从英特尔嵌入式平台概况及未来发展战略介绍入手，讲授最新的英特尔嵌入式处理器架构及作为配套操作系统之一的Moblin系统概述，同时涵括英特尔软件开发工具对嵌入式平台应用开发的支持，并就相关软件性能优化专题进行研讨。英特尔致力于嵌入式软件开发平台技术的推介与推广，将以多种形式开展对企业的技术和业务支持，扩大与企业的合作，共同分享英特尔最前沿的研发成果！</p>
</td>
</tr>
<tr>
<td>
<p><img align="left" width="300" src="http://software.intel.com/file/23899" height="225" /><img align="right" width="300" src="http://software.intel.com/file/23900" height="225" /></p>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
</tr>
<tr>
<td>
<h3  class="sectionBody">2009杭州软件园英特尔嵌入式培训</h3>
</td>
</tr>
</tbody>
</table>
</p>
<strong>培训日程安排：<br />(点击下面的演讲标题下载相关培训材料)<br /></strong><br />
<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td width="64">
<p align="center">Time</p>
</td>
<td width="300">
<p align="center">2009年11月3日</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">0900</p>
</td>
<td width="300">
<p align="center"><a target="_blank" href="http://software.intel.com/file/23901"><strong>从嵌入式开始创新之旅</strong></a></p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
<td rowspan="4" width="300">
<p align="center"><a target="_blank" href="http://software.intel.com/file/23902"><strong>英特尔嵌入式平台架构</strong></a></p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1000</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1100</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
<td rowspan="3">
<p align="center">　<strong>午餐</strong></p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1200</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1300</p>
</td>
<td rowspan="2" width="300">
<p align="center"><a target="_blank" href="http://software.intel.com/file/23903"><strong>Moblin系统介绍</strong></a></p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1400</p>
</td>
<td rowspan="2">
<p align="center"><a target="_blank" href="http://software.intel.com/file/23904"><strong>嵌入式平台软件开发工具</strong></a></p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1500</p>
</td>
<td rowspan="4">
<p align="center"><a target="_blank" href="http://software.intel.com/file/23905"><strong>嵌入式平台应用开发</strong></a></p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="left">　</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right">1600</p>
</td>
</tr>
<tr>
<td width="64" valign="bottom">
<p align="right"> </p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/2009Embedded_Hangzhou/</link>
      <pubDate>Tue, 24 Nov 2009 08:00:00 -0800</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/2009Embedded_Hangzhou/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/2009Embedded_Hangzhou/</guid>
      <category>移动软件开发社区</category>
      <category>ISN General</category>
      <category>英特尔® 凌动™ 软件开发社区</category>
      <category>ISC General</category>
      <category>大学项目</category>
      <category>英特尔(R) 软件网络</category>
      <category>英特尔® 学术社区</category>
      <category>Developer Training</category>
      <category>MID</category>
      <category>英特尔(R) 软件学院</category>
      <category>Events</category>
    </item>
    <item>
      <title>基于Adobe* Air*的MID应用程序开发</title>
      <description><![CDATA[ <br />
<div class="Section1">
<div class="sectionHeading">摘要</div>
<p>本文将简要介绍在Moblin V1.0下开发Adobe AIR的应用程序。它包括如何安装和使用Adobe AIR 开发环境。另外，使用一个实例说明开发Adobe AIR应用程序的基本步骤，特别是针对MID平台的应用开发。</p>
<p> </p>
<div class="sectionHeading">1. Adobe AIR简介</div>
<p>Adobe* AIR* 是一个可以把Web应用程序本地化的平台，可以使我们随时使用自己喜欢的Web应用程序。通过Adobe AIR 编译的Web应用程序可以脱离浏览器运行在桌面计算机中，并且可以使Web应用程序像桌面应用程序一样的简单易用。 <br />Adobe* AIR* 是一个跨系统应用软件平台，他允许开发人员使用HTML、AJAX、Adobe Flash* 或者Adobe Flex* 技术在桌面环境实现“丰富互联网应用程序”的开发。AIR允许开发者使用他们熟悉的开发工具，比如Adobe Dreamweaver* CS3、Flex Builder™ 3、Flash CS3 Professional或者任何文本编辑器来创建他们的应用程序，并可以轻易的使开发好的应用程序实现跨平台的安装和使用。</p>
<p>Adobe AIR的应用程序开发包括两个重要的工具：</p>
<p>1) Adobe AIR runtime: 它是编译“丰富互联网应用程序”的跨平台运行时环境，使用Adobe Flash、Adobe Flex、HTML或Ajax的Web应用程序可以被编译成桌面应用程序。</p>
<p>2) Adobe AIR SDK: Adobe AIR应用程序的开发环境，它包含开发、测试需要的基本的库文件和API，同时还包含两个重要的工具“adl”开发调试工具和“adt”加密编译工具。</p>
<p> </p>
<div class="sectionHeading">2. AJAX简介</div>
<p>AJAX (Asynchronous JavaScript and XML)，是用来开发交互式Web应用程序和丰富互联网应用程序的一组技术。使用Ajax，Web应用程序可以与服务器在后台进行异步通讯而不影响应用程序的运行和现有页面的显示。Ajax的应用已经引发交互式动态网页的使用率增长迅速。这个技术可以使Web应用程序更加人性化，可用性与移植性因此而增强，使Web应用程序更加接近于桌面应用程序一样美观易用。</p>
<div class="sectionHeading">3. 安装和运行“Adobe AIR Application runtime”</div>
<p>Adobe* AIR™ runtime 让开发者使用已有的Web开发技术脱离浏览器创建可以应用于多种操作系统的“丰富互联网应用程序”。</p>
<p>3.1 下载“Adobe AIR Application runtime”</p>
<p>从下面网址下载“Adobe AIR Application Installer”的Linux版本： <br /><a href="http://get.adobe.com/air/otherversions/">http://get.adobe.com/air/otherversions/</a>.</p>
<p>3.2 安装“Adobe AIR Application runtime” <br />在shell中运行下载的二进制文件，安装后文件系统中会增加 “/opt/Adobe AIR Application Installer” 这个路径来存储“Adobe AIR Application runtime”</p>
<p>3.3 运行“Adobe AIR Application runtime” <br />安装以后，在“/opt/”下会出现一个“Adobe AIR Application Installer”文件夹，可以在桌面创建一个链接到“Adobe AIR Application Installer”，或者在shell中运行“Adobe AIR Application Installer”程序文件。</p>
<p> </p>
<div class="sectionHeading">4. 安装和运行Adobe AIR应用程序</div>
<p> </p>
<p align="left">4.1 AIR包 <br />下载以“air”为扩展名的AIR包文件，下载时需注意发行版本是否适用于当前系统中安装的“Adobe AIR Application Installer”版本。 <br />安装AIR应用程序 <br />1) 运行Adobe AIR Application Installer并且选择已下载的“AIR”包。</p>
<p> </p>
<p align="center"><img width="719" src="http://software.intel.com/file/15152" alt="air-01.png" title="air-01.png" /><br />图 1. 选择“AIR”安装包。</p>
<br />2) 点击“安装”按钮开始安装“AIR”包。 <br />
<p align="center"><img src="http://software.intel.com/file/15153" alt="air-02.png" title="air-02.png" /><br />图 2. 安装包信息。</p>
<br />3) 选择安装的路径和设置相关信息，然后点击“继续”按钮。 <br />
<p align="center"><img src="http://software.intel.com/file/15154" alt="air-03.png" title="air-03.png" /><br />图 3. 选择路径和设置</p>
<br />安装以后，通常会在桌面建立一个Adobe AIR应用程序的快捷方式，双击可以启动这个应用程序，如果没有在桌面上建立快捷方式，也可以通过shell和安装时设置的路径找到这个程序的可执行文件，在shell中直接运行。
<p> </p>
<div class="sectionHeading">5. 使用AIR SDK创建一个基于HTML的AIR应用程序</div>
<p> </p>
<p>下面通过一个基于HTML的实例，编写一个“Hello Word”应用程序，说明Adobe* AIR™是如何工作的。 <br />开始，我们必须先安装runtime并且设置AIR SDK。这里将使用到两个重要工具“AIR Debug Launcher (ADL)”和“AIR Developer Tool (ADT)”。ADL和ADT是在shell下的应用程序，可以在AIR SDK的“bin”目录下找到。 <br />5.1 设置Adobe AIR 程序开发环境</p>
<ol>
<li><ol>
<li>安装和配置Moblin开发环境。 </li>
<li>从http://labs.adobe.com/downloads/air_linux.html 下载AIR SDK。 </li>
<li>在任意位置解压缩下载到的“tbz2”压缩包，如：“/opt/AIRSDK”。 </li>
<li>设置“PATH”： </li>
<li>在“/etc/profile”文件最后添加如下信息：<br />PATH=“$PATH:/opt/AIRSDK/bin”<br />export PATH</li>
<li>重启生效。 </li>
</ol></li>
</ol>
<p>5.2 创建项目所需的文件 <br />每个基于HTML的AIR项目必须包含一个文件程序描述文件——使用XML格式描述程序的元数据和主页。此外，还需要一个JavaScript文件“AIRAliases.js”——用来定义“AIR API”的类、变量和函数。 <br />创建其他的文件：</p>
<ol>
<li><ol>
<li>创建文件夹并命名为HelloWorld，用来包含整个项目。 </li>
<li>创建程序描述文件并命名为HelloWorld-app.xml。 </li>
<li>创建首页文件命名为HelloWorld.html。 </li>
<li>从AIR SDK中复制AIRAliases.js到项目文件夹中。 </li>
</ol></li>
</ol>
<p>5.3 创建AIR程序描述文件 <br />首先用下面的结构创建一个基于XML的程序描述文件：</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<div>
<blockquote>&lt;application&gt;
<pre></pre>
&lt;id&gt;…&lt;/id&gt;
<pre></pre>
&lt;version&gt;…&lt;/version&gt;
<pre></pre>
&lt;filename&gt;…&lt;/filename&gt;
<pre></pre>
&lt;initialWindow&gt;
<pre></pre>
&lt;content&gt;…&lt;/content&gt;
<pre></pre>
&lt;visible&gt;…&lt;/visible&gt;
<pre></pre>
&lt;width&gt;…&lt;/width&gt;
<pre></pre>
&lt;height&gt;…&lt;/height&gt;
<pre></pre>
&lt;/initialWindow&gt;
<pre></pre>
&lt;/application&gt;
<pre></pre>
</blockquote>
</div>
<ol>
<li><ol>
<li>打开并编辑HelloWorld-app.xml。 </li>
<li>添加根元素&lt;application&gt;，包含AIR的程序命名空间：<br /><strong>&lt;application xmlns="http://ns.adobe.com/air/application/1.5"&gt;</strong>命名空间最后的“1.5表示适用于这个应用程序的AIR runtime的版本。 </li>
<li>添加元素&lt;id&gt;：<br /><strong>&lt;id&gt;examples.html.HelloWorld&lt;/id&gt; </strong>这个发布id将唯一的标志这个应用程序。官方推荐使用以小数点分隔的反向域名格式，例如："com.company.AppName"。这个id同时应用于安装和程序私用的数据文件夹。 </li>
<li>添加元素&lt;version&gt;：<br /><strong>&lt;version&gt;0.1&lt;/version&gt; </strong>帮助用户确定程序的发布和安装版本。 </li>
<li>添加元素&lt;filename&gt;：<br /><strong>&lt;filename&gt;HelloWorld&lt;/filename&gt; </strong>这个名称将被应用于生成可执行程序，安装目录，和其他的程序属性。 </li>
<li>添加元素&lt;initialWindow&gt;并包含以下子元素，这部分用来描述生成应用程序窗口的属性： <br /><strong>&lt;content&gt;HelloWorld.html&lt;/content&gt;</strong> 确定程序启动时第一个装载的页面。<br /><strong>&lt;visible&gt;true&lt;/visible&gt; </strong>设置程序窗口是否立即可见。<br /><strong>&lt;width&gt;400&lt;/width&gt;</strong> 设置窗口的宽度。<br /><strong>&lt;height&gt;200&lt;/height&gt;</strong> 设置窗口的高度。 </li>
<li>编辑后，程序描述文件应该如下所示： </li>
</ol></li>
</ol>
<div>
<blockquote>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
<pre></pre>
&lt;application xmlns="http://ns.adobe.com/air/application/1.5"&gt;
<pre></pre>
&lt;id&gt;examples.html.HelloWorld&lt;/id&gt;
<pre></pre>
&lt;version&gt;0.1&lt;/version&gt;
<pre></pre>
&lt;filename&gt;HelloWorld&lt;/filename&gt;
<pre></pre>
&lt;initialWindow&gt;
<pre></pre>
&lt;content&gt;HelloWorld.html&lt;/content&gt;
<pre></pre>
&lt;visible&gt;true&lt;/visible&gt;
<pre></pre>
&lt;width&gt;400&lt;/width&gt;
<pre></pre>
&lt;height&gt;200&lt;/height&gt;
<pre></pre>
&lt;/initialWindow&gt;
<pre></pre>
&lt;/application&gt;
<pre></pre>
</blockquote>
</div>
<p>这个例子中仅仅展示了少数的程序属性，如果需要了解全部的程序属性，比如：窗口大小、位置、透明度，默认安装路径，关联的文件类型，图标等信息，可以参看官方网站的相关帮助。</p>
<p>5.4 创建程序主页 <br />创建一个简单的HTML页面，这个页面将被当作这个AIR应用程序的主页。</p>
<p>(1) 打开并编辑HelloWorld.html。添加如下代码：</p>
<div>
<blockquote>
<blockquote>&lt;html&gt;
<pre></pre>
&lt;head&gt;
<pre></pre>
&lt;title&gt;Hello World&lt;/title&gt;
<pre></pre>
&lt;/head&gt;
<pre></pre>
&lt;body onLoad="appLoad()"&gt;
<pre></pre>
&lt;h1&gt;Hello World&lt;/h1&gt;
<pre></pre>
&lt;/body&gt;
<pre></pre>
&lt;/html&gt;<br />
<pre></pre>
</blockquote>
</blockquote>
</div>
<p>(2) 在HTML文件的&lt;head&gt;部分载入AIRAliases.js文件：</p>
<div>
<blockquote>&lt;script src="AIRAliases.js" type="text/javascript"&gt;&lt;/script&gt;
<pre></pre>
</blockquote>
</div>
<p>(3) 在AIRAliases script下添加标签，这个标签用来标记onLoad事件中需要执行的JavaScript代码：</p>
<div>
<blockquote>&lt;script type="text/javascript"&gt;
<pre></pre>
function appLoad(){
<pre></pre>
air.trace("Hello World");
<pre></pre>
}
<pre></pre>
&lt;/script&gt;
<pre></pre>
</blockquote>
</div>
<p>appLoad()函数将调用air.trace()。这个信息将会在运行程序时显示在shell中，这是一个用于debug很有用的语句。</p>
<p>(4) 保存文件。</p>
<p>HelloWorld.html内容如下：</p>
<div>
<blockquote>&lt;html&gt;
<pre></pre>
&lt;head&gt;
<pre></pre>
&lt;title&gt;Hello World&lt;/title&gt;
<pre></pre>
&lt;script type="text/javascript" src="AIRAliases.js"&gt;&lt;/script&gt;
<pre></pre>
&lt;script type="text/javascript"&gt;
<pre></pre>
function appLoad(){
<pre></pre>
air.trace("Hello World");
<pre></pre>
}
<pre></pre>
&lt;/script&gt;
<pre></pre>
&lt;/head&gt;
<pre></pre>
&lt;body onLoad="appLoad()"&gt;
<pre></pre>
&lt;h1&gt;Hello World&lt;/h1&gt;
<pre></pre>
&lt;/body&gt;
<pre></pre>
&lt;/html&gt;
<pre></pre>
</blockquote>
</div>
<p>5.5 测试程序 <br />在shell中运行并测试程序，这里需要使用到AIR Debug Launcher (ADL)。ADL可执行程序存放在AIR SDK.的bin文件夹下。 <br />首先打开shell并切换到工程目录下，然后运行下面的语句：</p>
<div>
<blockquote>adl HelloWorld-app.xml
<pre></pre>
</blockquote>
</div>
<p>执行后会运行一个AIR窗口，这个窗口中将会显示刚刚编辑的页面，同时shell中会显示出air.trace()中的信息。</p>
<p>5.6 创建AIR安装包 <br />这个程序被成功运行以后，可以使用ADT程序打包这个应用程序，这个程序将被打包成以air为扩展名的AIR包程序。每个AIR安装程序都是一个包含项目文件的压缩文件。这样的AIR包文件只能通过前面所讲的Adobe AIR runtime安装。 <br />为了确保程序的安全性，AIR的安装包必须使用数字签名。为了开发需要，可以使用ADT或者其他的加密工具生成一个简单的、私有的密钥文件。也可以购买一个商业密钥，如VeriSign、Thawte。如果用户使用了私钥作为AIR的加密文件，安装过程中版权位置会显示“unknown”的发布者。因为私钥仅仅能保证AIR程序文件在安装和使用过程中不被修改。并不能保证其他的应用程序冒充这个私钥而安装到用户的计算机中。在发布的AIR文件中，强烈推荐使用商业性的密钥。 <br /><a></a><a></a></p>
<p>5.6.1 生成密钥 <br />应用下面的语句生成密钥：</p>
<div>
<blockquote>adt –certificate -cn <em>SelfSigned</em> 1024-RSA <em>sampleCert.pfx samplePassword</em>
<pre></pre>
</blockquote>
</div>
<p>ADT可以生成一个存储密钥的文件，并命名为sampleCert.pfx。 <br />这个例子中的斜体字可以替换成用户需要的任意值，密钥的类型必须是1024-RSA或 2048-RSA。</p>
<p>5.6.2 生成AIR安装文件 <br />使用下面的语句生成HelloWorld.air安装程序（在同一行中输入）：</p>
<div>
<blockquote>adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
<pre></pre>
HelloWorld-app.xml HelloWorld.html AIRAliases.js
<pre></pre>
</blockquote>
</div>
<p>此操作会提示输入密钥文件需要的密码。 <br />HelloWorld.air是ADT程序最终生成的安装文件。HelloWorld-app.xml是程序描述文件。程序描述文件后面的是这个应用程序所需要的其他文件，这个例子中只有两个文件，如果有多个文件，可以使用文件夹包括所需要的全部文件。 <br />执行这个语句之后，会生成AIR包文件，双击可以测试这个包的可执行性和有效性。 <br />（作者声明：本章内容，部分摘自<a href="http://help.adobe.com/en_US/AIR/1.5/devappshtml/">http://help.adobe.com/en_US/AIR/1.5/devappshtml/</a>）</p>
<div class="sectionHeading">6. Adobe AIR应用开发实例</div>
<p>6.1 实例介绍 <br />这个演示程序将会展示更多的AIR功能，并且可以表现Ajax和AIR SDK在AIR编程中的应用。 <br />实例包含4个主要功能：</p>
<ol>
<li>展示Ajax设计的UI<br />制作一个类似于Web应用程序的、可以在本地显示的UI。 </li>
<li>显示网页<br />在标签页中显示网站。 </li>
<li>获取RSS信息<br />获取RSS的地址信息，获取feeds并存储在AIR的数据库中。并且可以在标签页或者浏览器中打开一个RSS链接。 </li>
<li>使用AIR数据库。<br />使用AIR数据库来存储链接信息和对应用程序的设置信息。 </li>
</ol>
<p>6.2 设计和应用的技术 <br />6.2.1 Ajax的应用 <br />UI：使用开源的EXTJS来设计更友好、跟美观的UI。 <br />网络连接：使用JS中的http-request来获取feeds和Web的信息。 <br />6.2.2 Adobe AIR的应用 <br />使用AIR数据库：AIR提供了一个简单的数据库系统，可以支持一些简单的API，并可以被AIR程序快速有效的存取和使用。 <br />6.3 实例中的文件 <br />6.3.1 创建AIR程序描述文件 <br />AIR的程序描述文件是一个像“gcc”中“makefile”文件一样重要的文件，它包括了Adobe AIR编译和运行过程中的全部信息。 <br />如下创建程序描述文件：</p>
<div>
<blockquote>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
<pre></pre>
&lt;application xmlns="http://ns.adobe.com/air/application/1.0"&gt;
<pre></pre>
&lt;id&gt;com.adobe.apollo.samples.fresh&lt;/id&gt;
<pre></pre>
&lt;version&gt;2.1&lt;/version&gt;
<pre></pre>
&lt;filename&gt;Fresh&lt;/filename&gt;
<pre></pre>
&lt;name&gt;Fresh&lt;/name&gt;
<pre></pre>
&lt;description&gt;RSS Reader sample JavaScript application&lt;/description&gt;
<pre></pre>
&lt;copyright&gt;Copyright 2007-2008. Adobe Systems Incorporated. All rights reserved&lt;/copyright&gt;
<pre></pre>
&lt;initialWindow&gt;
<pre></pre>
&lt;title&gt;Fresh - RSS Reader&lt;/title&gt;
<pre></pre>
&lt;visible&gt;false&lt;/visible&gt;
<pre></pre>
&lt;content&gt;fresh.html&lt;/content&gt;
<pre></pre>
&lt;height&gt;480&lt;/height&gt;
<pre></pre>
&lt;width&gt;800&lt;/width&gt;
<pre></pre>
&lt;/initialWindow&gt;
<pre></pre>
&lt;installFolder&gt;AIR Examples&lt;/installFolder&gt;
<pre></pre>
&lt;programMenuFolder&gt;AIR Examples&lt;/programMenuFolder&gt;
<pre></pre>
&lt;icon&gt;
<pre></pre>
&lt;image16x16&gt;fresh/icons/Fresh_16.png&lt;/image16x16&gt;
<pre></pre>
&lt;image32x32&gt;fresh/icons/Fresh_32.png&lt;/image32x32&gt;
<pre></pre>
&lt;image128x128&gt;fresh/icons/Fresh_128.png&lt;/image128x128&gt;
<pre></pre>
&lt;/icon&gt;
<pre></pre>
&lt;/application&gt;
<pre></pre>
</blockquote>
</div>
<p>6.3.2 演示实例中的文件夹</p>
<ol>
<li><ol>
<li>data: 存储“opml”文件，这个文件中存放了一些默认的RSS信息，这个实例也将演示如果按照格式读取文件。 </li>
<li>extjs: 存放EXTJS开源代码的文件夹。 </li>
<li>extjs/css: 层叠式样式表，这个是UI的框架结构。 </li>
<li>extjs/images: UI中用到的图片文件。 </li>
<li>extjs/js: 存储EXTJS的核心代码。 </li>
<li>fresh/css: 存放演示程序的UI框架文件。 </li>
<li>fresh/icons: 存放演示程序的图标文件。 </li>
<li>fresh/images: 存放演示程序用到的图片文件。 </li>
<li>fresh/js: 存放演示程序的核心代码。 </li>
</ol></li>
</ol>
<p>6.3.3 代码文件说明</p>
<ol>
<li><ol>
<li>extjs/js/ext-base.js: 它包含设计UI的核心函数，Ajax的基本UI库。 </li>
<li>extjs/js/ext-all-debug.js: 存放调试和错误信息。 </li>
<li>fresh/js/AboutWindow.js: 控制演示程序中的“关于”对话框的显示和隐藏。 </li>
<li>fresh/js/AddWindow.js: 控制显示添加Web对话框。 </li>
<li>fresh/js/AIRAliases.js: AIR的基本API库，存放如：trace、date、time等等可以被使用的API。 </li>
<li>fresh/js/FeedDatabase.js: 数据库基本操作函数，如创建、插入、修改、删除等。 </li>
<li>fresh/js/FeedGrid.js: 为feeds绘制列表，并关联相关的操作，如鼠标点击、键盘响应等。 </li>
<li>fresh/js/FeedPanel.js: 应用程序的左边栏，包括显示“树”型结构、添加链接、添加文件夹、删除等信息。并且关联右侧的主界面，当点击这部分的链接或者RSS时，主界面中可以显示相应的信息。 </li>
<li>fresh/js/FeedProxy.js: 从RSS链接中分析并获取feeds的信息 </li>
<li>fresh/js/FeedReader.js: 分析feeds的信息。 </li>
<li>fresh/js/FeedWindow.js: 生成Add Feeds窗口。 </li>
<li>fresh/js/File.js: 包含对文件的I/O操作，比如打开、读写、删除等 </li>
<li>fresh/js/Fresh.js: 演示程序的主程序，包含整个UI的框架。 </li>
<li>fresh/js/MainPanel.js: 右侧的主窗口，可以显示网页、feeds等信息。 </li>
<li>fresh/js/OpmlFile.js, OpmlHandler.js: 包含对格式文件的操作函数。 </li>
<li>fresh/js/Preferences.js, PreferencesWindow.js: 控制程序主窗体的显示、移动等信息，并将这些信息存储在数据库中，每次启动程序时会从数据库中读取这些信息，并重新定位窗口。 </li>
<li>fresh/js/RefreshThread.js: 控制读取feeds的网络线程。 </li>
<li>fresh/js/TabCloseMenu.js: 主窗口中的tabbar和tab页面的显示。 </li>
<li>fresh/js/TreeFolderEditor.js: 包含控制左侧树形结构的函数。 </li>
<li>fresh/js/Utils.js: 辅助函数，如字符串操作等。 </li>
</ol></li>
</ol>
<div>
<p>6.4 使用实例 <br />6.4.1 运行/调试 <br />在shell中运行下面的语句：</p>
<blockquote>$ adl application.xml</blockquote>
<div><br />
<p align="center"><img src="http://software.intel.com/file/15155" alt="air-04.png" title="air-04.png" /><br /><em>图</em><em> 4. </em><em>实例的主界面。</em></p>
<br />6.4.2 浏览网页 <br />在左侧单击“Webs”下的任意项目可以在右侧打开一个新的标签页，并打开所选网站。 <br />
<p align="center"><img src="http://software.intel.com/file/15156" alt="air-05.png" title="air-05.png" /><br /><em>图</em><em> 5. </em><em>浏览网页。</em></p>
<br />6.4.3 浏览RSS <br />点击左侧“Lists”中的任意项目，可以在右侧主页面中打开这个RSS并展示它所包含的feeds信息，左下方可以预览一个被选中的feed。 <br />
<p align="center"><img src="http://software.intel.com/file/15157" alt="air-06.png" title="air-06.png" /><br /><em>图</em><em> 6. </em><em>浏览</em><em>RSS</em><em>。</em></p>
<br />6.4.4 添加网址 <br />点击左侧Webs，然后点击“Add Favor”按钮，输入名称和网址，点击“Add”可以添加一个网址。 <br />
<p align="center"><img src="http://software.intel.com/file/15158" alt="air-07.png" title="air-07.png" /><br /><br /><em>图</em><em> 7. </em><em>添加网址。</em></p>
<br />6.4.5 添加RSS <br />点击左侧的“Lists”，然后点击“Add Faver”按钮，输入一个RSS地址，点击“Add Feed”。 <br />
<p align="center"><img src="http://software.intel.com/file/15159" alt="air-08.png" title="air-08.png" /><br /><em>图</em><em> 8. </em><em>添加</em><em>RSS</em><em>。</em></p>
<br />演示实例的基本使用方法如上所示。这个应用实例可以给我们展示通过AIR和Ajax编程出的应用程序，可以简单的使用已有的网站代码，即已有的Web应用程序的源代码，不需要做过多的修改，而且可以通过Ajax的一些成熟的开源代码方便的开发出更为优秀的丰富互联网应用程序。</div>
<p> </p>
</div>
<p> </p>
<div class="sectionHeading">总结</div>
<p>本文介绍了如何安装Adobe Air的开发和调试环境，并且描述了如何编写和调试运行Adobe Air的“Hello World”程序。另外，还应用一个演示实例展示了在Linux/Moblin下基于HTML的Adobe AIR应用程序的开发过程，以及AIR的基本功能——将Web应用程序本地化。可以看出，利用Adobe Air的跨平台优势，可以很容易地为MID开发出丰富的互联网应用。如果想获取更多的关于Adobe AIR的开发信息可以访问： <br /><a href="http://www.adobe.com/products/air/">http://www.adobe.com/products/air/</a>.</p>
<div class="sectionHeading">参考文献</div>
<blockquote>
<p><a href="http://www.adobe.com/products/air/">http://www.adobe.com/products/air/</a></p>
<p><a href="http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7ecc.html">http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7ecc.html</a></p>
<p><a href="http://labs.adobe.com/technologies/air/samples/">http://labs.adobe.com/technologies/air/samples/</a><a href="http://moblin.org"></a></p>
<p> </p>
</blockquote>
<div class="sectionHeading"><br />相关代码下载<br /><a href="http://software.intel.com/file/23711">Demo_AdobeAirApp_Fresh.zip</a><br /><br />关于作者</div>
<p><a href="http://software.intel.com/en-us/profile/137889/"><strong>谢周意</strong></a>：于2005年加入英特尔公司。作为一名应用工程师，他的主要工作内容是MID软件开发支持和使用模式研究，特别是针对Web2.0和新媒体应用的研究。</p>
<p><a href="http://software.intel.com/zh-cn/profile/417812/"><strong>刘国徽</strong></a>：是英特尔中国MID应用支持部门的实习生，于2008年进入英特尔实习，目前在北京大学攻读软件工程硕士学位。</p>
<p> </p>
</div> ]]></description>
      <link>http://software.intel.com/zh-cn/articles/MID-Application-Development-with-Adobe-AIR/</link>
      <pubDate>Fri, 13 Nov 2009 00:00:00 -0800</pubDate>
      <comments>http://software.intel.com/zh-cn/articles/MID-Application-Development-with-Adobe-AIR/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/zh-cn/articles/MID-Application-Development-with-Adobe-AIR/</guid>
      <category>移动软件开发社区</category>
    </item>
  </channel></rss>
