【Flex】RIA杂谈 - B/S的发展
我做网站很多年了。想当年(囧`)还在读高三的时候,刚好互联网迅速发展,刚拥有自己电脑和拨号modem上网冲浪就让我兴奋了好几年(-_-)。那时看着别人做的很简单的网站,觉得真是不可思议!加上那是免费空间到处都是,自己简单做个网站放上去,交换一下友情链接,很快网站也成型了。
最初使用Dreamweaver做的,当时完全不懂HTML和Javascript,只懂得用Dreamweaver所见即所得的方式设计,所以有些布局总是调不到合适位置。后来才知道是网页是由HTML构成的,于是专门研究了一段时间,到后来至今开发网页时,只用Dreamweaver写HTML、查错和代码提示。所见即所得的设计方式产生的垃圾代码多,且很容易影响布局。
慢慢的发现,网站有静态HTML和动态HTML之分,可怜当时只着眼于免费空间的我,面对ASP,CGI,PHP这些动态空间口水直流,单个动态页面顶得上∞个静态页面,但表现效果跟静态页面差不多,而且还是要钱的!
一直到出来工作,才有机会了解全面认识ASP、JSP等动态语言,且需要一定的Javascript功力,从此进入动态页面时代,但基本还处于B/S开发的初级阶段。
随着Web应用的迅速扩大,页面的美观也让美工很是头疼;另一方面,重复的设计树和列表让程序员很是苦恼,于是有人着手专门开发Web组件,让程序员和美工节省了时间,减轻了压力。
面对不断刷新的页面、毫无互动的用户体验,Ajax的诞生无疑是B/S开发史上的一次重要革命。而紧密结合Ajax和拥有大量组件的ExtJS的出台,更是把HTML页面推向高峰。
当初看到ExtJS的效果时我惊呆了,仅仅用HTML和Javascript可以有如此漂亮的界面和方便的用户体验,使我不得不深深得去研究他。研究ExtJS是个痛苦的过程,因为中文资料不多,ExtJS独特的配置方式、超长的英文文档和特别面向对象的源码一时让我发懵,只有不断研究demo才知道个所以然来。不过当我第一次用ExtJS做出简单系统时,颇有成就感的。
初学ExtJS时觉得门槛很高,熟悉以后也就是这么回事,建议代码规范参考ExtJS的源码。
ExtJS也不是没有缺点,首先性能是个问题。虽然ExtJS从版本3开始专门对性能优化,但如IE内存泄露总躲不过,用着用着浏览器占用内存越来越高,响应越来越慢;另外是客户端的浏览器(特别是IE)或Javascript如果出了点问题的话等于白费;还有在不同浏览器中显示总有点差别,Web标准也不是好兼容的;最后是布局相对麻烦一点。
不过ExtJS的出台,开创了RIA(富客户端)的道路,为用户提供更美观更方便的体验。
不管是静态HTML也好,动态页面也好,ExtJS也好,网页的表现还是依赖浏览器本身,而浏览器是基于HTML+Javascript的。随着RIA日益丰富,出现了基于程序插件的Flex与SilverLight。
无论是Flex还是SilverLight,他们都把对浏览器的依赖降到最低,由自身的播放器解释并展现。至于哪个好,见仁见智吧,Flex起步早,使用的人和资料相对多一点,但SilverLight借助.NET平台不可忽视。不过我讨厌SilverLight的开发环境要求,VS2008只能开发SilverLight3,SilverLight4必须用VS2010,且界面开发不用Expression Blend的话超级难看;而Flex的Flash Builder则可通吃Flex3和4,且支持绝大多数的界面操作。
RIA确实令网页更加生动和趣味,也大大增加电脑的更新换代了。