加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

想成为一名 Web 开发者? 学习 Node.JS 而不是 PHP

发布时间:2023-01-29 13:31:18 所属栏目:PHP教程 来源:未知
导读: 想成为一名 Web 开发者? 学习 Node.JS 而不是 PHP
我的学生, 经常问我这么一个问题,"你怎么在课程中教授 Node.js 而不是 PHP?" 告诉人们 "相信我, 我在这行工作" 仅仅是不够的. 所以, 这是

想成为一名 Web 开发者? 学习 Node.JS 而不是 PHP

我的学生, 经常问我这么一个问题,"你怎么在课程中教授 Node.js 而不是 PHP?" 告诉人们 "相信我, 我在这行工作" 仅仅是不够的. 所以, 这是我在课程中包含 Node.JS 的原因以及为什么如果你想作为开发人员投资你的未来, 你应该放弃 PHP. 虽然我以这两个为例, 但在本文中, 我将向您展示一个框架, 用于决定在开发人员职业生涯中应该学习哪些工具, 编程语言, 框架和库.

由于您作为开发人员的时间和资源有限, 您必须决定投入时间以获得最大的投资回报.

现在, 您应该问自己的问题: 在知识, 薪水和满意度方面, 我作为开发人员在未来的职业生涯中, 我可以投入时间和精力来学习哪些具有最大净值?

这并不意味着选择最简单的路径. 这意味着选择能够让您在未来许多年保持相关性和竞争力的工具, 同时培养您成为高级开发人员的技能.

在本文的结论中, 如果您想成为使用下面相同分析的 web 开发人员, 您将在 2018 年找到我推荐的所有技术. 所以你知道, 如果你不耐烦, 你可以跳到最后.

我们将在这篇文章中使用两种类型的分析: 工作前景分析和技术分析. 开始了:

php开发者_后盾php视频教程第一部之php博客项目实战开发_php 开发个人博客系统

Node.JS 与 PHP - 工作前景分析

我们将使用 Stack Overflow 开发人员调查 和 LinkedIn 进行此分析. 我们也只关注与 Web 开发相关的技术.

人气:

JavaScript 连续第五年成为最常用的编程语言. Python 的使用在五年内第一次超越了 PHP.Node.JS 在哪里? Node.JS 是一个 JavaScript 运行时. 在非技术性说法: Node.JS 是一种使用 JavaScript 的方式, 就像你可以在服务器端使用 PHP 一样. 现在, 将 Node.JS 视为 JavaScript.

php 开发个人博客系统_后盾php视频教程第一部之php博客项目实战开发_php开发者

php 开发个人博客系统_php开发者_后盾php视频教程第一部之php博客项目实战开发

正如您所看到的, Node.JS 和 JavaScript 排名靠前, 而 PHP 则不那么受欢迎.

在 Stack Overflow 在开发者调查中收集数据的五年中, 他们已经看到 JavaScript 和 Node.JS 等语言越来越流行, 而 PHP 等语言的使用一直在缩小:

php 开发个人博客系统_php开发者_后盾php视频教程第一部之php博客项目实战开发

React 是开发人员中最受欢迎的, 然而, Node.JS 是最想学和第二受欢迎的:

后盾php视频教程第一部之php博客项目实战开发_php开发者_php 开发个人博客系统

后盾php视频教程第一部之php博客项目实战开发_php 开发个人博客系统_php开发者

薪金和机会:

使用下面图表中蓝线下方列出的语言的开发人员, 例如 Go,Rust 和 Clojure, 由于他们拥有多少经验, 他们的报酬更高. 然而, 使用像 PHP 这样的蓝线以下语言的开发人员, 即使有多年的经验, 也会得到较少的报酬. 此图表中圆圈的大小表示与其他开发人员相比, 使用该语言的开发人员数量. PHP 显着地似乎通过他们拥有的多年经验来越来越少地奖励开发人员.

php开发者_后盾php视频教程第一部之php博客项目实战开发_php 开发个人博客系统

在 LinkedIn Jobs 上, 您可以看到全球范围内 Node.JS 开发人员的职位发布远远超过 PHP 开发人员近 10,000. 尽管事实上 Node.JS 是一种比 PHP 更年轻的技术 , 并且事实上 PHP 与 WordPress 一起大量使用, 它支持互联网上所有网站的 30%.

php 开发个人博客系统_后盾php视频教程第一部之php博客项目实战开发_php开发者

php开发者_后盾php视频教程第一部之php博客项目实战开发_php 开发个人博客系统

