我正在寻找对我对客户端和服务器端语言的理解的一些澄清。
我正在开始一个新项目,并希望决定是否应该实现像angular或ember这样的客户端框架。
当我开始深入研究时,客户端和服务器端渲染之间的区别就成了问题。
我的理解(很可能是有缺陷的)是php变得非常过时,因为您需要使用它来与数据库进行通信并将json传递给angular。
PHP的主要吸引力在于你可以在服务器端和html一起渲染html,但这不再是必要的。
随着客户端框架的引入,PHP仍然值得使用吗?
答案 0 :(得分:4)
你想在几个场景中使用PHP;请注意,此列表并非详尽无遗。值得注意的是,有明显的事情,比如为客户端框架生成响应,我将在很大程度上忽略它。
当安全性很重要时 如果您有某些事情需要发生并且无法被篡改,请将其保留在服务器端。永远不要相信用户。
生成网页内容时 搜索引擎无法执行他们遇到的每个脚本,因此它们只解析原始HTML。如果绝对一切都依赖于动态脚本搜索引擎将看不到任何一个。此外,您的用户可能无法使用Javascript。
当客户拥有低端设备时 特别是对于没有大量马力的早期屏幕电话或上网本,Javascript可以非常快速地对这些设备变得非常强烈。卸载到客户端的工作量越多,网站对他们的影响就越小。我见过一些java重型网站让整个设备陷入困境。没有最新JS引擎的旧浏览器可能会非常慢。我有一个相对昂贵的手机,但我精神上将几个网站列入黑名单,因为它们会破坏我的设备。
稳定性很重要。 除非你给PHP致命错误,否则你可以认为PHP与Javascript相比非常可靠。如果一个页面适用于一个人,则您知道其他人将获得这些页面。使用Javascript,如果没有故障,即使存在轻微错误或错误的Ajax响应,某些浏览器也会暂停脚本。其他浏览器可能不支持Javascript以相同的方式(看着你,Internet Explorer 8 - )
当您需要的不仅仅是基于JavaScript的页面。 如果您正在使用RSS,动态XML站点地图,生成的SVG图像或生成的CSS - 您将使用服务器端生成它们,因为通常情况下根本无法动态生成它们。
答案 1 :(得分:1)
客户端框架仍然需要服务器端为其提供数据。此外,根据客户的浏览器,能够以您想要的方式呈现您的网站是一个很大的风险。
至于PHP,这一切都取决于你想要从你的网站。如果您希望大型安装的开发人员基础可供选择,那么PHP是一个很好的选择。我喜欢PHP,所以我会留下它。如果他们感到冲动,其他人可以提出选择。