我可以使用 JavaScript 而不是 PHP,将 Apache 替换为 Node.js 吗?
Can I use JavaScript instead of PHP, replacing Apache with Node.js?
我能否仅在 JavaScript 中编写我的网站并确保我的代码对任何人都隐藏?在这方面,是否可以像 Apache 一样通过 Internet 提供商访问 Node.js?
是的,你绝对可以。但是,转换现有代码可能需要一段时间,如果这是针对公司机构的,您将不得不询问您的同事和您的 boss/supervisor。祝你好运,请记住,始终以 JavaScript(无类型) 所有语言记录您的代码。
- NodeJS 快得多:http://www.hostingadvice.com/blog/comparing-node-js-vs-php-performance/
- 更多库:http://npmjs.org
- 一切
只需要一种语言
你的两个问题的答案都是是。
Node.js可以完全取代Apache(假设你愿意将你所有的PHP重写为JavaScript)。如果您的 Apache 运行 在服务器和客户端之间处于反向代理模式,您甚至可以在 Node.JS 中处理 一些 请求,而在 [=35] 中处理其他请求=].这将允许您在更改代码的同时保持原始功能,还允许 PHP 处理更多普通任务。
虽然你不能阻止原始JavaScript通过任何混淆方式被阅读,但你可以阻止人们阅读您的代码完全使用标准 JavaScript。您可以使用 NativeExtension
for Node 为加密的 JavaScript 文件添加扩展处理程序:
require.extensions[".jse"] = function (m) {
m.exports = MyNativeExtension.decrypt(fs.readFileSync(m.filename));
};
require("YourCode.jse");
这会将您的 JavaScript 代码转换为 .jse
,然后您可以将其打包用于生产。考虑到加密是在本机扩展内部完成的,因此不会泄露加密密钥。
希望对您有所帮助! :)
将 PHP 与另一项技术 Node.js 进行比较,后者适用于完全不同类型的任务,比较者必须提及 use-case/context 的区别,其中一种技术优于其他技术。
让我们从不同的执行领域来谈谈,因为我们不能让他们中的任何一个蒙羞,而且两者都有自己的优先级。
如果从应用领域来讲。
PHP :
CMS(内容管理系统),如 WordPress、Drupal 也使用 PHP,这使得可以用于创建博客、网站、e-commerce 站点等。
用于开发 CPU-intensive 应用程序,例如气象学应用程序和科学应用程序。
应在客户端不必与服务器反复交互的应用程序中使用
PHP 7 基于 PHPNG 引擎,它比以前的 PHP 解释器(Zend 引擎 2.0)更能加速 PHP 应用程序。多亏了 PHPNG,您的应用程序的性能比 PHP 5.6 快 2 倍,内存消耗减少 50%。
NodeJs:
Nodejs 是开发高度可扩展的 server-side 解决方案的理想选择,因为它具有 non-blocking I/O 和 event-driven 模型。
大量用于 Real-time 应用程序,例如聊天应用程序、博客、视频流应用程序。
用于开发 single-page 应用程序,例如简历组合、个人网站。
Node.js应该用于需要客户端和服务器之间进行大量交互的应用程序。
对于某些任务,Node.js 可能比具有 PHP 的“标准”Web 服务器更快,因为它作为单个线程运行,每个连接具有 non-blocking IO,因此有没有内存溢出。因此,Node.js在需要处理real-time中的数据时很有用(聊天,游戏,视频,没有逻辑的大数据流)
PHP 还活着,他从 Node.JS
中吸取了教训
ReactPHP 使开发人员能够编写 PHP-based 套接字服务器来不断处理请求,就像 Node.js 那样(是的,Node.js 更快,但事实上是 PHP 也可以做到)。 Workers(类 负责 运行 异步作业并同步其结果)或 Amp(用于编写 non-blocking 异步代码的库)也是如此。因此,使用 PHP 创建 long-running 进程很容易。此外,还有很多工具可以支持和管理这些流程(例如 supervisord)。
因此,可以使用 PHP 或 Node.js 执行相同的任务。 “使用什么工具”这个问题是个人喜好的问题。您可以将 Node.js 用于涉及大数据流的任务,将 PHP 用于涉及复杂逻辑的任务,将 high-load 任务用于处理外部实用程序、应用程序和 OS。
从可扩展性的角度来看,PHP和[=66=之间没有太大的区别,更重要的是要考虑项目的架构。
Dayle Rees(Laravel 框架贡献者和开发人员):很长一段时间 PHP 是许多语言笑话的笑柄,但老实说,我觉得它不仅成为一种流行语言,而且一个强大的。 PHP7 很棒。速度提升是一回事,但对完整类型提示的可选支持是一个游戏规则改变者。我们还拥有 Laravel 和 Composer 等现代工具,为该语言及其支持社区注入了新的活力。考虑到这一点,我认为 Laravel 不太可能从 PHP 移动。我认为它更有可能与 front-end 工具进一步集成以提供完整的应用程序构建平台。这就是我认为它在未来扩张方面的发展方向。我相信 Node 在处理微服务和线程应用程序时会继续 excel。
来自 PHP 的最重要和最期待的消息是,PHP 计划在其下一个主要版本 PHP-8 (最有可能在 2021 年 9 月)。这将使 php 蓬勃发展,并且打破了他由于 JIT 而受到的所有限制。
总结
总结两者各有优缺点,但令人惊奇的是,两者都是由知识分子创造的,旨在使 Web 开发变得更好。在选择技术时,问题不应该是哪一种更好,而应该是哪种可以更好地满足您的项目需求。了解您的项目和业务逻辑可以让您清楚地了解如何为您的 project.Moreover 选择合适的技术,更重要的是要考虑使用该技术的开发人员的技能和熟练程度,他们如何使用这些技术并将其应用于项目。
我能否仅在 JavaScript 中编写我的网站并确保我的代码对任何人都隐藏?在这方面,是否可以像 Apache 一样通过 Internet 提供商访问 Node.js?
是的,你绝对可以。但是,转换现有代码可能需要一段时间,如果这是针对公司机构的,您将不得不询问您的同事和您的 boss/supervisor。祝你好运,请记住,始终以 JavaScript(无类型) 所有语言记录您的代码。
- NodeJS 快得多:http://www.hostingadvice.com/blog/comparing-node-js-vs-php-performance/
- 更多库:http://npmjs.org
- 一切 只需要一种语言
你的两个问题的答案都是是。
Node.js可以完全取代Apache(假设你愿意将你所有的PHP重写为JavaScript)。如果您的 Apache 运行 在服务器和客户端之间处于反向代理模式,您甚至可以在 Node.JS 中处理 一些 请求,而在 [=35] 中处理其他请求=].这将允许您在更改代码的同时保持原始功能,还允许 PHP 处理更多普通任务。
虽然你不能阻止原始JavaScript通过任何混淆方式被阅读,但你可以阻止人们阅读您的代码完全使用标准 JavaScript。您可以使用 NativeExtension
for Node 为加密的 JavaScript 文件添加扩展处理程序:
require.extensions[".jse"] = function (m) {
m.exports = MyNativeExtension.decrypt(fs.readFileSync(m.filename));
};
require("YourCode.jse");
这会将您的 JavaScript 代码转换为 .jse
,然后您可以将其打包用于生产。考虑到加密是在本机扩展内部完成的,因此不会泄露加密密钥。
希望对您有所帮助! :)
将 PHP 与另一项技术 Node.js 进行比较,后者适用于完全不同类型的任务,比较者必须提及 use-case/context 的区别,其中一种技术优于其他技术。 让我们从不同的执行领域来谈谈,因为我们不能让他们中的任何一个蒙羞,而且两者都有自己的优先级。 如果从应用领域来讲。
PHP :
CMS(内容管理系统),如 WordPress、Drupal 也使用 PHP,这使得可以用于创建博客、网站、e-commerce 站点等。 用于开发 CPU-intensive 应用程序,例如气象学应用程序和科学应用程序。
应在客户端不必与服务器反复交互的应用程序中使用
PHP 7 基于 PHPNG 引擎,它比以前的 PHP 解释器(Zend 引擎 2.0)更能加速 PHP 应用程序。多亏了 PHPNG,您的应用程序的性能比 PHP 5.6 快 2 倍,内存消耗减少 50%。
NodeJs:
Nodejs 是开发高度可扩展的 server-side 解决方案的理想选择,因为它具有 non-blocking I/O 和 event-driven 模型。
大量用于 Real-time 应用程序,例如聊天应用程序、博客、视频流应用程序。
用于开发 single-page 应用程序,例如简历组合、个人网站。
Node.js应该用于需要客户端和服务器之间进行大量交互的应用程序。
对于某些任务,Node.js 可能比具有 PHP 的“标准”Web 服务器更快,因为它作为单个线程运行,每个连接具有 non-blocking IO,因此有没有内存溢出。因此,Node.js在需要处理real-time中的数据时很有用(聊天,游戏,视频,没有逻辑的大数据流) PHP 还活着,他从 Node.JS
中吸取了教训ReactPHP 使开发人员能够编写 PHP-based 套接字服务器来不断处理请求,就像 Node.js 那样(是的,Node.js 更快,但事实上是 PHP 也可以做到)。 Workers(类 负责 运行 异步作业并同步其结果)或 Amp(用于编写 non-blocking 异步代码的库)也是如此。因此,使用 PHP 创建 long-running 进程很容易。此外,还有很多工具可以支持和管理这些流程(例如 supervisord)。
因此,可以使用 PHP 或 Node.js 执行相同的任务。 “使用什么工具”这个问题是个人喜好的问题。您可以将 Node.js 用于涉及大数据流的任务,将 PHP 用于涉及复杂逻辑的任务,将 high-load 任务用于处理外部实用程序、应用程序和 OS。 从可扩展性的角度来看,PHP和[=66=之间没有太大的区别,更重要的是要考虑项目的架构。
Dayle Rees(Laravel 框架贡献者和开发人员):很长一段时间 PHP 是许多语言笑话的笑柄,但老实说,我觉得它不仅成为一种流行语言,而且一个强大的。 PHP7 很棒。速度提升是一回事,但对完整类型提示的可选支持是一个游戏规则改变者。我们还拥有 Laravel 和 Composer 等现代工具,为该语言及其支持社区注入了新的活力。考虑到这一点,我认为 Laravel 不太可能从 PHP 移动。我认为它更有可能与 front-end 工具进一步集成以提供完整的应用程序构建平台。这就是我认为它在未来扩张方面的发展方向。我相信 Node 在处理微服务和线程应用程序时会继续 excel。
来自 PHP 的最重要和最期待的消息是,PHP 计划在其下一个主要版本 PHP-8 (最有可能在 2021 年 9 月)。这将使 php 蓬勃发展,并且打破了他由于 JIT 而受到的所有限制。
总结
总结两者各有优缺点,但令人惊奇的是,两者都是由知识分子创造的,旨在使 Web 开发变得更好。在选择技术时,问题不应该是哪一种更好,而应该是哪种可以更好地满足您的项目需求。了解您的项目和业务逻辑可以让您清楚地了解如何为您的 project.Moreover 选择合适的技术,更重要的是要考虑使用该技术的开发人员的技能和熟练程度,他们如何使用这些技术并将其应用于项目。