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怎麼用, 凌晨的時候需要用的介面就寫完了... 當然這只是很膚淺的應用, 想要精通, 二者都需要大量的時間和精力研究下。

這個還要看跟什麼資料庫搭配吧,一般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是最好的語言!
