標籤:

PHP和Node.js哪個更爽?

重點在一個爽字上.

所以,沒有用過的人就不要急於作答了.


PHP + MySQL很爽;Node + MongoDB很配。爽不爽看項目、看資源、看能力、看自己,好比有些人愛吃臭豆腐,有些人卻受不了。

有些人覺得我後端代碼用PHP,前端代碼用JS就是很好,有些人又覺得前後台都用JavaScript一種語言才是好。你說哪個爽別人就認可你了?


用Python開發大型項目才是笑話,那個縮進的語法格式,簡直就是無法彌補的天坑.人家JS的回調地獄至少後來還出了promise,async/await,yield這些來救急.而Python呢?最新的Python3不兼容Python2就算了,還一直堅持縮進的語法格式,簡直了.

另外Python不支持switch/case語句,三目運算符(?:),自增自減運算符(++,--), 沒有實現類的訪問控制的關鍵字public/protected/private. Python對匿名函數的支持有限,只有在一些簡單的情況下可以使用匿名表達式. 還有Python惱人的編碼問題.所以,Python,是優雅還是蛋蛋的憂傷? 編程界還有一個大號的嘴強王者,就是神棍Java,這貨從7開始switch才支持匹配字元串,從8開始才支持Lambda表達式,到了9還是沒有內置支持json編解碼. 在PHP面前,裝逼犯Python和Java,真是弱爆了!

PHP7+Swoole,完美取代Node.js.

千言萬語彙成一句話,PHP更爽!


首先我必須說一下, php和node都是很好的後端腳本語言。

強調一下, 說什麼php亂啊, 不適合做稍微大點的項目啊, php代碼管理混亂等巴拉巴拉一堆的人基本都是停留在上個世紀對php的理解上, 人云亦云而已。

代碼的管理重點不在於語言, 在於公司環境,php的類庫可以內部搭建包管理工具, 語法規範可以用PSR, 也有現成的質量檢查工具自動檢查, 檢查不過, 代碼不讓提交等等...公司規範, code review和持續集成做好,這方面能有什麼大問題? 這塊不做好, 換成Java也能亂的要死。

至於性能,php7出來後,性能已經提升了一大截好不好?

再者具體做項目用哪門語言, 更重要的是取決於公司環境和市場環境。

至於Java, 這是個code老司機都繞不過的坎兒, 有時間就好好學學。

回歸正題, 正好我php和node都略知一二, 我簡單說說。

二者要是純做後台的話, 我更多會選擇php, 因為php的封裝更完善,不需要再掛其他的middleware, 各種針對後台的解決方案也更加成熟和完善。針對web的MVC框架也更加成熟, 語法上也更成熟, 這點js差點, ES6語法是很爽, 但是支持不夠好, 一般需要babel轉一下才行,當然編譯功能可以自動化,但針對新手有學習成本。最重要是php是熱更新,刷一下就能看到更改的結果, node得reload一下, 當然用node-dev也可以自動化。差不了太多,但同樣,對新手而言,需要學習成本,這個成本主要是沒過來人點一下的話,容易盲目的搜索而無結果。

如果樓主是要做大前端的話, 那肯定是學node , 畢竟是一個生態圈的,學精了對做前端的職業生涯也是大有幫助,可以做到前後端通吃。

但我必須強調一點, 做後台和做前台的解題思路和設計思想是不一樣的。 在做後台上, node也好, php也罷,思想是一致的,語言只是工具。

至於語法, php的很簡單 跟js差不過(PS:我一直覺得特么php越來越像的js了 o(╯□╰)o).... node么, 就是回調地獄唄, 這個早就有promise解決了, 當然還有yield.

我看還有說安裝環境的...這有啥值得比較的, 按照軟體細分的原則, php做應用,nginx/apache做web伺服器有什麼不好...

而且如果只是學習的話,php的一鍵安裝包也有很多好不好。

再者生產環境上, 你至少也要有個supervisor來守護node的進程吧... 而且node配合nginx, 反向代理靜態文件也是很好的選擇呀。

至於包管理, php的composer也越來越得到大家的認可了。 過一段時間 我相信不會比npm差很多。

總結一下, 如果樓主是入行後端的話 php更爽, 入行前端的話, node最嗨。

最後,其實我覺得做web領域的吧, php, node都學一下也挺好。 畢竟二者的學習成本也都不是很高。 我之前寫php的,突然有一天要用node, 上午學會mongodb,下午學會node, 晚上弄明白express怎麼用, 凌晨的時候需要用的介面就寫完了... 當然這只是很膚淺的應用, 想要精通, 二者都需要大量的時間和精力研究下。


你們吹阿里用node的時候 好歹也看看人家用node幹了啥啊

node在後端某一些部分表現很不錯 而且還能寫別的很多工具 py則是用途太多 寫個小東西找個包不要太爽 但是兩者在純後端上還真拼不過php php7 swoole laravel這三個東西還是很棒的 不過題主可能大概率用不到swoole吧

