Zunächst die Leistung. Bei der Verwendung fühlt es sich an, als wäre die Leistung von Node.js nicht so gut wie erwartet. Die Speicherverwendung ist ungefähr das gleiche Niveau wie Ruby und mehr als Python und PHP. In Bezug auf die Rechenleistung (d. H. CPU -Verwendung) hat reines Computing keinen großen Vorteil, aber da es den asynchronen Prozess gut steuern kann, ist die Gesamtleistung viel besser als PHP. Ich persönlich denke, Node.js hat ein großes Potenzial in der Leistung, da es viele große Projekte gibt, die sich für die Verbesserung der Leistung von virtuellen JavaScript -Maschinen einsetzen, wie z. B. große Browser. Gleichzeitig ist JavaScript eine Sprache mit einfacher Syntax und einem offenen Standard. Im Gegensatz zu Python und PHP ist es schwierig, groß angelegte Rekonstruktionen durchzuführen, um die Leistung aufgrund von Kompatibilitätsüberlegungen zu verbessern.
Dann gibt es den Paketmanager und die Bibliothek. Node.js hat integriert npm, da NPM ein sehr benutzerfreundlicher Paketmanager ist, da JavaScript einen niedrigen Schreibschwellenwert hat und JavaScript viele hervorragende Front-End-Bibliotheken hat, die auf das Back-End portiert wurden, so dass es jetzt mehr Pakete auf NPM als PYPI und Rubygems gibt und dann Pear und Composer weit überschreiten. Der Unterschied von PHP in der Entwicklung von Node.js besteht darin, dass jeder keine Angst hat, Abhängigkeiten hinzuzufügen. Jede kleine Anforderung gilt für NPM, um vorhandene Bibliotheken zu finden, um sie zu implementieren - und es kann häufig gefunden werden. Daher geht es bei der Entwicklung von Node.js im Grunde genommen darum, Abhängigkeiten zu kombinieren, und neigt dazu, eine Bibliothek zu schreiben, auch wenn sie klein ist, was der Idee von Unix ähnlicher ist. Andererseits ist die Node.js -Community sehr open Source -freundlich. Die Freundlichkeit hier bedeutet, dass die meisten Bibliotheken offen auf Github entwickelt und sehr lose Protokolle wie MIT verwenden, was nicht so "aggressiv" ist wie GPL.
In der Community sind die meisten Anwendungen von Node.js noch im Web -Backend, und die mit dem Web -Backend bezogenen Bibliotheken werden im Grunde genommen durch einige große Schüsse gemacht. Zum Beispiel wurden Express, JSHTTP, Jade, Mokka und KOA von vier oder fünf Personen entwickelt, die von TJ Masters angeführt wurden, was ein interessantes Phänomen ist. - Obwohl TJ Gott schließlich beschloss, aus der Gemeinschaft der Knoten.js zu verblassen.
Toolchain, Node.js ist relativ jung, und es sind in den letzten zwei Jahren viele nützliche Tools aufgetreten, wie z. Ich wage nicht zu sagen, wie gut es ist, aber es ist viel besser als PHP. Erstens ist dies vor allem daran, dass diese Bibliotheken sowohl Front-End als auch Back-End sind, da die harten Anforderungen des Web-Front-Ends, die Node.js übrigens zugute kommen, zugute kommen. Aufgrund der flexiblen und einfachen Syntax von JavaScript können diese Tools auf sehr clevere und elegante Weise implementiert werden. Die IDE profitiert immer noch vom Web -Front -End, und es gibt immer noch einige IDEs - obwohl die JavaScript -Sprache selbst der statischen Analyse nicht sehr förderlich ist.
Syntax, ich möchte die einfache und flexible Syntax von JavaScript hervorheben. Der wichtige Punkt ist, dass JSON, JSON, derzeit fast das häufigste Datenformat im Webfeld ist, und JavaScript unterstützt native Unterstützung für JSON! Alle Datenstrukturen in JavaScript werden um ein Superset von JSON, Objekt, einschließlich Arrays, Funktionen, Objekten und Klassen erweitert. Dies bringt natürlich auch Ärger, da es nur wenige Einschränkungen beim Schreiben gibt, was dazu führt, dass nicht weiß, wie man schreibt. Wenn Sie zum ersten Mal mit dem Lernen beginnen, werden Sie es unweigerlich neu aufstellen, um die Vor- und Nachteile verschiedener Entwurfsmuster in verschiedenen Situationen zu verstehen und einen Weg zu finden, ihnen zu schreiben, der zu Ihnen passt und für bestimmte Projekte geeignet ist. Daher kann gesagt werden, dass Node.js leicht zu beginnen ist, aber es ist immer noch ein Test für die Fähigkeiten von Entwicklern. Aufgrund historischer Themen ist die Syntax von JavaScript nicht schön, aber zum Glück haben wir verschiedene vorkompilierte Dialekte wie Kaffeekript, Typuskript, Dart, Livescript und Clojurescript. Es gibt immer einen, der zu Ihnen passt.
Verwenden Sie Szenarien, JavaScript ist eine allgemeine Programmiersprache, sodass Sie die Vorder- und Rückseite des Webs nicht erwähnen müssen. Schauen wir uns andere Aspekte an. Ich persönlich denke, Node.js ist immer noch sehr geeignet, um Server -Tools oder Betriebs- und Wartungstools zu schreiben, da viele Situationen in Betrieb und Wartung asynchron funktionieren können, und JavaScript hat relativ gute regelmäßige Unterstützung. Daher ist es kein großes Problem, Bash und Python zu ersetzen. Node.js muss nur den Dolmetscher installieren und können beiläufig verwendet werden, ohne Angst zu haben, die Einführung von Abhängigkeiten zu vermeiden. Für Desktop- und Mobilgeräteprogrammierung verfügt Node.js über Node-Webkit und verschiedene andere Shells. Obwohl die derzeitige Nutzungserfahrung nicht sehr gut ist, kann sie die Entwicklungskosten und leicht plattformübergreifend erheblich senken. Es wird angenommen, dass die Zukunft auch hell ist.
Lassen Sie uns schließlich über das Erlernen von Node.js. Meiner Meinung nach hat Learning Node.js zwei Punkte. Einer besteht darin, den „asynchronen IO basierend auf Ereignisrückrufen“ von Node.js. Dies ist der unterschiedlichste Punkt zwischen Node.js und anderen Mainstream -Programmiersprachen. Dann ist der zweite Schritt, einen Blick auf die 100 Top 100 Bibliotheken auf NPM zu werfen. Es ist nicht nötig, genau zu schauen. Seien Sie einfach damit vertraut und wissen Sie, was jede Bibliothek tut. Nach Abschluss dieser beiden Schritte, herzlichen Glückwunsch, sind Sie bereits ein Node.js -Entwickler.