Ana*_*and 4 javascript java performance server-side serverside-javascript
我是服务器端javascript编程的新手,我正在尝试理解它与传统服务器端java之间的差异.有什么显着的差异以及为什么SSJS会变得流行?SSJS如何比Java更好?从外行人的角度来看,我认为JS在性能方面要比Java慢,主要是因为它是一种解释型语言.
问候,阿南德
我认为node.js与这种现象的兴起有很大关系:
很确定它是很多commonjs库开发等的推动力.
我看到评论意味着当客户端和服务器端代码使用相同的语言时,它会使生活更轻松.对于我所研究的节点项目,最初只有3个程序员用于所有事情,而且我们或多或少地全权使用我们想要的任何技术.这导致了一些争论,因为每个人都有不同的背景; 但是当有人建议使用nodejs时,一个好主意的原因之一就是javascript是我们共同拥有的东西.
但是,我不认为节点的成功主要是因为它使用了js; 这是关于设计.我喜欢它多了很多比大多数其他的服务器端技术,我与(Rails中,PHP,CGI,mod_perl下,石匠)工作的,和我可能会喜欢它一样多,无论在界面中使用的语言.但它确实如此.
所以这就是我的观点:我认为它与javascript的任何关系都没什么关系,更多的是与"javascript社区"中的一些聪明的思考和开发有关,令人惊讶的惊喜.考虑PHP:我不认为PHP的成功与语言的设计(或性能特征)有很大关系,我认为这与它的使用方式以及人们如何构思服务器端编程有关10 - 15年前,他们必须建立的工具(密切相关).
那里的一个问题(在"聪明思考"部门)是由节点后面的人(例如,nginx)做出的(非常令人信服的,如果你尝试的话)断言,这是因为异步的,事件驱动的模型是比传统的并行同步,线程驱动模型更适合服务器编程.我相信后者在java中占主导地位,甚至可以认为它可以像其他方式一样容易使用.另一方面,Javascript最初打算用于浏览器的异步,事件驱动的世界,并且根本没有线程.再说一次:不是语言,而是文化.
另外值得注意的是主要使用JSON作为交换格式和NoSQL数据库,例如couchdb(我使用过)和mongodb(我没有),它们在构造数据库时基本使用了JSON.Couchdb还使用js进行某些服务器端编程(基本上是查询处理程序),大概是因为数据库文档是JSON,这也很适合传递给客户端.非常光滑和聪明.一种语言,一种协议,从模型到视图; 从重要意义上说,根本没有"交换".
这和传统服务器端java之间的区别
首先,Java和JavaScript没有任何共同之处.它们是两个完全不同的东西.记在脑子里.
我想很多人喜欢服务器端JavaScript,因为他们可以使用一种语言.他们在服务器上也使用JavaScript,而不是使用其他语言(如Java,PHP或Ruby).此外,许多网络程序员都熟悉JavaScript(因为他们在客户端上使用它),所以他们很了解它.
JavaScript也可以像Java一样简单.如果你只有一个小项目,那么与JavaScript相比,Java可能会带来很多开销.像回调这样的东西在JavaScript中可能非常优雅.
此外,像Node.js这样的新框架使得使用这种语言变得很有吸引力.只要没有任何服务器端框架,您就可以在服务器上使用JavaScript.但是这种语言今天发展得很好.
我认为JavaScript的性能也取决于服务器.我不确定这一点,但就我所知,JavaScript也可以(及时)编译.谷歌的Chrome正在做类似的事情.此外,在大多数网站上,性能并不是一件大事,因为性能主要是数据库的IO.实际创建HTML页面非常简单,没有什么大不了的.并且:PHP也被解释并在许多站点上使用.Ruby比Java慢得多,但Ruby on Rails非常受欢迎.所以表现似乎不那么重要.它更多的是关于语言的"好"和优雅.
从我的角度来看,主要优点是如果您拥有丰富的 JS 客户端接口,则可以简化客户端与服务器的交互。如果您在服务器端和客户端使用相同的语言,则可以在它们之间共享通用代码(例如,如果您有一些业务逻辑,例如验证,并且它在客户端和服务器端使用,您可以在 JS 中实现一次,然后在多个中使用)的地方)。
如果你已经了解 JS,你就不应该学习一门新语言来完成服务器端工作。
| 归档时间: |
|
| 查看次数: |
6889 次 |
| 最近记录: |