服务器端javascript的使用很普遍吗?为什么要使用它,而不是任何其他服务器端脚本?有没有特定的用例让它比其他服务器端语言更好?
另外,我对如何开始使用它感到困惑,我在freeBSD上,我需要安装什么才能运行服务器端javascript?
发布于 2009-03-27 20:16:26
它是这样的:
服务器很贵,但用户会在浏览器中免费为您提供处理时间。因此,与任何大到需要运行多台服务器的站点上的客户端代码相比,服务器端代码的成本相对较高。但是,有些事情是不能留给客户端的,比如数据验证和检索。您希望在客户端执行这些操作,因为这意味着用户的响应时间更快,您的服务器基础设施更少,但安全性和可访问性方面的考虑意味着需要服务器端代码。
通常发生的情况是你两个都做。您编写服务器端逻辑是因为您必须这样做,但您也可以用javascript编写相同的逻辑,希望为用户提供更快的响应,并在某些情况下为您的服务器节省一些额外的工作。这对验证代码特别有效;浏览器中失败的验证检查可以将整个http请求/响应对保存在服务器上。
既然我们都是(大部分)程序员,我们应该立即发现新的问题。不仅有开发两套相同逻辑所涉及的额外工作,而且还涉及维护它的工作,平台导致的不可避免的错误不能很好地匹配,以及随着实现随着时间的推移而引入的错误。
进入服务器端javascript。其思想是您只需编写一次代码,即可在服务器和客户端上运行相同的代码。这似乎解决了大部分问题:您可以一次完成服务器和客户端逻辑的全套工作,没有漂移,也没有重复维护。当您的开发人员只需要了解一种用于服务器和客户端工作的语言时,这也是很好的。
不幸的是,在现实世界中,它的效果并不是那么好。问题有四个方面:
这些并不是完全无懈可击的技术问题:将服务器支持的语言限制为大多数浏览器都能很好地支持的javascript子集,提供了解这个子集和服务器端扩展的IDE,制定一些关于页面结构的规则以最小化DOM问题,并提供一些样板javascript以包含在客户机上以使平台更易于使用。结果是像Aptana Studio/Jaxer,或者最近的Node.js,这可能是非常好的。
但并不完美。在我看来,有太多的陷阱和小的兼容性问题,让它真正发光。最终,与开发人员的时间相比,额外的服务器仍然很便宜,而且大多数程序员能够使用javascript之外的其他工具来提高工作效率。
我真正想看到的是部分服务器端javascript。当请求一个页面或提交一个表单时,服务器平台确实会请求javascript的验证,可能是作为web服务器的一个插件,它完全独立于其他部分,但响应是使用您选择的平台构建的。
发布于 2009-03-27 20:16:01
我认为服务器端Javascript的一个很酷的用法是用于数据验证,但并不经常使用。使用它,您可以编写一个javascript文件来验证表单,在客户端检查它,然后在服务器端再次检查它,因为我们不应该信任客户端的任何东西。它可以让你的验证规则保持干爽。非常方便。
另请参阅:
发布于 2009-03-27 20:17:59
Javascript只是一种语言。因为它只是一种语言,你可以随心所欲地使用它…在您的浏览器中,在服务器上,嵌入到其他应用程序、独立应用程序等中。
也就是说,我不知道“服务器端Javascript”有很多新的开发。
https://stackoverflow.com/questions/691307
复制相似问题