关于Apollo
...
Bing
...
Flash
...
3
/1242
...
1 year 5 months ago
前些日子在和朋友讨论关于Apollo、Flash、Flex,还有Blend、SliverLight这些让人非常痴迷的技术,似乎对于桌面开发,Adobe和Microsoft这两家公司现在正搞得如火如荼,甚至有人提出来SliverLight将扼杀Flash这样的言论。在这我不想讨论这两家公司到底谁会胜,谁会负,处于对Flash的热爱,我想对Apollo的发展提出我自己的一些想法。
Apollo在上个月的Alpha1.0 版本可以提供下载,兴奋至极,很快就将其SDK还有对Flex2.01的扩展下载下来,然后好好玩弄了一番,结果并没有给我什么惊奇,反而却有点失望,有人给我说人家毕竟在Alpha1.0版本嘛,不要要求太高,但实际上我的感觉是Apollo的走向不对。Apollo的思想是融合已有的技术,比如Flex、Flash、Ajax、Css等,然后将其运行到Apollo的Runtime里,这个想法不错,但是个人觉得这一做法却是一个大累赘。Apollo想提供对Html、Css和Ajax的全部支持,其具体做法是提供一个能渲染Html代码的控件,然而可以想象,如果要支持的好,Apollo无疑要提供一个和现在IE和FF类似的浏览器,并将其集成到Apollo当中,这样一种野心虽然并不是不可行,但是开发难度之大,想想也让人够受的。如果要坚持不懈的开发下去,那么这样一种思想势必会给MXML和ActionScript3.0的发展带来一定的阻拦,而这种情况就是我最最不想看到的结果。那么我先说说基于FlashPlayer的这一系列技术,如Flash、Flex,都一些什么独特的优势。
对多媒体几近完美的支持。可以看到用Flash和Flex开发的东西,我们能用一个字来形容,“酷”。在Flash里面,对图片、音频、动画的控制和开发要比以往任何一样技术都容易的多、快的多,并且出现了一大批基于Flash的动画制作者,这样一种独特的魅力不仅仅吸引了开发者的注意,同时还吸引了纵多动画爱好者。还有像基于FLV流媒体格式的视频网站也如雨后春笋般多了起来,我们所能感觉到的是Flash强悍的生命力。Adobe很聪明地认识到了这一点,于是不惜耗费巨资将其收购,并很快将FlashPlayer提升到FlashPlayer9.0,执行效率提高了近十倍,并引入面向对象的ActionScript3.0,同时Flex发展到2.01,对于这一系列举动,除了震撼之外,让开发者也欣喜不少。那么在有Flash的时候,为什么还要出现Flex,同时为什么Adobe还要进一步搞Apollo?答案是文本渲染。
Flash虽然对多媒体的有着几近完美的支持,但是最大的问题业就是对文本的渲染。在传统的Web开发当中,通过对CSS+HTML很好的掌握,我们可以构建出任何布局的页面,它的强悍之处就是对文本的渲染功能,所有的HTML标签都能对文本提供自动扩展和伸缩。然而这样一项最基本的特征到了Flash当中就变成开发者最为头痛的事了,Flash并没有自动扩展文本的功能。在HTML+CSS当中,我们可以通过Color、FontSize、BackgroundColor、BackgroundImage等等属性制作出各种特性的文字,然而在Flash当中却变成了一种似乎不太可能的事情。对文本的渲染能力之差,于是便有了Flex,Flex摒弃了Flash的动画方面的优势,取而代之的提供一系列类似桌面开发的组件,利用MXML和其对CSS的支持,对文本渲染的能力得到了大幅度的提升,但是想将转移网络开发转移到桌面网络的开发,这样一种支持还是相当的欠缺,FlashPlayer还是没有办法融合现有的HTML,于是Apollo本着这样一种思想诞生了,想彻底解决这样一个问题,并将现有的搞得如火朝天的Ajax融入其中。这样一种思想虽然好,却并不是我想看到的发展。个人认为Apollo可以做如下的发展:
- 扩展MXML。虽然现在的MXML的功能已经比较强悍,但是还不够强悍,比起XAML,MXML还有着很多许多可以扩展的地方。对文本的渲染上不一定要回归到HTML上,而是应该针对MXML进行相应的文本扩充,使其拥有像HTML里面Div、Span、A等等这样的标签的功能,同时使其Container控件具有自动扩充、自动扩展和收缩等功能,还有对滚动条的自适应功能。
- 扩展CSS。在MXML里面有提供对CSS的支持,这是一个非常棒的功能。但是如果做过类似的开发,您也会发现CSS的功能还存在许多局限,没有margin、backgroundImage、lineHeight、zIndex等等这样的功能标签。
- Adobe其他产品的MXML化。Adobe在多媒体方面的能力非常强,但是像Premiere、AfterEffects、Illustrator、Photoshop…开发出来的产品各自为政,并没有统一的格式。在这一点上,微软提出的地XAML化,就做的非常棒。实际上Adobe大可以在MXML上下更多功夫,将Flash动画导出成MXML,将Illustrator、Photoshop提供到处MXML的功能,使其图像、动画做到更完美的融合,而Preiere、AfterEffects可以直接导出生成Flv格式的视频文件。
- ActionScript发展。ActionScript3.0到现在为止非常的招人喜爱,小巧而异常的灵活,以致我使用AS之后再也没有想使用JS的任何欲望。然而ActionScript目前的局限性也还很多,比如线程控制、反射、泛型、索引等等。当然ActionScript的发展潜力也绝不仅仅局限于此,甚至可以想象将其移植到服务器端,替代ColdFusion,而提供一种更加灵活,更加强大的后台开发,甚至将客户端和服务器端的代码给统一起来,避免在服务器端使用C#客户端不得不使用Javascript这样不爽的事情发生。
好了,不多说了,脑子有点不好使了,有点昏昏欲睡的感觉,上面的话语连我都觉得有点语无伦次了,先睡一觉去了。。。。
Robot.Crazy
...
1 year 2 months ago
Bing:看完后,我只能感觉到自己真的很惭愧!我接触计算机要比你早,却一直都没有沉下心来做,总是很功利地放弃,不知道该向那个方向去发展,甚至于迷失!我想我该去扎扎实实地做好一件事情,然后才可以去做好更多的事情!谢谢
Bing
...
1 year 5 months ago
哈哈,的确有这个问题呢。。。。下次解决。。。
daiwen
...
1 year 5 months ago
Adobe的东西没有研究,呵呵。
不过发现一个小bug:点击某个分类,如ASP.net,然后点击“BingBlog”,点击分页页码。。。