7

我一直认为 JavaScript 是一种客户端脚本工具,用于增强 HTML 的功能,而 HTML 通常由其他一些服务器端技术生成——Java、.NET、Rails、Django、PHP 等。

虽然最近我听到人们将 JavaScript 称为“应用程序语言”。我知道像 Gmail 这样的应用程序已经将 JavaScript 带到了下一个发展阶段,并使浏览器更像是一个功能齐全的应用程序。但据我所知,没有像我之前提到的基于 JavaScript 的服务器端技术。因此,即使在富 Internet 应用程序的情况下,“应用程序语言”实际上也是后端与数据库交互并执行 URL 路由等的语言。

我的理解是否已经过时,JavaScript 现在是否能够执行后端处理,还是我们愿意将其称为“应用程序语言”仅仅是因为它目前在前端执行的复杂性使得后端处理变得次要?

4

13 回答 13

6

服务器端 Javascript已经可以使用很长时间了。我每天都用它维护代码。它比经典的 ASP 好得多(至少我可以拥有“真实的”对象,以及 try-catch 等)。

另一个好处是您可以避免用不同的语言重新编写表单验证代码。我只是使用这样的javascript文件:

<!--//<%
//code
//%>-->

这允许您同时包含带有<!--#include file='name'-->和 的代码<script src='name' />。不利的一面是,通过查看验证代码(如果您不够小心的话)可能更容易“破坏”您的验证代码。切勿将敏感信息放在验证码之外。此外,您可以选择所需的文件扩展名,但切勿将执行数据库访问的服务器端 javascript 保存为.js. .asp文件默认执行,而不是作为纯文本发送。对于文件而言,情况并非如此.js,这些文件仅在包含在文件中时才会执行.asp

于 2009-08-15T18:33:46.900 回答
4

我不同意。随着 Web 服务的出现,您可以根据需要编写整个应用程序客户端,并通过 AJAX 与 Web 服务进行简单交互。我不会推荐这个,但它可以做到。现在您可能将 Web 服务视为应用程序的一部分,但我认为这点可以说是应用程序的一部分,而不是您的数据库技术。

于 2009-08-15T18:30:34.940 回答
2

JavaScript 是一种图灵完备的语言,在语法和结构上被相对广泛地采用和理解,并且没有浏览器运行时。从一开始,它就被用于服务器端脚本命令行脚本和开发健壮的 Web 应用程序。它也是运行 WebOS 的 Palm Pre上的专有语言。

损害 JavaScript 作为“成熟的”黄金时段严肃语言获得更广泛认可的原因是它在实现方面缺乏统一性。老实说,这在很大程度上是因为微软试图建立专有扩展,以及它在 ActiveX、JScript 等分裂技术上的错误尝试。

现在有了一个完整的对象模型和相对复杂的库集,没有理由不把它视为广泛使用的任何其他现代语言。事实上,它可能是当今最广为人知的计算机语言。

于 2009-08-15T18:39:08.060 回答
1

Microsoft 的 JScript 引擎可以托管在范围广泛的应用程序中。除了 IE,它还可以用于其他几个标准通用脚本主机,例如 WSH 和 MSHTA。它也可以使用 Classic ASP 托管在服务器端。

这意味着除了服务器端 Web 应用程序之外,还有多种方法可以在 Windows 下使用 JScript 创建非 Web 应用程序。这包括独立或客户端-服务器桌面应用程序。

其他来源也有类似的工具。其中大多数支持 Windows 以外的其他平台。

于 2009-08-15T18:30:43.880 回答
1

有关完全用 java 编写的 javascript 实现,请参阅Rhino 。它通常嵌入在 java 程序中以启用脚本,因此可以在服务器端使用。

于 2009-08-15T18:34:52.857 回答
1

CouchDB使用 javascript 来构建和操作数据。

于 2009-08-15T19:20:01.783 回答
0

贾克斯

使用 Jaxer,您的 JavaScript 可以获得对 MySQL 或集成 SQLite 数据库等数据库的完全访问权限。丰富的文件系统 I/O 以及低级网络套接字访问都可以直接在服务器上的 JavaScript 中使用。您可以从客户端无缝调用这些服务器功能 - 仅公开符合您的安全要求的功能。

于 2009-08-15T18:28:38.987 回答
0

我已经用 JavaScript 编写了几个内部工具。优点是很容易将一些 CSS 和 HTML 组合在一起,以获得我通常只作为控制台命令完成的操作的界面。

于 2009-08-15T18:42:29.287 回答
0

您可能想对小部件进行一些研究。Web Widget 是使用 Web 语言(HTML、CSS、Javascript)创建并具有一些特定小功能的小程序。

Opera 目前正在使用它们,您可以在 Palm 的 WebOS 上看到它们,而且很快就会有针对它们的 W3C 规范。

W3C 小部件 1.0

歌剧小部件

于 2009-08-15T18:57:24.093 回答
0

如果您愿意,您可以使用包括 JavaScript 或 Python 和 Ruby 在内的 Web 技术使用Titanium Desktop创建桌面应用程序。

于 2009-08-15T18:57:43.107 回答
0

Javascript 将成为下一个更广泛使用的应用程序语言。为什么?请咨询 Google Chrome 操作系统开发团队。客户端应用程序和云计算没有告诉你什么?

于 2009-08-15T19:30:51.030 回答
0

Javascript 的实际语言是 ECMAScript。(参见标准维基百科文章)。

ECMAScript 在许多浏览器中用作 Javascript,在 Flash 中用作 ActionScript,Microsoft 有自己的实现称为 JScript,它在 Internet Explorer 中用于代替 Javascript,并作为 ASP 中的服务器端语言(更常见的 VBScript 的替代方案) )。

该语言本身并不特定于任何环境,例如网络。Javascript 中使用的 DOM 不是 ECMAScript 语言本身的一部分。因此,该语言几乎可以适应任何环境,但最普遍的当然仍然是 Javascript。

于 2009-08-15T21:10:22.933 回答
0

我看不到令人敬畏的“Node.js”(http://nodejs.org/)平台的提及。这是目前“热门”的事情之一......

于 2012-11-04T12:50:38.913 回答