Flash成浏览器标准客户端指日可待

      转载内容 2004-7-21 1:16
Flash成浏览器标准客户端指日可待



出处: 日经BP社 | 时间: 2004年4月18日
人气 : 1444 次 本周 :1 人 今日 :0 人 评论 :2 次

收藏 发送 评论 打印 字体选择: 大 中 小




熟悉网络的读者恐怕都知道,Web浏览器并不像曾经被称赞的那样是一种“万能客户端”。就像业界普遍指出的一样,将纯粹的Web浏览器用作系统客户端的系统,其易用性较差的用户界面往往会令人苦恼。

这个问题其实已经不太新颖了。有望成为Web浏览器后继者的客户端已初见雏形,实际上目前已经能够构筑这样的系统。这就是“富客户端”的概念。


只要用HTML来制作用户界面,那么就很难得到用户可轻松上手的操作性。于是,就要取代HTML而使用用户界面构筑功能更好的技术,制作功能更高的客户端。业界认为这种概念与各种富客户端存在共性。



要想成为后HTML,其运行环境必须要能在不需要消费者直接参与的条件下得以普及。从这一点来考虑,所有计算机均能预先具备运行环境,并且能够轻松构筑视频和图像等各种数据组合而成的用户界面的,目前也就只有HTML和Flash了。


然而,从程序员的观点来看,Flash的开发风格非常独特。使用Flash功能提供精彩内容的网站有很多。但是基本上都像是创作人员而不是程序员的工作成果。Flash内容的开发工具除Macromedia公司的Flash MX外还有第三方产品,不过几乎都是面向创作人员而开发的。要是程序员来使用这样的工具,就像是用画笔制作帐本一样总令人感觉不舒服。


Marcromedia公司似乎早已了解到这种情况,正在加紧开发新的产品。这就是开发代号为Royale的“Marcromedia Flex”。可用类似于HTML的标记语言制作Flash内容。


Flex实际上是在Web服务器运行的一种服务器站点脚本处理环境。利用称之为MXML的编程语言描述源代码。MXML是一种基于XML的语言,并没有跳出最近常用的xxML语言的圈子。收到客户端请求后,Flex根据脚本动态地生成页面,然后发送给客户端。


可以说运行原理类似于微软的ASP(活动服务器页面)和Sun的JSP(Java服务器页面),不过Flex与ASP和JSP存在很大的区别。Flex利用MXML生成的不是HTML,而是Flash格式的数据。也就是说,服务器返回的由Flex处理的内容将由客户端上安装的Flash Player进行播放。


为了将MXML“编译”成Flash内容,Flex附带用于收集用户界面组件等内容的类库。比如,如果用MXML描述成“”,那么Flex就会通过类库生成按钮,然后生成添加了“Click”按钮的Flash内容。这样的步骤基本上完全与用HTML描述成“”,就在浏览器上显示相应按钮的情况一样。


MXML程序是XML格式的文本数据,因此可用文本编辑器进行编辑。如果利用HTML制作软件的使用经验,甚至可支持面向对象开发。事实上,Macromedia就准备提供基于本公司HTML制作软件“Dreamweaver”的MXML开发工具“Brady(开发代号)”。同时,Macromedia还在与IBM共同开发可使开放源码开发环境“Eclipse”支持MXML开发的插件“Partridge(开发代号)”。


3月29日Macromedia已经宣布开始提供Flex。将以8.99美元提供在开发授权方面可无限期使用的体验版,仅从这一点即可看出Macromedia对Flash技术所寄予的厚望。能够轻易地超越OS障碍的Flash技术成为标准客户端平台的日子也许已经为期不远。


Flash与Longhorn是否会因“后后HTML”而激烈交锋?


不过,凭借Windows产品而在目前稳坐标准客户端宝座的微软绝没有坐以待毙。微软准备在下一版Windows“Longhorn(开发代号)”中将智能客户端设计成取代Flash的富客户端平台。


据报道,Longhorn将配备名为“Avalon”的矢量图形绘图功能。在微软的Longhorn网站上就有设想房地产公司进行业务应用的Avalon应用演示。这些内容就像是用Flash制作的一样。两者在技术上有很多相似点,比如,利用基于XML的标记语言构筑用户界面,并与后端的代码联系起来,等等。


客户端已经充分普及的Flash与连发布时间都不确定的Longhorn,在“后HTML”宝座之争中似乎不会正面交锋。但是,若干年后两者也许将会围绕“后后HTML”宝座而展开激烈的交锋。


标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}
}