嵌入式浏览器风生云起

 

嵌入式浏览器风生云起

曹开彬

  3月25日,中国移动通信集团推出WAP手机上网服务;3月26日,市值只有58亿美元的OPENTV却斥资25亿美元收购嵌入式浏览器的知名提供商———SpyGlass。这些不同寻常的举动犹如给一直不平静的嵌入式世界投下巨型炸弹,引来业界对嵌入式浏览器的极大关注。



  当年业界为之哗然的“女娲”与“维纳斯”,好像一阵风,如今似乎也已是过往云烟,好久没有了声音。这大概是因为在Internet、电子商务时代,在嵌入式的世界里,浏览器盖过了一切。

  嵌入式浏览器情况到底怎样?记者专门采访了对此深有研究的深圳市茁壮网络技术有限公司总经理徐国华博士。


   高手云集没有独霸


  嵌入式浏览器早已是轰轰烈烈了。目前在市场上出现的嵌入式浏览器产品主要有Spyglass Device Mosaic、PlanetWeb、ThriveiPanel、中科院的CASS、Teknema Browser、Access NetFront、EBSNet Microbrowser、EnReach eBrowser、Light of Adamas、ICE Browser、Espial Escape等等,当然还有微软在WindowsCE中内嵌的简化版的IE。上述产品除IE、CASS和ThriveiPanel外,大都还不支持汉字显示。

  嵌入式系统最大的特点是多样性。设备生产厂商在芯片选择、系统功能定义、显示设备特性、耗电限制方面会有许多不同的要求,没有任何嵌入式浏览器可以满足所有嵌入式系统的要求。因此,徐博士认为,这就决定了无论是嵌入式操作系统还是嵌入式浏览器市场,不会出现如同Windows和IE在桌面PC市场所呈现的一统天下的局面。嵌入式浏览器市场具有分散性、多样性和变异性的特点。软件开发商必须对市场进行进一步细分,对特定设备,如掌上电脑、机顶盒、手机进行更有针对性的设计开发,才有可能赢得市场和得到实用化推广。


   现有产品实用化程度不高


  综观目前国际上的嵌入式浏览器产品,大多尚不够成熟,实用化程度不高。有些没有针对电视机等显示设备进行优化;有些不容易进行系统移植或修改;有些只支持英文不支持包括中文在内的双字节语言显示;还有一些嵌入式浏览器软件代码仍旧过大,占用资源过多。比如一些嵌入式浏览器使用Java语言来开发,像Espial Escape。虽然基于Java语言易于进行程序开发并具有较好的系统可移植性,但这样开发出来的系统对硬件资源要求就会比较高,需要占用较多的系统资源,运行时效率低、速度慢。


   国内涉足者很少


  国内嵌入式浏览器的开发和应用相对较少。据初步了解,目前只有中科院的凯思集团和深圳茁壮网络技术有限公司有自主开发的商用化的嵌入式浏览器产品。凯思的HOPEN浏览器是内置于其开发的HOPEN嵌入式操作系统中的,目前正在进一步实用化过程中。徐博士介绍说,茁壮公司的iPanel嵌入式浏览器是研发人员在硅谷和深圳两地经过客户实际移植使用,并反复调试修改而得到的一个相对实用化的成熟产品。它不仅完整支持HTML4.0、HTTP1.1、JavaScript1.3、SSL3.0和DHTML、TVHTML等格式,针对电视显示设计了特有的字体识别优化显示和抗闪烁算法,完全支持包括中文、日文、韩文等双字节语言,而且占用资源相当少,可以在低至250KFLASH、500KRAM和10-20MIPS的CPU上正常运行。另外由于iPanel浏览器是完全基于嵌入式系统环境设计的,因而有非常好的可移植性。根据我们的实际经验,移植iPanel浏览器到客户实际嵌入式系统的时间在2-4周以内。




  iPanel浏览Amazon


   研发困难多多


  在整个嵌入式系统产品设计时需要对硬件成本进行严格的控制,也就是说在选用核心处理芯片、RAM、FLASH存储器等方面作到能省就省,保持产品的价格竞争力;(下转E2版)

  (上接E1版)另一方面,非PC上网设备往往对系统功耗有一定限制,也就是说产品使用时必须省电、低散热量。这也要求系统选用较低主频的CPU。可以想象一台售价超过3000元的机顶盒设备或者一台只能连续使用30分钟就必须重新充电的掌上电脑是没有实际应用价值的。因此,IE或者Netscape等在PC应用中是非常优秀的浏览器,由于其庞大的执行代码和CPU资源占用,是无法成功应用于嵌入式环境中的。

  嵌入式浏览器要应用于各种非PC上网设备。一个设计优良的嵌入式浏览器不仅要做到对HTML标记语言、HTTP协议的完整支持,在设计时还必须考虑优化代码处理,保证系统对占用存储空间、运行时内存占用和CPU处理能力有较低的要求,比如运行时内存占用应在200K-1.5M之间。因此,徐博士认为,在如此有限的资源条件下,来完成如此复杂的任务是一件非常困难的工作。

  由于嵌入式操作系统一般没有提供像桌面系统一样丰富的图形用户接口,因此在完成同样的显示画面效果时,嵌入式浏览器必须采用自己独特的方式来实现图形显示功能。有些嵌入式操作系统也有移植过来的图形系统,但由于这种图形系统本身的庞大、复杂、对系统资源的要求高,不符合嵌入式系统本身的特点与要求。

  另外,普通PC机用的浏览器往往是针对CRT显示器设计的,而嵌入式系统的显示部件可能是CRT显示器,可能是电视机,可能是320*240点阵的彩色液晶屏,也可能是只有灰度效果的160*120点阵的液晶屏。在非标准显示器的应用条件下,对字体识别、字库、图形甚至页面的显示结构进行优化处理是一件复杂而具有挑战性的工作。相对于普通浏览器而言,这一部分是属于额外的开发工作量,而这些工作量要占到整个嵌入式浏览器开发工作量的很大一部分。


   盖过嵌入式操作系统


  在桌面计算机环境中,操作系统处于硬件环境和应用程序的中间层,也是整个计算机系统最核心的部分,所有的硬件设备都通过驱动程序由操作系统统一管理。而在操作系统之上又会存在很多应用程序,操作系统必须提供很多应用程序接口(API)来支持应用程序的运行。这就导致了桌面操作系统越来越复杂,越来越庞大。这时候浏览器仅仅是运行于操作系统之上的一个应用软件(如图1所示)。


  图1PC机中操作系统与浏览器关系

  的演化

  在嵌入式系统特别是大家普遍关注的可以作为Internet网络终端的嵌入式系统中,正如我们刚才提到的,嵌入式浏览器可能成为嵌入式操作系统最主要的应用软件,甚至有可能是唯一的直接支持的应用软件。其他应用如MP3播放机、MPEG视频、交互式游戏、IP电话、ICQ、股票接收分析、甚至远程教育、办公软件都可以通过PLUG-IN接口或者直接用HTML、JavaScript及其扩展语言来实现(如图2所示)。

  


  图2嵌入式系统OS与Browser关系的演化

  在这种情况下,嵌入式操作系统的核心地位就被浏览器所取代,蜕变成浏览器与硬件系统之间的驱动和底层管理模块,完成基本的内存管理、进程管理、硬件驱动等工作。甚至在一些设计性能优良的嵌入式浏览器中,浏览器已经越过操作系统直接对硬件内存进行管理以提高系统效率。

  嵌入式系统要求开发者针对硬件环境、操作系统、浏览器进行合理设计、量体裁衣,其操作系统与浏览器的关系相对非嵌入式环境要紧密得多,甚至不可分割。但徐博士认为,这并不意味着嵌入式系统软件开发商可以仿效微软的模式将两个软件捆绑销售。这正是因为嵌入式系统的多样性,在不同的应用环境下对系统和浏览器软件存在不同的要求。如果不能针对特定需求进行软件定制修改,而只是强行捆绑销售,是无助于市场的普及推广的。微软在Windows98中捆绑了IE,使得IE的用户数大大压倒了Netscape。但同样是在嵌入式操作系统WindowsCE中捆绑了简化版的IE却非常失败,正说明了这个道理。


   将向传统家电发展


  嵌入式浏览器技术仍在继续发展。徐博士认为,除继续跟随HTML、HTTP、SSL、JavaScript等协议或语言的新版本继续升级以支持更多的应用外,还在继续拓展其应用模式和领域。

  比如目前在美国和亚太地区一个主要的技术发展的热点是将浏览器技术和数字电视机顶盒技术进行集成,实现完整的数字电视软件平台。所谓TVHTML语言正是在这个应用基础上发展起来的,结合TV节目播放和HTML交互式内容的标记语言。




  iPanel浏览CNN

  另一个技术发展的热点是浏览器技术和Java技术的结合。总体来说浏览器技术可以解决绝大多数信息浏览、声音、视频播放等交互问题,可以并已经成为互联网环境软件系统的基础和应用开发平台。但针对一些实时性强的动态视频处理,如网络实时动态游戏,就可以利用Java进行支持。

  嵌入式浏览器会应用到更多传统的电器领域,比如微波炉等家用电器,以提供交互式的应用。用户使用这样的信息电器,并不会觉得是在进行互联网络浏览或使用计算机,而只是使用一台具有增强功能、提供选单显示、更容易使用、可以指导烹饪的新型微波炉。这样的产品需求,包括信息化的冰箱、微波炉、健身器材在美国市场已经成为现实。

  正如前面所说,随着嵌入式浏览器对网络及系统应用支持能力的大大提高,嵌入式浏览器会逐渐成为嵌入式操作系统主要甚至惟一所需要直接支持的软件。这意味着,在实现互联网应用的嵌入式系统中,嵌入式操作系统的核心地位和图形用户界面的开发接口作用在逐渐淡化。而嵌入式浏览器将成为系统的核心,向上层应用软件提供PLUG-IN接口,支持各种应用。这种方式在软件系统架构中被称为中间件技术,目前OPENTV、CANAL+等著名的厂商都采用了类似的技术发展思路。

  从市场情况看,嵌入式浏览器会出现多样化、多极化和系统定制的发展趋势。针对不同的信息设备细分市场,会有不同的定制的嵌入式浏览器出现。这些浏览器不仅可能在显示方式、优化处理等方面存在差异,还可能在支持的协议、标记语言方面存在差异。由于嵌入式信息电器市场空间巨大,各种定制式的嵌入式浏览器都会有存在和生存的空间。




  嵌入式浏览器


  目前关于嵌入式浏览器还没有一个准确、严格的定义,但从其可以完成的功能和作用来看,大体可以从两个方面进行描述。第一,它必须是一个网络信息浏览器,必须支持HTTP或者WAP等其它传输协议、支持HTML、JavaScript或扩展XML、WML等标记语言,可以完成网页的浏览功能;第二,这个浏览器必须适合在非PC的嵌入式信息设备中存在、运行并完整实现通讯传输协议、标记语言所规定的功能,必须能够根据嵌入式设备的多样性需要而方便地进行裁减和修改,并满足信息设备使用者对获取文字、图像、声音、视频等信息的需求。


  手机上网与嵌入式浏览器


  手机上网的目的在于浏览互联网和各种公告信息,肯定需要内置一个嵌入式的浏览器。换句话说,手机使用的嵌入式浏览器只是嵌入式浏览器的一种,如WAP手机就意味着手机的内置浏览器采用WAP作为浏览内容的传输协议。

  问题的关键在于手机上网究竟应该采用哪种描述性语言格式和传输协议。我们现在所用的浏览器无论是嵌入式的还是非嵌入式的都是基于Internet或者说TCP/IP环境,遵从HTTP传输协议和HTML语言格式。现在的问题是TCP/IP协议是否适合在无线微蜂窝环境中使用,HTML格式是否适合手机液晶屏的显示?Nokia9110采用了标准的HTML浏览器,其效果应该说不能令人满意。我们知道手机的液晶屏是很小的,即使专为上网设计的较大的屏幕也在点阵精度、色彩效果上与显示器有较大的差距。在这种条件下,HTML所支持的丰富的图形、动态图像、表格、帧等显示效果和处理能力可能并无用武之地,甚至适得其反。

  因此,手机上网的最大障碍在于无线传输的不可靠性和非常有限的系统显示资源。如果将目前基于Internet的浏览器直接移植到手机上使用是有问题的,必须进行必要的删减和优化处理,只保持基本的文本信息和部分图像信息的传输和显示。

  基于这种思路,W3C先后收到了包括压缩的HTML、HDML(无线手持式设备标记语言)、WML(无线标记语言)等竞争性的标准建议。仅从标记语言格式方面来说,这些标记语言都是HTML的一个不完全子集。

  目前大行其道的WAP手机只是Motorola、Ericsson、Nokia三家手机厂商推行的一种手机上网方式。在通信协议部分采用WAP协议(Wireless Application Protocol)。该协议实际考虑了无线网络的一些局限,如对数据压缩的需要、较长的反应时间和有限的带宽等;在浏览语言方面选择了WML语言,考虑了无线设备在CPU能力、存储容量、耗电功率、显示屏尺寸等方面的限制。

  WAP可能是一个可行的手机用嵌入式浏览器解决方案,但仍然存在一些问题。WAP使移动通信网与国际互联网结合起来,但是它还要求访问网站有相应的用WML语言编写的主页,而不是大多数网站所采用的HTML语言主页。不仅如此,用户如果要享受到基于WAP的增值服务,WAP手机、WML网页还是不够,还需运营商在网络上加装WAP网关。这都增加了WAP手机的推广难度。

  到底手机上网用的嵌入式浏览器应该是什么?徐博士认为,现在下定论还过早,所有嵌入式浏览器开发商和手机厂商都正在瞄准这个巨大的市场继续开发更新更好的产品,其目的只能是使手机上网更方便、显示效果更好、可以获取的信息资源更丰富。