我们知道JavaScript是前端中最流行和广泛使用的语言之一。我想知道为什么它在后端中没有被广泛使用?
我们知道JavaScript是前端中最流行和广泛使用的语言之一。我想知道为什么它在后端中没有被广泛使用?
由于谷歌的V8引擎,它变得越来越广泛使用。看看Node.js。我认为以前效能不佳限制了它的效力。
Node.js让你以大多是面向对象编程的方式在眨眼之间编写多线程自定义 Web 服务。我想你会发现,在后端上使用JavaScript只是刚刚开始。
我认为唯一阻止它发展的是 - 正如其他人所说的那样 - 缺少一个整洁打包和标准化(至少对于Linux)的即插即用解决方案。这个解决方案需要被主要托管公司采纳,并作为其产品提供的一部分。如果这发生了,我认为你会发现它将在后端服务器领域迅速发展。
自1998年以来,Microsoft就提供了使用“JavaScript”(也称JScript)编写后端系统的功能,使用它的ASP提供。您仍然可以使用JScript开发ASP.NET应用程序。所以这并不新鲜。我认为它没有被广泛用于ASP或ASP.NET应用程序的原因是VBScript是“默认”的,而C#似乎是更有经验的专业人士首选的语言。但除了公司政策限制开发人员使用单一语言进行企业开发外,没有任何阻止你使用JScript的东西。JScript之所以不被公司实体广泛使用的原因之一是因为它“似乎不再积极开发”。事实上,Microsoft从来没有真正面向开发者“推销”JScript,或者至少不像他们对C#和VBScript那样。所以我想这可能会拖慢它的发展。
简短回答:因为有更好的替代品。
详细回答:因为它完全是解释性的(而且通常不太好 - 例如IE6),除了环境提供的内容之外,没有标准的I/O机制,语法松散导致代码难以验证,许多人发现基于原型的面向对象编程比基于类的面向对象编程更难处理。
我认为这只是历史的偶然。Javascript诞生于Netscape作为一种客户端语言,从未发生过转变。
与今天流行的服务器端Web语言相比,我认为最明显的区别是Javascript没有内置电池。它没有标准库。
将其与Python、PHP、Ruby等语言进行比较,这些语言都拥有出色的标准库,使Web编程更加可接受。
我认为答案可能是,对于客户端来说好的并不总是对于服务器端来说好的。例如,JavaScript(通常指ECMAScript,也包括ActionScript)是一种非常宽松和宽容的语言,允许你做很多事情。在客户端,这通常不仅可以接受,而且也是首选。你经常希望你的用户界面尽可能平滑和宽容,以提高用户体验。
然而,在服务器端,情况通常是不同的,这就是为什么我认为主导那一侧的语言更加强类型和严格的原因。
还有规模的问题。适用于客户端UI应用程序通常较小的代码库的东西并不总是适用于服务器端,后者必须处理一系列在客户端中并不是主要关注的问题。例如性能、打包、可扩展性——这些对于服务器代码比客户端代码(通常)更重要,因此人们选择不使用JS进行服务器端工作是可以理解的。
<script type="text/javascript" runat="server">
标签上的runat="server"
属性,我简直想吐。 - hunter