JavaScript Web应用程序是否应该使用另一种服务器端语言


Should a javascript web application use another server side language?

我想创建一个Web应用程序。 我做了很多Java,对可用的Web应用程序框架印象不深。

我正在考虑使用另一种服务器端语言,如 php,但我不想要学习曲线。

这让我想到了javascript。 我可以并且应该使用 ajax 执行所有服务器端调用吗? 我有一个面向服务的体系结构可用,可以访问我需要的所有数据。

将服务器端语言与javascript结合使用来构建健壮的Web应用程序是否更有利? 使用纯 JavaScript 并对我的 Web 服务进行 ajax 调用是否更可取?

你可以,但问题是你应该吗?建议从一开始就为禁用JavaScript的人优雅地回退,但一些大型服务和网站似乎不再介意。例如,如果没有启用JavaScript,你就无法打开Facebook。

这并不是说你应该这样做。你必须通过让体验变得更好来证明它的合理性。确保其导航工作正常,并正确利用历史记录。

客户端应用程序还必须在一个全新的级别上处理浏览器差异。当然,使用jQuery等框架可以更轻松地做到这一点,但是您会注意到浏览器之间的差异。

我可以并且应该使用 ajax 执行所有服务器端调用吗?

是的。您可以使用 AJAX 执行所有服务器端调用。即使是现在,许多单页应用程序正在出现,它们大量使用AJAX和Javascript MVC与服务器进行通信。甚至一些JavaScript框架也提供内置的REST支持(例如 - Backbone JS)。
但话虽如此,您应该考虑为 AJAX 调用提供回退机制。因此,如果用户关闭了javascript,则应将其导航到适当的页面。(同样,这取决于您是否选择是否支持非JS)


将服务器端语言与javascript结合使用来构建健壮的Web应用程序是否更有利?

使用 javscript 的优势取决于您的测试用例,主要是服务的受众。但是,转向异步通信肯定更"冒险",但前提是您以结构化的方式使用它。为此,我建议使用Javascript方面的任何MVC框架。


使用纯 JavaScript 并对我的 Web 服务进行 ajax 调用是否更可取?

同样,优先级取决于 Web 服务的用例方案。这样使用javascript没有害处。唯一的问题是你应该很少意识到你正在进行的javascript调用的安全性。

当你只用Javascript构建一个Web应用程序时,你把所有的负载和进程都完全交给了客户端。从技术上讲,服务器仍然做一些工作,因为您将使用ajax调用,但是考虑到低端PC或普通移动设备的性能,它们将很难加载您的Web应用程序。

在同时使用PHP和Javascript的情况下,您可以灵活地为您的Web应用程序提供更高的性能,因为客户端和服务器彼此共享负载和进程。当然,使用PHP将为您提供更好的工具来轻松访问站点的数据库,在这种情况下为MySQL。