Eines der bekanntesten Mottos im Internet ist Javas einmal schreiben und überall rennen
. Aber gilt dieses Motto nur für Java? Können wir es verwenden, um JavaScript auch zu beschreiben? Die Antwort lautet Ja.
In diesem Artikel werde ich Sie in das Konzept von isomorphen JavaScript -Anwendungen vorstellen, die beschreibt, was sie sind, und auf Ressourcen zu zeigen, die Ihnen helfen, diese Art von Anwendung zu entwickeln.
Vor vielen Jahren war das Web eine Reihe statischer Seiten mit HTML und CSS ohne viel Interaktivität. Jede Benutzeraktion verlangte, dass der Server eine vollständige Seite erstellt und bereitstellt. Dank JavaScript begannen Entwickler, nette Effekte zu erzielen, aber mit dem Aufkommen von Ajax begann eine Revolution. Webentwickler begannen mit dem Schreiben von Code, der mit dem Server kommunizieren konnte, um Daten zu senden und zu empfangen, ohne die Seite neu zu laden.
Wie in den Jahren haben die Verantwortlichkeiten des clientseitigen Code viel gewachsen, was zu einer neuen Art von Anwendung geführt hat, die als einseitige Anwendung (SPA) bekannt ist. In einem Spa werden alle erforderlichen Vermögenswerte mit einer einzelnen Seite geladen oder dynamisch geladen und nach Bedarf zur Seite hinzugefügt. Einige Beispiele für Spas sind Google Mail und der Stackedit -Editor.
Spas ermöglichen eine bessere Interaktivität, da fast alle ihre Vorgänge auf dem Client ausgeführt werden, wodurch die Kommunikation mit dem Server auf ein Minimum hält. Leider haben sie auch einige größere Probleme. Lassen Sie uns einige von ihnen diskutieren.
Da Spas mehr clientseitiger Code als statische Seiten erfordern, wird die zum Download zu erhöhte Datenmenge erhöht. Dies führt zu langsameren anfänglichen Ladezeiten, die drastische Konsequenzen haben können - wie frustrierte Endbenutzer und Einnahmenverlust. Nach einem Microsoft -Artikel -
Eine Bing -Studie ergab, dass eine Zunahme der Ladezeit von 10 ms den Umsatz von 250.000 USD jährlich kostet.
Da einzelne Anwendungen auf JavaScript-Ausführung angewiesen sind, erzeugen Server nicht alle HTML-Inhalte, die sie früher verwendet haben. Daher haben Webcrawler viele Schwierigkeiten, Seiten zu indizieren. Diese Crawler sind Programme, die Anfragen an einen Webserver stellen und das Ergebnis als RAW -Text analysieren, ohne den Inhalt wie ein typischer Browser zu interpretieren und auszuführen. Vor kurzem hat Google seinen Web-Crawler so verbessert, dass es mit auf JavaScript-basierten Seiten funktionieren kann, aber was ist mit Bing, Yahoo und allen anderen Suchmaschinen? Eine gute Indexierung ist für jedes Unternehmen von entscheidender Bedeutung, da sie normalerweise zu mehr Besuchen und höheren Einnahmen führt.
isomorphe JavaScript -Anwendungen sind Anwendungen, die in JavaScript geschrieben wurden, die sowohl auf dem Client als auch auf dem Server ausgeführt werden können. Aus diesem Grund können Sie den Code einmal schreiben und ihn dann auf dem Server ausführen, um statische Seiten und auf den Client zu rendern, um schnelle Interaktionen zu ermöglichen. Dieser Ansatz nimmt also das Beste der beiden Welten und ermöglicht es, die beiden zuvor beschriebenen Probleme zu vermeiden.
Heute gibt es mehrere Frameworks, die Sie bei der Entwicklung dieser Art von Anwendung unterstützen. Einer von ihnen-möglicherweise der bekannteste-ist Meteor. Meteor ist ein Open-Source-JavaScript-Framework, das über Node.js geschrieben wurde und sich auf Echtzeit-Webanwendungen konzentriert. Ein weiteres Projekt, das ich erwähnen möchte, ist Rendr. Es handelt sich um eine kleine Bibliothek, die von Airbnb entwickelt wurde, mit der Sie Backbone.js -Anwendungen sowohl auf dem Client als auch auf dem Server ausführen können.
mehr Unternehmen nehmen Node.js für ihre Produkte ein. Das Teilen von Code zwischen Client und Server wird zu einer häufigeren und natürlicheren Wahl und meiner Meinung nach ist die Zukunft der Webentwicklung. Dieser Trend wird verbessert, indem Vorlagen über Bibliotheken wie React geteilt werden.
In diesem Artikel habe ich Sie in das Konzept der isomorphen JavaScript-Anwendungen eingeführt, einen neuen Ansatz für die Entwicklung von Anwendungen, die das Beste aus serverseitig und clientseitigem Programmieren kombiniert. Wir haben auch diskutiert, welche Probleme dieser Ansatz zu lösen versucht, und einige Projekte, die Sie heute anwenden können, um diese Philosophie anzunehmen.
Hatten Sie bereits von isomorphen JavaScript -Anwendungen gehört? Hast du einen entwickelt? Was war Ihre Erfahrung?
Das obige ist der detaillierte Inhalt vonIsomorphe JavaScript -Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!