据小道消息,天猫最近彻底抛弃用了多年的PHP,转投Node,出于什么考虑?
回复内容:
利益相关:天猫员工,天猫node核心开发者。
作为天猫php迁移node的主要推动者之一,我来回答一下这个问题。首先,解释一些疑问:关于使用范围,天猫之前php主要用于前端渲染这块业务,后台业务过去和现在一直都是Java为主,node替换的仅是前端渲染层;天猫在2015年之前,前端代码基本都跑在php系统上,直到2016年初,才彻底下线了所有的php业务。
各位可能要问了,为啥要换呢?php不是世界上最好的语言吗?php当然是世界上最好的语言,只是不适合天猫。这个得从当时的背景谈起。天猫的业务场景非常特别,每年的双11需要非常强的系统稳定性和非常高效率的开发效率。原先的php系统设计年代非常久远(9年多前),设计之初,没有现今双11这种压力高并发和高效率开发的压力,当时的前端开发体系也没有如今这般完善。可以说,到了2014年,前端还是使用这一套开发系统去撸业务,简直就是刀耕火种,效率上远远满足不了双11的海量需求。以2015年双11为例,总共上线了超过1000个活动页面,如果前端一个页面一个页面地去写,得耗费大量的人力,再算上需求变更带来的返工,耗费的时间又是一笔巨大的成本。更重要的,在php系统上系统做前端开发,前端开发人员需要同时掌握php,js和css,技术体系上存在隔离,大部分前端对php掌握程度不足,写出的页面性能非常糟糕,以天猫首页为例,php版本在25核的实体机上,只能跑出300QPS。在这样的历史背景下Node刚好能够比较好的解决上面的问题。其实早在2014年,天猫的首页就开始试点Node方案,并完美的度过了当年的双11,性能和稳定性完全满足业务的需要。同时目前前端的各种工程化方案大多基于Node平台。所以在这样的特定的历史条件下,天猫选择使用Node重构原有的PHP系统。
php和node没有谁好谁坏,php依旧是世界上最好的语言;天猫选择了Node来重构新的前端渲染系统只是各种因素的综合考量的结果,不能说最好,但肯定是最合适的。技术方案只有能够快速有效的解决业务问题,为公司创造价值,才能够活下去。
作为一个前阿里PHP工程师,我来回答一下。- 阿里是Java的技术文化,绝大部分业务部门后台系统是Java实现的。PHP在天猫也只是做一些前端展现层的工作,俗称套页面。呵呵,毕竟这方面PHP比Java好用太多。这个团队比起Java来说规模非常小,在早期业务复杂多变的时期,这些PHP工程师们立下了汗马功劳。多少脏活累活都干了。
- 更准确的说PHP做的是后端中的前端,浏览器前端当然还是JavaScript的天下。本来关系紧密的工作还分成2个团队,增加了大量沟通的成本。
- 套页面嘛本来也不是什么有技术含量的工作,被node.js抢了去也是好事情。这样前端的团队多了一块蛋糕,浏览器前端与HTML展现层(套页面)的工作一个团队负责,少了很多沟通的成本。而退下来PHP工程师直接转去做空间更大的Java后台开发,双赢的局面。
利益相关,为双十一贡献过的码农 能做出这个决定,说明他们的运维水平很高,而工程师在整个项目实施的过程影响力很强。
在次一些的公司里,通常运维一听你要用什么什么技术,两手一摊,系统不敢升到新的啊,xx组件要用旧的啊,不会写监控啊,意思就是运维只管硬件呗?nnd。 事实证明没有最好的语言,只有最适合的语言。 只是把渲染層從PHP換成Node.js,配套內部的斑馬係統,可以快速的將模塊搭建成頁面。至於負載高QPS、設備探測,則由CDN來負責。
大部分的情況下,前端渲染層面更多落在渲染輸出而不是計算,因此使用Node.js更加符合天貓的業務場景。 作为一个入行php1年的phper,发表下看法。当我看到这个消息的时候,我开始有了点担心,担心未来的就业会不会很糟糕,其实感觉今年php的就业形势不如去年,但是看了上面的评论,我还是先把php给学好,然后再学其他语言,就算php就业形势一直很好,一个打算长久干程序的码农,也不可能一辈子只搞一种语言。所以关于这个事情,我觉得没必要太在意天猫的行为,他只是做了适合他的事情而已。加油,小码农! 阿里抛弃PHP多年了好不 至于转投Node 纯属误导观众 Node只是渲染层 后台还是Java并且长期是Java统治 天猫不是JAVA为主么? 前台语言应该也应该不止PHP一种才对 哪来的小道消息... 还是那句老话,三观不同,早晚分手。
PHP是世界上最美的语言。而阿里的网站那么丑。

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP bleibt ein leistungsstarkes und weit verbreitetes Tool in der modernen Programmierung, insbesondere im Bereich der Webentwicklung. 1) PHP ist einfach zu bedienen und nahtlos in Datenbanken integriert und für viele Entwickler die erste Wahl. 2) Es unterstützt die Erzeugung der dynamischen Inhalte und die objektorientierte Programmierung, die für die schnelle Erstellung und Wartung von Websites geeignet sind. 3) Die Leistung von PHP kann verbessert werden, indem Datenbankabfragen zwischengespeichert und optimiert werden, und die umfangreiche Community und sein reiches Ökosystem machen es im heutigen Technologiestack immer noch wichtig.

In PHP werden schwache Referenzen in der WeaPreference -Klasse implementiert und verhindern nicht, dass der Müllsammler Objekte zurückerobern. Schwache Referenzen eignen sich für Szenarien wie Caching -Systeme und Event -Hörer. Es ist zu beachten, dass es das Überleben von Objekten nicht garantieren kann und dass die Müllsammlung möglicherweise verzögert wird.

Mit der \ _ \ _ -Invoke -Methode können Objekte wie Funktionen bezeichnet werden. 1. Definieren Sie die Methode \ _ \ _, damit das Objekt aufgerufen werden kann. 2. Bei Verwendung der Syntax $ OBJ (...) wird PHP die Methode \ _ \ _ aufrufen. 3.. Geeignet für Szenarien wie Protokollierung und Taschenrechner, Verbesserung der Codeflexibilität und Lesbarkeit.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Dreamweaver Mac
Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.