JavaScript和Web编程的范式转变


11

如果我没记错的话,曾经有一段时间人们不赞成使用JavaScript进行Web开发,因为除其他因素外,这是用户的隐私和安全问题,有些人对此一无所知。

如今,您几乎看不到不使用JavaScript的主要网站,并且如果没有JS,许多网站将完全无法正常工作,因此请不要随意降级。要么如此,要么可用性会受到严重影响,例如在SE网站上。

从那时到现在,发生了什么变化,从而使JavaScript在Web开发中几乎无处不在?还是我断言JS对我的想象力fig之以鼻,而且一直都是这样?

Answers:


11

JavaScript具有非常糟糕的功能和惊人的功能。

早些时候,当没有Ajax时,群众并不知道这些惊人的功能。网页只是带有装饰性设计元素(颜色,图像,纹理,字体等)的文档。动力和异步感在很大程度上是未知的。IE 6占主导地位,Microsoft忙于出售其他产品。

从那时到现在之间发生的变化使JavaScript几乎无处不在...

  • Ajax的诞生改变了一切。每个人都想使他们的页面变得混乱,这迫使他们再次(非常认真地)研究JavaScript。

  • 人们喜欢Doug CrockfordJohn ResigSteve Souders,和其他人(原谅我,如果我忘记了其他重要的名字)开始蔓延于JavaScript的善良的话。

  • 大约在同一时间,浏览器供应商开始磨练其浏览器并提高JavaScript性能。引入了JIT,这使比赛更具杀伤力。微软再次醒来。

  • ECMA认真对待JavaScript的未来,并开始努力开发下一个版本-从而产生了ECMAScript 5。

  • HTML5,DOM3和CSS3都在促进JavaScript的统治。

  • JavaScript也已开始涉足其他领域。感谢CommonJS。


基于此:v8.googlecode.com/svn/data/benchmarks/v6/run.html,我想说微软仍然没有醒来……
riwalk

@ Stargazer712我的结果Chrome 14 >> FF7> Opera 11.5> Safari 5.1 >>>> IE8。尽管由于基准来自Google,所以Chrome如此遥遥领先也就不足为奇了。
NullUserException 2011年

@NullUserException,是的,但是看看代码,基准是合理的。
riwalk

4

进行了一些更改,使它们有了新的世界:

  • Ajax好吧,老实说-我的意思是Gmail。Gmail向人们表明,您可以使用javascript构建流畅的Web应用程序。随后出现了大量的Ajax应用程序。

  • jQuery浏览器的DOM API很糟糕,并且启动不一致。jQuery为人们提供了一个不错的API来编码,跨浏览器是一致的。(是的,还有其他一些好的项目可以做到这一点,但是jQuery是最受欢迎的项目。)非程序员也可以很容易地复制粘贴以使其具有平滑动画的方式。

  • IE6不,真的!IE6是第一个正确支持真正的CSS规范之类的浏览器,而IE如此占主导地位的事实意味着您有一个可靠的基准可以构建。我们现在嘲笑它的事实与它的年龄有很大关系- 它第一次问世时还不错

  • Chrome浏览器当Google推出chrome及其快速的V8引擎时,他们开始了一场新的性能竞赛,其结果是大大提高了网络上的javascript速度。更快的javascript意味着您可以在javascript开始惹恼您的用户之前执行更多操作。


3

人们发明了远程安全的JavaScript沙箱,并学会了更有效地实现它,以及计算能力的普遍提高使得运行起来更便宜。而且,AJAX和内容的出现使JavaScript可以实现特有的效果,而单凭HTML便无法实现这种效果-所有最高级的Web功能都只需要JavaScript。因此,没有JavaScript就能运行的网站毫无生气,没有生命,这不是消费者想要的。


“远程安全的JS沙箱”使我感到困惑。当然,可以编写安全的JS,但是是什么阻止了人们编写恶意JS?
NullUserException 2011年

@DeadMG每个人似乎都认为荣耀的唯一途径是HTML或什么也没有。这是插件(Flash最著名)抢占市场份额的真正原因。标准只好于竞争。
亚伦·麦克弗

@NullUserException:现在编写不安全的JS变得更加困难。大多数漏洞利用都是在欺骗远程服务器,例如XSS,而不是JS漏洞。
DeadMG 2011年

+1代表沙箱-推动范式转变的不仅是“很酷的东西”。浏览器的安全性和“相同来源策略”与它有很大关系。从计算机安全的角度来看,过去的那个时代的浏览器只是使网上冲浪变得更加危险。
Ryan Kinal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.