Jetzt möchte ich anfangen, mit node.js zu lernen.
Ich hoffe meine Frage ist klar - wenn Sie über node.js und mobile reden, was meinst du? zu einer Web-Anwendung, die von node.js entwickelt wurde und die Benutzer kommen über den einfachen Web-Browser oder eine reine mobile Anwendung (zum Beispiel für Android mit Java) und die node.js nimmt an diesem Prozess irgendwie teil (wie?).
Ich habe das gefragt, weil ich gesehen habe, dass Linkedin eine mobile Anwendung entwickelt hat, die auf node.js basiert, aber ich habe nicht verstanden, wo sie die node.js integriert hat - bei der Webanwendung? Android-Anwendung? iOS-Anwendung? nicht klar für mich (meine Annahme ist die Webanwendung, aber ich bin wirklich verwirrt).
Danke.
NodeJS ist eine Server-Back-End-Komponente, die auf Netzwerkanforderungen verschiedener Art reagiert, am häufigsten jedoch auf HTTP-Anforderungen. Im Fall einer mobilen App kann es verwendet werden, um mit einer Datenbank zu interagieren und JSON-HTTP-Aufrufe zu interpretieren, Daten abzurufen und / oder einzufügen und JSON-Daten an den mobilen Client zurückzugeben.
In den meisten Fällen stellen iOS-, Android- und mobile Web-Clients eine Verbindung zu NodeJS über HTTP her, um GET
und POST
-Anfragen über eine API verschiedener Art zu senden.
Es ist auch möglich, dass NodeJS mit den verschiedenen Push-Benachrichtigungssystemen, die auf jeder Plattform verfügbar sind, oder mit etwas wie SocketIO verbunden werden kann, um echte Zeitkommunikation zwischen Client und Server.
Einen Artikel darüber, wie LinkedIn die Node.js-Technologie nutzt, finden Sie hier:
Ссылка
Der größte Grund für den Einsatz der Technologie bei LinkedIn war die Geschwindigkeit und der Verbrauch von weniger Ressourcen.
Die App ist auf der Client-Seite zwei- bis zehnmal schneller als ihre Vorgängerin, und auf der Serverseite verbraucht sie dank eines Wechsels von Ruby on Rails zu Node.js
einen Bruchteil der Ressourcen
Die neue mobile App verwendet wahrscheinlich ein wenig Browser-Sandboxing und nativen App-Code.
"Da ist dieser Kampf zwischen HTML5-Web-Apps und nativen Apps. Aber wir haben HTML5 in der nativen App eingefügt, wo sich webbasierter Content auszeichnet. Die Dinge, die in HTML5 schwer zu machen sind, sind eine Scrolling-Endlos-Liste, also haben wir uns damit vertraut gemacht. "
und
Wie unsere mobile Web-App funktioniert, wird auf der Browser-Seite gerendert.
Ein paar weitere Gründe für LinkedIn, Knoten zu wählen:
Blockquote Ein Grund war die Skalierung. Die zweite ist, wenn man Node betrachtet, ist es das Beste, wenn man mit anderen Diensten spricht.
Hoffe, dass einige davon hilft, Ihre Fragen zu beantworten.
Node.js (Node) is a scalable, event-driven I/O environment built on top of Google Chrome's JavaScript runtime—essentially, a server-side implementation of JavaScript. Google V8 actually compiles JavaScript into native machine code prior to execution, resulting in extremely fast runtime performance—something not typically associated with JavaScript. As such, Node enables you to rapidly build network apps that are lightning fast and highly concurrent.
Was es wirklich bedeutet, ist, dass Node.js keine Silver-Bullet neue Plattform ist, die die Web-Entwicklungswelt beherrschen wird. Stattdessen ist es eine Plattform, die ein bestimmtes Bedürfnis erfüllt. Das zu verstehen, ist absolut notwendig. Sie möchten definitiv Node.js nicht für CPU-intensive Operationen verwenden. in der Tat wird die Verwendung für eine starke Berechnung fast alle Vorteile zunichte machen. Wo Knoten wirklich glänzt, ist der Aufbau schneller, skalierbarer Netzwerkanwendungen, da er in der Lage ist, eine große Anzahl gleichzeitiger Verbindungen mit hohem Durchsatz zu bewältigen, was einer hohen Skalierbarkeit entspricht.
Wie es funktioniert Under-the-hood ist ziemlich interessant. Im Vergleich zu traditionellen Web-Serving-Techniken, wo jede Verbindung (Anfrage) einen neuen Thread hervorbringt, System-RAM und schließlich maxing-out bei Die Menge an verfügbarem Arbeitsspeicher, Node.js, arbeitet mit einem einzigen Thread und verwendet nicht blockierende E / A-Aufrufe, so dass es die Unterstützung von Zehntausenden von gleichzeitigen Verbindungen unterstützt.
Eine schnelle Berechnung: unter der Annahme, dass jeder Thread potenziell 2 MB Speicher dabei hat, laufen wir auf einem System mit 8 GB RAM auf theoretisch maximal 4000 gleichzeitige Verbindungen plus die Kosten für den Kontextwechsel zwischen Fäden. Dies ist das Szenario, mit dem Sie normalerweise in herkömmlichen Web-Serving-Techniken umgehen. Indem all dies vermieden wird, erreicht Node.js Skalierbarkeitsstufen von mehr als 1 Millionen gleichzeitigen Verbindungen
Lesen Sie weiter ... Ссылка
Prime-Time-Unternehmen haben sich bei ihren mobilen Lösungen auf Node.js verlassen.
LinkedIn ist ein bekannter Benutzer. Ihr gesamter mobiler Stack ist auf Node.js aufgebaut. Sie gingen von 15 Servern mit 15 Instanzen auf jeder physischen Maschine zu nur 4 Instanzen - das kann doppelt so viel Verkehr bewältigen!
eBay startete ql.io, eine Web-Abfragesprache für HTTP-APIs, die Node.js als den Laufzeitstapel verwendet. Sie konnten eine normale Ubuntu-Workstation in Entwicklerqualität auf mehr als 120.000 aktive Verbindungen pro node.js-Prozess umstellen, wobei jede Verbindung ungefähr 2kB Speicher benötigte!
Walmart überarbeitete seine mobile App, um Node zu verwenden .js und schob seine JavaScript-Verarbeitung auf den Server.
Lesen Sie mehr unter: Ссылка
Sie beziehen sich auf node.js auf dem Server-Back-End.
Beispiele wären:
Tags und Links node.js