最后, 你可以看到各地区技术的平均工资(我没有包括下面的全球标签, 因为 PHP 甚至没有在那里制作):

php 开发个人博客系统_php开发者_后盾php视频教程第一部之php博客项目实战开发

php 开发个人博客系统_后盾php视频教程第一部之php博客项目实战开发_php开发者

后盾php视频教程第一部之php博客项目实战开发_php 开发个人博客系统_php开发者

php开发者_php 开发个人博客系统_后盾php视频教程第一部之php博客项目实战开发

php 开发个人博客系统_后盾php视频教程第一部之php博客项目实战开发_php开发者

同样, 我们不是在这里抨击 PHP. 我们只是查看数字来决定选择学习什么. 显然, 它的排名始终低于其他技术, 如 JavaScript 和 Node.JS.

所以:

PHP 的受欢迎程度正在下降, 而就业市场和 Node.JS 的普及正在增长. 总体而言, PHP 开发人员的报酬显着低于其他开发人员, 而且趋势似乎在不断扩大 .

Node.JS 与 PHP - 技术分析

让我们来看看每种技术的优缺点.

Node.JS 优点:

特别适用于需要客户端和服务器之间实时通信的应用程序. 像 socket.io 这样的 工具可以很容易地构建聊天应用程序之类的东西 这些相同的功能使 Node.JS 适用于处理来自 IoT 设备 (物联网) 和单页应用程序 (SPA) 的数据的应用程序, 这些数据现在非常普遍.

使用 JSON 进行本机序列化和反序列化 , 可以很好地处理 Web 上的 Ajax 请求.

