javascript似乎一直都当作是解析型的脚本语言,程序开发人员往往对此不懈一顾。认为一个脚本也没有太多的难度,那似乎为不懂程序的人专门设计的东西,不值得真正搞开发的去研究和应用。
从livescript 到javascript,在大量的时间js都只是作为一种script脚本在应用。更多的开发者只有在前端表单验证、以及诸如应用飘浮、移动、下拉联动菜单等网页特效或者必须通过界面才能得到的东西,比如客户端的时间、分辨率、以及一些在当前窗口操作的事件时才用得到它。于是javascript成了网页特效语言,专门用来给页面加上各种酷炫的效果了。js似乎只能做些华而不实界面效果,甚至用户还可以随时屏蔽,一些浏览器工具条自动把 javascript给屏蔽了……
程序员对javascript的不重视,直接导致了javascript被忽视;而大量互联网特效应用,加速了js被地当作一种脚本。而直到jesse james garrett 把javascript xmlhttp dom等组合在一起正式提出ajax后,javascript才忽然地炙手可热起来。加上google、yahoo、microsoft等大型公司在ajax方面的大量应用,javascript随着ajax也越来越受到关注。
ajax是一种新瓶装老酒的技术组合,或者说ajax不是一种技术,而是一种概念。可正是这种能给互联网应用带来革新的概念让大家产生浓厚兴趣,原因不仅在于技术组合本身,也在于互联网应用技术模式的发展趋势。ria的发展趋势需要新的技术和方法来配合,ajax在现阶段正好满足了丰富互联网应用的部分发展要求,而重新利用上和定位javascript将是一种较好实现 ria的选择。ajax(或者说目前最佳丰富互联网技术应用)中真正的核心应当是javascript,目前的趋势是需要用javascript这种程序语言来重构网页、用javascript来格式化数据。而xmlhttp是一种传输数据的桥梁和协议,与原来get和post相类似,而xmlhttp很好地为javascript服务罢了。
实际上javascript就像 世界上最被误解的语言(http://www.crockford.com/javascript/javascript.html)里描述的javascript是世界上使用人数最多的编程语言之一,除了后缀是-script让人起疑之外,其他各种计算、流程控制、数组、函数一应俱全,与java、c等等也很像。
当然也会程序员说,javascript不能操作文本(操作本地也不安全)、无法生成图像、也没有面向对象、没有类、没有继承、无法debug,无法通过网络传输数据。所以,javascript不是一门真正意义上的程序语言。于是这样javascript就被忽略为在仅在页面设计当中使用的脚本了。但是,当看到json这样面向对象的js应用、js集合、3d图形、prototype里类和继承,再加上xmlhttp异步传递网络数据,这时候还能说javascirpt仅仅是简单的脚本吗?
几年前就有先见者指明javascript是世界上最被误解的语言,幸好,今天我们已经认识到js的重要性,不会一直再误会下去。
看到诸如
http://www.netvibes.com/
http://developer.yahoo.com/yui/
http://www.backbase.com/
http://www.meebo.com/
http://www.miniajax.com/
http://www.protopage.com/
http://www.google.com/
http://www.a9.com/
http://www.live.com/
http://www.snap.com/
http//www.ask.com/
http://dojotoolkit.org/
http://www.ask.com/
这些应用时,javascript就不会只是被当成脚本语言了。javascript具有面向对象的概念,也可以继承类和抛出异常。正因为这些,也就是现下为何ajax框架层出不穷,并且如此火爆的原因了。程序开发者已经意识到javascript语言的重要性,以及重新认识它之后给网页开发带来的变革,对于无论是前端还是后台开发人员,javascript都不只是从前所认为的那样-----只是简单的脚本。
在一个项目当中,尤其网页开发项目,javascript几乎是必不可少的语言,它不要编译器,也不需要专门的解析器。只要客户端机器上有浏览器,只要把开源的javascript 引擎加入浏览器中(几乎所有的浏览器都支持,所有的电脑都有浏览器 ),不管是电脑还是手机,javascript都将很好地被支持。
而使用javascript,至少有下面这几点好处:
1,增加交互动态应用,丰富界面应用,提高用户体验
2,节省后台开发成本,减少后台开发量, 显示html/xhtml和格式化数据交给js处理
3,节省网络带宽,让浏览速度更快,减轻服务器压力,xmlhttp 减少刷新数据
4,体现ria,b/s模式的利器,通过js可以达到c/s模式的效果
5,web版软件最好的界面实现者,flash,applet也还不错,不过目前javascrip是最好的
6,……
浏览器的兼容性或者用户屏蔽js虽然是个头疼的问题,但绝大多数浏览器都在遵循ecmascript1.5标准,大多数用户是不会禁用js的,因为关闭js使用互联网几乎是件困难的事。
虽然还有安全、开发和维护成本等等的不利因素在里面,但如果把javascript很好地与后台结合起来,javascript将是网页开发非常重要的一门语言,甚至不亚于java。现在利用java、php做后台的网站越来越多,而再有效结合javascript,利用javascript来t处理和显示页面,这样,丰富互联网应用、提高用户体验将成为可能。
javascript被程序员忽视这么久后,终于踏着ria的步伐迎来了春天,不管怎么说,软件程序从桌面走向网络、走向浏览器将是必然的趋势。不是说要取代桌面应用,而是丰富互联网应用有太多的路要走。
而其中,桌面还是互联网应用其后台是很类似的,都可以用java,c,c#等等。而在前台,在互联网软件应用上,javascript将会很好地担任界面开发程序语言的角色。
毕竟,javascript不再仅仅是脚本,而是一门可以面向对象的程序语言。当然了,要想真正利用好javasript这门语言,精通一门后台语言必不可少,而也只有这样javascript才不会是仅仅是脚本。
这里我说了大量javascript有利的一面,当然js依然存在着这样那样的问题,但我想ria发展是个趋势,b/s模式也是一个趋势,javascript也还在一直向前发展(新的版本也在研究)。我相信随着web2.0这种用户与网站以及用户之间的彼此交互应用越来越多,也随着网络带宽越来越快,ria将会有一个很好的发展,而javascript在ria中也将发挥越来越重要的作用。