有個答案他媽竟然能黑php開發環境配起來慢 xampp這軟體100多mb都下不起? phpstorm不會用就說ide對php支持不好? php生產環境都能一鍵安裝 這個匿名還說寫過php 不是高級黑?說到最後 如果lz懂py 那就用py 如果懂js 那就node 這三個語言搞題主目前的東西還是足夠的 但是真要是搞後端不選java的話還是選php吧


這個還要看跟什麼資料庫搭配吧,一般PHP+mysql nodejs+mongodb。

現在都是前後端分離。

如果用PHP的話 所有的介面都要手擼或是用腳手架去生成基礎介面,尤其是涉及到查詢和分頁,總要巴拉巴拉寫一堆代碼。

但是用nodejs的話 使用express框架,有個超贊的中間件express-restify-mongoose(Getting started),簡單幾行代碼,就可以讓前端自己去玩curd了,你說爽不爽?

但是涉及到業務邏輯的話,還是要自己手寫的。


施主還是換兩個語言吧。。。。。。


你信或者不信,用Typescript寫node真的比php爽太多,無論是代碼調試和開發效率上。


50步笑100步


PHP是世界上最好的語言(逃........


看了一些回答真是三觀盡毀,我從來沒有覺得語言有優劣之分,只有合適與不合適,每個語言都有自己的優點和缺點,哪門語言能做些什麼,有些人還真沒點b數。因為他們自己水平不夠,他就以為所有人都和他在一個水平似的。

對不起,好像跑遠了。題主的問題我覺得還是在於題主想要做什麼,要選擇合適的語言考慮因素也很多,今年畢業設計準備拿node來試試,看看這個『玩具』好不好玩


golang>php+swoole>node

個人喜好,語言信徒自重


我可不可以這麼理解,爽意味著寫的爽,用的爽。

那麼我頂NodeJs。

從安裝來說:

Node安裝很簡單,在Windows上有直接的msi文件,ubuntu可以直接apt get. 也可以在官網下載壓縮包。或者通過包管理器下載都很簡單。

從開發來說:

有N種Web框架,簡單上手。框架都是很初始的http框架,但是都有配套齊全的中間件。如果不想要這種的,還有封裝好的上層框架,比如阿里的egg,比如thinkjs。資料庫層有各種driver,並不是說NodeJs一定要跟mongoDb綁在一起,我支持pg。

從社區來說:

有海量NPM包任你選。即便質量參差不齊,但star高的庫都會有完成的測試用例

從使用來說:

我不需要關心哪個WWW目錄。把源碼放在Git倉庫,clone, npm install, npm start即可運行。

從工具鏈來說:

社區有海量工具,代碼檢測,格式化,打包,監聽文件變動重啟。Npm就是方便,安裝一個工具,就是在一條命令。

從部署來說:

這點還真沒得比,人家是動態更新。雖然NodeJs也可以自己實現動態更新,但是並不容易,也沒有人家原生支持的優雅。NodeJs有自己的進程管理工具pm2,實現本機內的集群,自動重啟,定時重啟,日誌收集等等。哪怕你寫了個程序會內存泄漏(假如滿內存需要一定時間),只要你開了幾個實例,那麼這個程序就不會掛掉。因為其中一個內存滿了會重啟,其他實例還依舊運行著,穩。

從開發語言來說:

現在都2017年,ES2018都發布了,還有人拿回調地獄說事。這幾年的發展,不都是為了填語言的坑嗎。Node8已經是LTS, 你想要的新特性,基本都已經支持。還有人說是動態語言一時爽,Typescript笑而不語

總結:

開發工作不就是簡單高效的做出點什麼嗎,工具就是生產力。如果這個工具就是這麼高效,沒有致命的坑,那麼它就是可用的。做他所擅長的,雖然Node從誕生之初就有很多缺陷,比如內存佔用大,比如不易察覺的內存泄漏。

所以結論是: 我支持GO. 靜態編譯,速度快,內存佔用小,二進位文件丟到伺服器就跑,不要太爽。

PS:

有一個php項目需要與同事配合,結果就在安裝環境那裡想了一句mmp...

我不懂php,可能會有人教育我去外面的世界看看了。


當然是 PHP 爽,沒有 Once await ,never back 的問題。

就是本來一個同步的函數改非同步,導致所有東西都要改


nodejs是一個平台

PHP是編程語言

你要怎麼對比


本人覺得node超級爽。

如果你是前端,學習,react,vue。js熟的一筆。在加幾個知識點就掌握後段了。(加最多的地方時資料庫吧)

如果你是後段,管你php,java。js你沒用過,你不熟?拿著你的後端思維,不用幾天。上手node。

那些只是學習成本,關於爽不爽的權重不大。大的是什麼?是市場,淘寶雙 11在用node,企業初創公司也在用。大公司拓展新業務也在用。

我聊過很多公司技術主管,他們希望用node來開發業務的理由是,輕巧,會js的人一大把。不行培訓一段時間也能總。

關注我的專欄,有node。koa教程。


既然你這麼問了 那我就告訴你

php是最好的語言!


分頁阅读: 1 2