{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

js学会后想做全栈开发的话应该学习node.js还是PHP?

InvokerInvoker 回答10 收藏1
收藏问题

10条回答

wangshijun

wangshijun

回答于2022-06-22 19:02

Node.js 和 PHP 是两个服务器端技术领域中的竞争者,需要精通哪种技术完全取决于你所面向的用户群体和构建的应用程序类型。

逐本溯源

PHP 是超文本预处理器脚本语言,用于制作可扩展的动态 Web 应用程序。它于1995年发布,在过去几十年中,一直是排名靠前后端开发语言。Node.JS 是基于 Chrome v8 Javascript 构建的平台,可轻松构建快速,可扩展的网络应用程序,而不是传统的线程方法。它于 2009 年发布,被认为是定义新网络未来的流行平台。大多数时候,出现早的技术应用广泛,相对更成熟。不过,新技术会克服很多以前技术留下的缺陷,更为人性化。

不相上下

使用 PHP ,不但要要学习 php 语法,还要对 Javascript/css/html 都有一定了解,但是 PHP 确是一门新手友好型的编程语言,不需要了解太多背后的原理,即可快速上手开发。

使用 Node.js 只需要写 Javascript,但是在入门之前需要理解一些复杂概念,比如 web worker 和回调函数。

项目选择 PHP 还是 Node.js 开发,并不是拍脑袋决定的,和网站的定位有很大关系。PHP 有 Wordpres 背书,全球有大量的网站使用到 PHP,如果能有合适的模板,能做到快速开发,快速集成上线,充分应对小流量的客户请求。Node.js 遵循事件驱动的非阻塞I/O模型,处理大量服务请求得心应手,各种模块轻松集成,并且几乎不需要外部依赖就能运行起一个 web 应用。如今,还有一种流行的应用——单页应用程序(Single Page Application),看起来只有一个页面,页面刷新都是通过与 Node.js 交互直接生成 html,很方便实现千人千面效果。另外,Node.js 在模块化与协同编程方面,PHP 也是望尘莫及。

理解全栈

学会了 JS ,就想往全栈方面考虑,实在为时过早。全栈是要搞定设计,后台开发,前端开发,移动开发,后期运营维护上线,这里的每一步都不是一两下能进阶的,仅仅入门的话,实际上还不如不会。企业面试的时候,看啥啥都会,一问三不知。在精力有限的情况下,将一个技术用到极致,那才是真正的大神。


不成熟的程序员是见异思迁的,只考虑技术问题。市场是理性的,考虑语言的生态,部署难易,解决方案成熟度,招聘成本等因素。

评论0 赞同0
  •  加载中...
lylwyy2016

lylwyy2016

回答于2022-06-22 19:02

Nodejs和PHP都要学,但要有个先后顺序,先学PHP,再学nodejs ,因为nodejs 已经用到了后端的思想和知识了。

建议再学这两门课之前,最好先学一下Linux,这样你不光学的更扎实,也会走的更远!

评论0 赞同0
  •  加载中...
LancerComet

LancerComet

回答于2022-06-22 19:02

建议学习 Node.js ,因为你本身会js的话直接学Node会快很多。

PHP 和 Node.js 的基本区别在于 PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

1.性能:

在性能方面,Node.js 显然好很多。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。

2.外部依赖:

Node.js 依赖关系较少,用几行代码就可以设置一个 Web 服务器。但运行 PHP 应用程序,就需要外部服务器软件。用 Node.js 的开发人员只需要 NPM(节点包管理器)就可以下载 Node 模块,这些模块可以轻松地集成到应用程序中,提供额外的功能。

3.开发环境:

Node.js 可以用于桌面应用程序开发(Windows,Linux和Mac),移动应用程序开发(混合和跨平台应用程序),甚至构建基于控制台的应用程序。虽然有一些也可以使用 PHP 来开发,但是大多数开发人员不会这样做。

4.社区支持:

由于 PHP 比 Node.js 早诞生将近20年,所以在文档,API 和代码库等在线资源方面更为丰富。所以很有可能其他人也尝试了你想要用代码完成的事情并从中获得了帮助。另一方面,Node.js 虽然已经得到了开发者和组织的广泛关注,但是它支持开发者开发的资源缺相当少。

5.学习曲线:

编写 Node.js 代码对于新手甚至是专业的 JavaScript 开发人员来说都不是件容易的事情,因为他们需要在入门之前理解一些复杂的概念,比如 web worker 和回调函数。相反,PHP是一门非常友好的编程语言对于开发 Web 应用程序的新手来说。

总之这两种技术都有各自的优点和缺点。我是觉得 Node.js 比较有前途。

评论0 赞同0
  •  加载中...
rozbo

rozbo

回答于2022-06-22 19:02

虽然全栈工程师只是码农中的很小一部分,但还是有一些IT业者的目标是成为全栈式工程师。要想成为全栈式工程师,需要学的东西还真不少。比如,前端要会html, css, Javascript,Jquery, 有的可能还需要懂vue, Angular,react native,后端要懂PHP, Java, C语言等。若是移动开发就要会Java/Android(安卓平台)或者object-c(苹果平台)。

对于web开发来说,除了基本的html, Javascript现在是大热门,其应用的范围越来越广,可应用的场景也越来越多。而后端技术,如php(或者替换语言,如Java、C语言)也是搭建网络平台不可或缺的技能。说实在的,这两门技艺都是成为全栈工程师必须掌握的技能。但是,如果时间来不及同时学两门语言,那么先学哪个对实现目标更为有利呢?个人以为,应该优先考虑学习PHP(或其他后端语言,如java或c),而不是Javascript.

Javascript虽然也是十分重要的,可是相对来说后端技术需要投入的学习时间和难度要更大些。如果有了html和css的基础,项目开发中遇到少量需要使用Javascript的场景,完全可以通过网络现学些基础、或者通过现成的jquery代码来应付,而后端编程如果没有好好学习过,基本上啥也做不了!而且,如果先学会了后端技术,将来再学javascript就更简单些。同时,也会缩短成为全栈工程师所需时间。因此,想成为全栈工程师的筒子们应该先攻克PHP(或其他后端语言),然后再学Javascript。

评论0 赞同0
  •  加载中...
jerry

jerry

回答于2022-06-22 19:02

Nodejs、PHP、Python、Java、Golang都可以。

不过如果想成为前端开发工程师Nodejs是必不可少的,但是Nodejs很难让你对后端有一个更加深入的理解,你应该还要学一门后端编程语言才行,PHP或者Golang、Python,这三个学习的门槛都不算高。

所以Nodejs和PHP都要学,如果一定要舍弃一个,那可以先只学PHP。

商人工作在白色宽阔,俯视图

评论0 赞同0
  •  加载中...
mj

mj

回答于2022-06-22 19:02

node.js技术才是全栈必备。而且学习成本很低几乎平滑过渡,只是须要多了解js在服务端得处理机制!

评论0 赞同0
  •  加载中...
focusj

focusj

回答于2022-06-22 19:02

用node 开发接口你用了就知道有多坑了。需要有很强的异步编程思维。否则简单的curd加casher就很难搞定。 说PHP落伍的 可能思维和眼界还停留在tp PHP5.3点时代。 不管什么语音开发go 也好 PHP也好 都有做代码和缓存数据库上的优化 否则再好的语言也是白搭。 性能90%在数据库上 你要考虑用什么的框架既可以简化SQL操作 又可以有很强的定制SQL能力。在这方面PHP应该是没对手的。 laravel很方便进行代码的快递迭代开发。但是写好的代码要考虑内存消耗,性能优化。这方面加上的话你就知道写什么项目都是业务问题了。

评论0 赞同0
  •  加载中...
JasinYip

JasinYip

回答于2022-06-22 19:02

问就是Java

评论0 赞同0
  •  加载中...
tanglijun

tanglijun

回答于2022-06-22 19:02

PHP这种“世界最好的语言”,早已跌下神坛,不利于现在的前后端分离模式的开发,而且它那糟糕的错误处理机制一直饱受诟病。移动数据时代,大量的APP,数据的迸发,迭代,使用js,配合vue,react,Angelajs等主流框架,几乎涵盖所有现有应用开发,node本身就是为了前端全栈而设计,是前端全栈的基石。

就目前发展而言,建议完全掌握js,html,css后,强化webpack,glup,es6,typescript等知识。然后迅速进入node开发后端,很快可以开发,部署应用。

在空余时间再考虑go语言作为后端语言,虽然go的热度不如Java,c和Python。但是作为五年个人开发者,个人认为Python如没有较大的机制改变,会布PHP后尘,Java虽然是大厂维护,但它底层代码十分混乱,连开发Java的公司员工都在吐槽。c是比较难的语言,不适合快速学习和部署。

评论0 赞同0
  •  加载中...
Labradors

Labradors

回答于2022-06-22 19:02

强烈推荐你学习nodejs

1、已经学会javascript语言可以直接上手nodejs,毕竟学习php也是需要时间的。

2、javascript一门语言前端和后端通吃,避免与其他语言很杂写的麻烦,一会儿写javascript,一会儿写php,来回切换太麻烦。

3、nodejs也是前端工程师必备技能,可以直接应聘大前端,也利于个人职业规划。

4、建议做“T”型人才,深耕一项技能小有成就后,再学习扩展周边技能。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<