DHTML+Ajax? MXML+ActionScript? XAML+C#? 是巧合,还是必然?

时间:2021-03-21 18:55:54
一直很感激Flash,它带给了我人生的自信和充实。随着2006年初Adobe公司收购Macromedia公司,我们得到的并不是悲观者的失望,Adobe公司像我们证明了我们所有的担忧都是杞人忧天。Flex2.0降生了,随之而来的ActionSript3.0也精彩的无话可说,只能让人感受。Adobe的野心也在极度膨胀,意欲和Microsoft一争天下。今天搜了搜Flash9.0的消息,自从Flash9.0 Alpha来,中国的各大网站上都写着“Flash9.0正式版本下载”,真搞不明白那些网站的发帖者是不是都是*,结果在Lee的博客上看到了一些消息, http://theflashblog.com/?cat=6导入PDF格式的文件直接到Flash当中,将timeline中的transtions输出为MXML格式的文件,一个字,酷!但是这又不得不联想到我最近比较有兴趣的WPF和Ajax了,而感慨万千。

    先说说Ajax,那么什么是Ajax呢?相信大家都应该耳熟能详了吧!自从去年上半年开始Ajax技术就被搞得沸沸扬扬,而今年更是搞得如火如荼,Micsroft 的Atlas的出炉,将它升至极端(虽然我个人不打赞成Atlas)。Ajax不是什么新技术,而是一些旧的技术的结合,具体点说就是Dhtml+javascript+XML,不过是些已经熟的不能再熟的技术了,就凭这一点,Ajax就有了不少追从者。但是任何一项新技术也都会很快的消沉下去,就像被大海吞没的巨石一样,终归寂静。而Ajax为什么能持续红火那么就,同时还被炒作的如此之利害呢?这个不是因为简单的缘故,也不是因为商业的缘故,而是因为 Ajax本身解决了一些原本很难解决的问题,跟开发人员有着很大的默契,如醍醐灌溉般,哦,原来用这个就能这么简单的解决这个难题!Ajax本身能很好的和其它很多技术融合到一起,由于异步操作的巨大优势,可以极大地减少页面回发量,提高访问速度,减少带宽的占用,同时可以发现Ajax几乎能完成所有用Flash能完成的特效。于是Ajax被如此追捧,也并不是什么稀奇的事。于是人们都开始寻思着用Dhtml+Ajax来开发应用程序,甚至是开发所有的应用程序。Dhtml+Ajax提供了一种解决减低网络损耗、提高用户体验的方案,而被列为Web2.0的标准。

    再说说XAML+C# 吧。WPF中的XAML语言为同一设计和功能做了非常了不起的一步,并使得3D进入Web成为了可能。可能还有很多人不了解XAML是个什么东西,我告诉你,它就是你熟知的HTML的一个变种,但是不同的是,你可以使用图形设计软件设计好图片,然后将图片输出为XAML格式,是的,不用怀疑,图片可以使用XAML标记语言来表示,我们也很惊奇Microsoft做到了这一点。然后你可以将这些XAML导入到Interactiv Designer里面制作动画,然后将制作好的动画导出为AXAML语言,这也可以?对的,这也可以,然后你可以使用C#进行编程,控制这些XAML,很神奇对吧?最初由我接手这个理念的时候,也惊呆了,着实了不起!这样XAML作为一种标记语言,可以描述整个应用程序的所有桌面,并且功能异常强悍,而所有的这些XAML又有着一批非常优秀的开发软件,根本用不着手动编写。再加上C#这么强有力的后台语言和VS这样太过于优秀的开发环境,可以说是无敌级别的。 XAML+C#是一种趋势,势必会得到相当一批追捧者,也将一改传统的Web观念


    最后说说MXML+ActionScript。ActionScript3.0是我目前用的最顺手的一门语言,感觉就像个温柔的小姑娘,虽然没有C#那样的霸气和所向披靡,但是可爱动人而听话,让人爱不释手。而Flash,提供了相当难得的开发环境,这里你可以*的发挥你的想象,编写你的舞台。Flex2.0 却是另一个动人的开发环境,简单而强悍,所有的设计全由MXML标记语言来控制,使用ActionScript来编写逻辑处理。更为重要的是,它们在多媒体上和视频上的开发几乎无可匹敌。 现在已知Flash9.0势必会加入导出为MXML格式的功能,而我们也可以预见,将来AffectEffects、PhotoShop、Illustrator也会有导出为MXML的功能,Premeire也将拥有导出为Flv格式的功能,同时3D的功能也将融入进来。Adobe公司是有想法的公司,随着这样一些技术的发展,Adobe公司的野心也将不断膨胀。

    那么现在该说说我们这篇文章的题目了,为什么取这样的题目?可能您已经发现,它们极度相似,可以看出DHTML、MXML、XAML都师出同门,都是XML的变种,只是作为一种标记语言而已,也就是描述语言。而 javascript、C# 、ActionScript都是逻辑语言,也是相当优秀的三门语言,唯一的区别是目前javascript和ActionScript是作为客户端程序运行的,而C#是作为服务器端程序运行的。前两者必须间接的连接数据库,而C#可以通过ADO.NET直接连接数据库。这些技术在某些程度上解决了现今很难处理的一些问题,同时也代表着下一代的网络发展方向。 它们的产生是巧合吗?不是,应该说是一种必然。为什么这么说?Web世界的发展太迅猛了,陈旧的技术在虽然在发展,却走到了极端。于是Ajax技出现了,将这些融为一体,各取所长,自然变化莫测。而总有人喜欢另辟蹊径,譬如Macromedia(我这里还是说Macromedia,因为RIA是由Macromedia提出的,当年Adobe公司还没有收购Macromedia公司)、Microsoft。最先改变我们传统的Web观念的是GoogleMaps,这样一种无刷新的技术的确给我们带来了全新的感受,全新的思考,而它使用的技术确是Ajax。最开始被用来设计制作动画的Flash工具,到最后却没想到变成了统一平台的开发工具,大出Macromedia公司所料,也出乎全世界的人们的预料,我们都情不自禁地爱上了这个可爱的小姑娘,最终这位小姑娘成长了一位美丽的女人,嫁给了阔绰的Adobe。Microsoft公司却一直引领着潮流,ASP.NET2.0+SQLServer2005,使得开发效率和开发模式得到了质的飞跃。却没想到,最终Atlas居然也加入进去,成为了一个异常强悍的开发工具。这个还远远不够,计划已久的Vista开始崭露头脚,Framework3.0开始绽放异彩,XAML开始为世人所知,还有全套的开发工具,我们再次被震惊了。所有的这些的出现不是巧合,而是Web发展的必然结果。

    很多人会发出这样的感叹,“这么多的技术,我到底该学什么啊?”。我的意见是Ajax要学,Flash要学,Flex要学 ,ASP.NET要学,WPF也要学,还要学各种各样的图形软件、3D软件、工程软件。那么不是什么都要学吗?对的,什么都要学!这些东西不是谁取代谁的问题,而是如何使用谁,或者说综合使用它们,融合这些技术。技术虽然都会消亡,但是只有真正使用过它们,思考过它们,才能融会贯通。最后我想发表一下Web的走向问题,个人愚见,不同意者可以与讨之。

    Ajax何去何从? Ajax必定慢慢消失在人们的眼前 ,虽然Ajax结合了已有的技术,但毕竟是结合,已有的技术已经到了极端,受此限制,必然没有太大的发展潜力。如果谁要想使用Ajax开发一个全网站,我只能说这个人不是傻了就是疯了,如果真开发完了,那我只能说我很钦佩你的毅力。更大的可能是作为一种插件式的东西应用在别的开发程序当中,像MagixAjax、Atlas等等。这样Ajax也不会有大的发展,但是以这样一种形势存在的时间也将会比较长久,直到Flex、Flash或者WPF真正开始成熟起来。

    Adobe的RIA将会成为主要潮流之一。Flash8.0可以说已经是一个相当成熟的产品了,但是当Flash交到Adobe的手中后,却变得像个小孩子似的,带着满脸的单纯和无知,Adobe慈祥的对她说:“来,孩子,来和大哥们握握手,以后我们就是一家人了,要懂得互相理解才行啊”,Flash羞涩的点点头,开始完全地接受Adobe的培训。于是Flash再次成长,伴随的还有妹妹Flex,大哥们见到这么可爱的两位妹妹也开始变的起劲了,于是也开始变化,去尝试着和两位妹妹沟通。Adobe的想法是疯狂的,但是却相当伟大,Flash和Flex的路还相当长远,还有太多的问题需要解决,也将会变的越来越强悍, 相信不久的将来,桌面、网络、软件的界限将会因为它们变得更加模糊

    Microsoft将会继续引领时代的潮流。Framework3.0将会是一个质的飞跃,与之伴随的WPF、WWF、WCF将会成为三大利剑而成为无敌的象征。相信在WPF正式出炉后, 3D将很快被引入Web,虽然可能还不太象样。所有的开发工作和开发效率将会再次的飞跃,而我们也将面临更多的选择和更多的知识去学习。

    整个Web界所在苦苦追寻的就是缩短文本和多媒体之间的界限。 Ajax已经是昨日黄花,了无生机了,Adobe精神焕发,跃跃欲试,潜力无限,Miscrosoft依旧以王者风范屹立于群雄之前,岿然不动。