非常适用于具有非阻塞输入 / 输出的事件驱动应用程序 (I / O 是信息处理系统(如计算机) 与外部世界之间的通信, 可能是人或其他信息处理系统(如数据库)

你学习 JavaScript, 你学习 Node.JS. 您不需要学习 PHP 等其他语言. 这意味着你可以花费你所有的努力来学习 JavaScript 并掌握它. 您只需一种语言就可以编写前端和后端代码.

许多流行的客户端框架, 如 React,vue 和 Angular 都是用 JavaScript 编写的, JavaScript 是现代浏览器的主要语言. 在使用 Node.JS 服务器端时, 您可以在应用程序开发堆栈中获得一种脚本语言的所有好处. 在前端和后端使用相同的语言非常适合可维护性: 它使所有团队成员之间的工作更容易为您的应用程序, 因为前端和后端开发人员使用相同的 JavaScript 数据结构, 函数和语言约定.

从客户端一次处理大量请求时, 单线程事件驱动系统非常快.

通过 NPM 可以 为客户端和服务器端访问不断增长的第三方库和软件包, 以及用于 Web 开发的命令行工具. 此外, 其中大多数都托管在 GitHub 上, 您可以在其中报告问题, 或者您可以自己分叉代码来自定义它.

它已成为运行 JavaScript 相关工具和其他 Web 开发人员相关工具的标准环境, 包括任务运行器, minifiers,linters, 格式化程序, 预处理器, 捆绑器和分析处理器.

许多新的 API 和服务 (如 AWS Lambda) 本机支持.

我们获得了 V8 的所有性能提升, 这是建立在 Node.JS 之上的 Google JavaScript 解释器. 由于 Google 的工程设计不断提高 V8 的性能, Node.JS 可以免费获得此开发的好处.

Node.JS 缺点:

上面提到的 NPM 包可能会膨胀您的代码,可能不安全php开发者, 并且很难找到哪些包是好的, 因为有很多选项(查看下载和 GitHub 统计是解决此问题的一种方法).

使用 Node.JS 和 NPM 包构建服务器的方法很多. 这使新开发人员难以接受.

对于依赖于大量 CPU 消耗代码的服务器 (即图像处理或排序等繁重算法) 而言, 这并不理想. 通常, 任何非 I / O 都可以被认为是 CPU 消耗代码. 在这种情况下, 通常多线程服务器环境比 Node.JS 更好(解决方案: 如果需要, 可以将代码的 CPU 密集部分交给用 C 编写的程序).

节点不使用底层系统或机器的所有核心. 您必须自己编写逻辑才能使用多核处理器. 这可以通过多种方式实现, 但需要一些额外的工作(当您能够最大化系统的 CPU 使用率时, 这将成为专业人员).

Node.JS 小结:

Node.JS 非常适合具有大量并发连接的应用程序, 每个请求只需要很少的 CPU 周期. 这使得它非常适用于当前在互联网上的许多应用, 如 SPA 和实时应用.

使用 JavaScript 的内置异步处理, 可以创建高度可扩展的服务器端代码, 最大限度地利用单个 CPU 和内存, 同时能够处理比传统多线程服务器更多的并发请求.

Node.JS 带有很少的依赖关系, 规则和指南, 允许开发人员以他们想要的方式自由和创造性地开发他们的应用程序. 开发人员可以为他们的项目选择最佳架构, 设计模式, 模块和功能, 同时通过 NPM 从社区获得所有好处.

PHP 优点:

由于年龄的原因, 强大而庞大的社区.

PHP 有一个强大的代码库, 包括用于构建网站的流行平台(即 WordPress,Joomla,Drupal).CMS(内容管理系统), 如 WordPress, 可以在几分钟内轻松部署博客或电子商务网站, 并允许非开发人员轻松定制它们.

使用非开发人员工具更容易设置, 更适合不需要了解 SSH 和 Linux 服务器的个人或小公司. 许多 PHP 应用程序 (即 cPanel) 由基本托管平台提供, 可以一键安装.

与其他通用编程语言不同, PHP 是专门为 Web 设计的. PHP 提供了一个出色的服务器端解决方案, 因为所有页面都可以在服务器上轻松生成和呈现, 因此无需在浏览器中使用 JavaScript. 如果您想避免在客户端运送太多代码, 这非常有用. Node.JS 也能够做到这一点, 但解决方案并不那么简单.

php7 和 HHVM(由 Facebook 支持)开发在 PHP 性能方面有所改进...... 但最近 HHVM 出现了一些坏消息.

PHP 缺点:

PHP 仅用于后端. 这意味着如果您想在客户端工作或被视为完整堆栈开发人员, 您仍然需要学习 JavaScript.

使用 PHP, 繁重的服务器端呈现以及对服务器生成和呈现页面的大量请求对单页应用程序来说不是一个好选择.

每个活动客户端都会占用一个服务器进程. 不适合拥有许多客户端连接的应用.

与 Node.JS 相比, 对 AWS Lambda 等新 API 和服务的 PHP 本机支持是有限的.

它遵循传统的客户端 - 服务器模型, 其中每个页面请求都启动应用程序, 数据库连接和 html 呈现. 与使用永久运行并且只需要初始化一次的 Node.JS 应用程序相比, 这使得 PHP 在浏览网站时变慢. 因此, Node.JS 更适合网络与 HTML5,Ajax 和 WebSockets 一起发展的新方向.

PHP 小结:

围绕它的大型社区, PHP 更容易学习. 对于博客或新闻网站等标准化解决方案而言, 它是一个不错的选择. 它具有 WordPress 的强大功能, 这是最受欢迎的 CMS(内容管理系统), 它允许您创建可自定义的博客而无需太多编码. 但是, 在这种情况下更简单并不是一个好的质量. 学习技术越容易, 有人进入现场并增加供应池就越容易, 而且你需要为服务收取的费用越低.

结论

随着 WordPress 的普及, PHP 是 Web 1.0 时代的顶级语言之一. Node.JS 于 2009 年推出, 技术上不是语言, 而是 JavaScript 的运行时环境. 它是更年轻的 Web 开发的冠军, 更适合构建基于事件的, 数据驱动的, I / O 繁重的应用程序, 您在 Web 2.0 时代会遇到更多.

特别是, Node.JS 的异步和基于事件的体系结构使其非常适合实时应用程序, 例如消息传递和协作应用程序, 其中许多请求同时发生, 并且客户端和服务器之间有很多来回. 没有 WordPress 不能活下去? 好吧, Node.JS 有自己的 CMS, 叫做 Keystone.JS 很棒.

总会有权衡. 永远不会有一种技术可以帮助您解决所有问题并使您免于工作过时. 我们所能做的最好的事情就是分析我们的选择, 并选择一个能获得最佳投资回报的选项. 看看上面的工作前景分析和技术分析, 我们可以看到一个明显的赢家.

我选择了 Node.JS.

虽然如果按照自己特定的方式使用所有技术都很棒, 但我们生活在一个信息如此丰富的世界, 我们必须限制我们可以关注和深入学习的主题数量.

在我的课程中, 我教授今天在该领域的职业生涯中相关的方法, 以及 Facebook,Netflix, 谷歌和亚马逊等一些大公司使用的工具. 如果您想在 2018 年成为一个完整的堆栈 Web 开发人员, 我建议您学习:

  1. **HTML5
  2. CSS3
  3. JavaScript

React.JS

  1. Node.JS + Express.JS
  2. PostgreSQL **

和其他一些......

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!