Windows Embedded Compact7桌面浏览器体验

开发
随着计算机、网络技术的迅猛发展,新型的高科技含量的电子产品层出不穷,遍及家电、生产、军事等各个领域。嵌入式系统因其体积小,速度快而受到重视。

  随着计算机、网络技术的迅猛发展,新型的高科技含量的电子产品层出不穷,遍及家电、生产、军事等各个领域。嵌入式系统因其体积小,速度快而受到重视。

  在掌上电脑、手机、导航设备、信息家电领域嵌入式系统被广泛采用,其中,嵌入式桌面浏览器作为重要的嵌入式系统应用软件,是不可或缺的。

  

[[38173]]

 

  娱乐消费类电子产品对成本非常敏感,这就造成了嵌入式浏览器必须满足特定的要求,嵌入式桌面浏览器的主要开发难点:

  对CPU的开销要低。

  消费类电子产品CPU能力弱,功耗低,种类繁多,大多数处理器的运算能力远远比不上PC的CPU,因此桌面浏览器一定要能在100MHz以下的主频上可以运行。

  内存占用要尽量小。

  一般来说,要求嵌入式桌面浏览器运行期间占用内存小于6M,代码小于1M。

  开发设计要合理。

  消费类电子产品一般是通过遥控器或触控来操作的,遥控器不可能跟键盘一样复杂。对于使用嵌入式桌面浏览器来说,主要通过方向键、确认键和返回键来完成。基于这个特点,要求网页中焦点不能过多,另外焦点之间的跳动必须合理。当网页超出电视显示范围的时候,用户可以通过方向键移动,这要求桌面浏览器必须把网页排版在合理的宽度内,用户可以上下方向移动察看网页内容。

  Windows Embedded Compact 7是WinCE的最新版本,推出了一个全新的浏览器组件。不仅支持多点触摸的体验,用户可以通过不同的手势将网页进行放大、缩小和上下滑动。而且能够利用Silverlight技术修改不同设备上浏览器的动画效果、页面结构、颜色;以及浏览器的布局等,完全可以解决嵌入式浏览器开发的难点。

  用Windows Embedded Compact 7进行桌面浏览器的开发,有很多的优势:

  首先,嵌入式桌面浏览器对多种网络的支持是一个必不可少的要求。这样才能充分利用已有的数据资源,建立业务。用Windows Embedded Compact 7能应用在数字电视终端中,让浏览器支持相应的数字电视数据广播协议。

  Windows Embedded Compact 7可以让桌面浏览器要做到对HTTP协议的完整支持,可以实现与Internet的互联,提供对FTP等协议的支持,使专业设备对网络的文件传输、下载更加方便快捷。

  实现对JavaScript的支持。JavaScript作为一种脚本语言,本身可以提供良好的网络交互性,还可以用来开发一些小游戏。

  对CSS的支持为业务的应用开发提供了极大便利,也成为了嵌入式浏览器基本的支撑技术。HTML与CSS在浏览器中的运用最直接体现在电视中的界面美观性,可以动态更新界面,增强了收视效果,并体现了互联网电视个性化发展趋势。

 

#p#

 

  使用IE内核的桌面浏览器,使用了多页面多线程的方式,降低了系统资源的耗费,方便了浏览,开发容易便捷,使用常用的工具就可以开发出来;如果不要求特别完善强大的功能,只需简单拖一个IE控件就行了,这绝对体现了微软技术的强大性。

  

 

  Windows Embedded Compact 7具有很多新功能和新特性,Silverlight技术是一亮点。

  利用Silverlight可构建整页WPF式的Web应用程序,也可借助其他一些功能(如动画、广告等特定小程序)来丰富基于HTML的页面。 

  桌面浏览器并不直接处理构成Silverlight应用程序的XAML(可扩展应用程序标记语言)内容。实际上,在HTML页面中,会有一个<object>标记指向Silverlight插件,并且其参数中会包含用于下载所有必需XAML资源的URL。

  Silverlight 带有一个浏览器互操作性层,它允许托管代码访问基础页面的文档对象模型,并允许注册页面级事件的托管处理程序。同时,页面中运行的所有JavaScript代码均可获得对插件的XAML内容的访问权限,甚至可以进行修改。

  Silverlight应用程序可被承载在某个页面当中,该页面又承载在其本机域以外的某个帧中。在这种情况下,Silverlight托管代码将能够以跨域的方式访问宿主页面的DOM。桌面浏览器可使用自己的屏障来阻止跨域脚本,但它们对于阻止Silverlight插件中的托管代码也无能为力,大家可以利用HtmlAccess来控制跨域访问。

  一经授予对基础页面 DOM 的访问权限,Silverlight应用程序即可使用静态类HtmlPage的成员来完成自己的任务。完整的浏览器信息可通过BrowserInformation特性来获取,这种情况下,特性属于托管类型,可封装在浏览器级别可用的所有用户代理信息。

  访问用户代理数据可以这么写:

  string info = HtmlPage.BrowserInformation.UserAgent;

  HtmlElement lab1 = HtmlPage.Document.GetElementById("lab1");

  lab1.SetProperty("innerHTML", "Dino");

  Silverlight 与 DOM 实现交互带来的一个极大好处是能够运行托管代码来响应DOM事件。例如,当单击某个按钮时,可执行C#代码而非JavaScript。

  实现方式如下:

  HtmlElement butn1;

  butn1 = HtmlPage.Document.GetElementById("butn1");

  butn1.AttachEvent("click",

  new System.EventHandler(butn1_Click));

  void butn1_Click(object sender, EventArgs e)

  {

  Guid g = Guid.NewGuid();

  HtmlElement label1 = HtmlPage.Document.GetElementById("lab1");

  lab1.SetProperty("innerHTML", g.ToString());

  }

  那么会有人问,有没有更直接的方法从一个Silverlight插件调用另一个呢?当然有,如下:

  HtmlElement plugin = HtmlPage.Document.GetElementById("Silverlight2");

  var content = (ScriptObject) plugin.GetProperty("content");

  var action = (ScriptObject) content.GetProperty("Action");

  action.Invoke("GetRandomNumber");

  浏览器互操作性层、包含多种功能,实现Silverlight托管领域和JavaScript解释领域之间的通信。

  从用户体验的角度来看,Windows Embedded Compact 7不仅仅满足了用户对于桌面浏览器的认知体验,好玩够用,还提升了用户的操作体验,耐玩易用。

责任编辑:何巍 来源: 51cto.com
相关推荐

2010-06-03 18:07:30

Windows Emb微软嵌入式

2009-12-08 14:27:14

Windows 7桌面

2011-04-19 18:36:45

Windows Emb嵌入式

2011-04-02 11:41:40

Windows Emb嵌入式开发

2011-08-01 16:44:43

WEC7

2011-04-19 18:42:54

Windows Emb特性

2011-08-01 17:03:50

WEC7嵌入式

2011-08-01 17:11:44

WEC7增值

2011-08-01 16:23:44

2011-04-22 19:29:57

Windows Emb嵌入式开发

2011-04-25 19:15:16

2010-06-02 10:34:29

Windows Emb

2009-12-08 15:23:13

Windows 7桌面

2022-03-01 09:36:12

微软Windows 11

2011-03-25 18:26:08

Windows Emb嵌入式

2010-09-14 08:20:42

Windows Emb

2011-03-31 11:10:20

2011-04-22 19:29:15

Windows Emb嵌入式开发

2010-06-04 18:19:24

Windows Emb微软嵌入式Windows Emb

2009-12-09 09:08:44

Windows 7系统彩蛋
点赞
收藏

51CTO技术栈公众号