Heim Web-Frontend HTML-Tutorial Fragen zur Erfahrung mit Single-Page-Anwendungen

Fragen zur Erfahrung mit Single-Page-Anwendungen

Oct 02, 2017 pm 07:42 PM
体验 Gebraucht 问题

---Inhalt wiederherstellen beginnt---

##Was ist eine Single-Page-Anwendung?
Die sogenannte Single-Page-Anwendung bezieht sich auf die Integration mehrerer Funktionen auf einer Seite. Auch wenn das gesamte System nur eine Seite (ein HTML) hat Geschäftsfunktionen sind ihre Submodule, die auf bestimmte Weise mit der Hauptschnittstelle verbunden sind.

##Warum gibt es Single-Page-Anwendungen?
Wir wissen, dass die Ajax-Technologie teilweise entwickelt wurde, um Benutzern die Anzeige von Datenänderungen auf der Seite zu ermöglichen, ohne die Seite zu aktualisieren. Wir können sagen, dass Ajax das Erlebnis verbessert.

Mit der Entwicklung des Internets sind die vom Browser bereitgestellten Dienste immer komplexer geworden. Das Web-Frontend ist keine einfache Seite mehr, ein Gadget, das teilweise über Ajax geswipt werden kann. Anwendungen mit Dutzenden von Unterseiten sind überall auf dem Markt zu finden. Diese Unterseiten teilen sich viele gemeinsame Ressourcen (statisch und dynamisch), und das Laden dieser Ressourcen nimmt viel Zeit in Anspruch. Wenn Sie das wiederholte Laden dieser Ressourcen vermeiden möchten, gibt es eine offensichtliche Möglichkeit: Fügen Sie sie in einen HTML-Code ein.

Es handelt sich also um eine weitere Sublimation der Ajax-Technologie, die den aktualisierungsfreien Mechanismus von Ajax auf die Spitze treibt, sodass ein reibungsloses Benutzererlebnis geschaffen werden kann, das mit Desktop-Programmen vergleichbar ist.

##Probleme, die durch Einzelseitenanwendungen verursacht werden
Wir wissen, dass das Einfügen von einem Dutzend oder zwanzig Unterseitenprogrammen in einen HTML-Code nicht durch Ausschneiden und Einfügen gelöst werden kann. Das Ergebnis der Zusammenstellung der ursprünglich nicht zusammenhängenden Programme ist die Masse-Energie-Gleichung der Programmwelt. Fehler = (Mehr Code)^2

##Die Erfahrung von Single-Page-Anwendungen
Zurück zum Thema Wie kann die Einzelseitenanwendung so weit wie möglich verbessert werden? Wie ist die Betriebserfahrung der Seitenanwendung?

Werfen wir zunächst einen Blick darauf, was sich auf die Benutzererfahrung auswirkt, einschließlich

1. Die anfängliche Ladegeschwindigkeit der Seite
Die Reaktion auf die Interaktion
3 von Seitendaten (insbesondere unter anormalen Netzwerkbedingungen)

--
Die ersten beiden Punkte werden tatsächlich in vielen Artikeln diskutiert. Hier werde ich mein Bestes geben, sie kurz zu erwähnen und mich auf den dritten Punkt zu konzentrieren.

####Anfängliche Seitenladegeschwindigkeit
-On-Demand-Laden statischer Ressourcen (unter der Voraussetzung einer guten Modularisierung Modul-Bundler-Tools wie Webpack und SystemJS verwenden)
-On-Demand Laden dynamischer Ressourcen Muss abgerufen werden (erfordert eine gute Architektur der Front-End-Datenschicht)
- Serverseitiges Rendering (während des Seitenladevorgangs „erfasst“ das Front-End Daten und „generiert“ die Seite, vervollständigt es auf der Serverseite. Gilt nicht für den ersten Bildschirm. (Übermäßig komplexe Anwendungen)

####Interaktive Antwort
- Geschwindigkeit: Von Back-End-Anfrage, Front-End-Cache und Folge zurückgegebene Daten Synchronisation. Vermeiden Sie wiederholte Anfragen nach denselben Daten.
- Ausnahmebehandlung: Heutzutage ist mobiles Büro beliebt und bietet Benutzern eine gute Wartezeit oder eine Meldung auf der Benutzeroberfläche, wenn der Netzwerkzustand nicht gut ist.

####
Darüber möchte ich sprechen. Wir sind in der Praxis auf viele Probleme gestoßen und haben einige Lösungen ausprobiert.

Ich persönlich denke, wenn Sie dies gut machen möchten, sind nur diese Worte erforderlich: **„Gute Cache-Verwaltung“**, der Cache bezieht sich hier auf das Front-End-Cache-Modell.

Schauen Sie sich nicht nur diese wenigen Worte an, es ist ziemlich schwierig. Warum?

#### Lassen Sie uns zunächst über die Speicherquellen sprechen. Es gibt die folgenden Typen:

- Browser-Cache (indexDB, localStorage und dergleichen)
- HTTP-Anfrage
- webSocket push

Unterschiedliche Quellen wirken sich auf dieselben Daten aus, was eine gute Abstraktion erfordert, damit die Geschäftsschicht die Wahrnehmung von Datenquellen abschirmen kann, um dieses Problem zu lösen, darunter RxJs, CycleJS usw. Und es gab auch einige frühere Leute, die aus diesem Grund das Konzept von MVI entwickelten.

####Lassen Sie uns über Gedächtnisveränderungen sprechen

Es besteht keine Notwendigkeit, auf Änderungen im Normalzustand einzugehen. Hier sprechen wir nur über einige Arten von abnormalen Zuständen.

#####http-Anfrage fehlgeschlagen

Hier muss ein Wort namens **"Operationskompensation"** erwähnt werden

Was ist eine Operationskompensation?

Wenn wir die Schnittstelle bearbeiten und eine Aufgabe erstellen, sollte die neue Aufgabe logischerweise nicht sofort angezeigt werden, sondern warten, bis der Server den Erfolg bestätigt, bevor sie zur Schnittstelle hinzugefügt wird. Es ist jedoch sehr wahrscheinlich, dass unser Netzwerk nicht gut ist und die Benutzer lange auf diesen Schritt warten müssen. Aus Sicht der Benutzererfahrung ist das nicht gut, also können wir zuerst die Schnittstelle einrichten und dann einige eindeutige Identifikatoren und andere Dinge in die Speicherdaten einfüllen, nachdem die Meldung über die erfolgreiche Erstellung zurückkommt.

Einzelschritt-Vorgangskompensation ist nicht allzu schwierig. Wenn es mehrere Schritte gibt, wird es im Extremfall sehr problematisch sein, wenn der Benutzer eine neue Aufgabe hinzufügt und der Server sie nicht zurückgibt. , erstellt er sofort eine Unteraufgabe unter dieser Aufgabe, aber die Unteraufgabe hat zu diesem Zeitpunkt nicht die ID der übergeordneten Aufgabe. Wenn Sie diesen Schritt kompensieren möchten, ist dies problematischer. Es wird sogar gesagt, dass nach mehreren aufeinanderfolgenden Vorgängen festgestellt wird, dass der vorherige Vorgang fehlgeschlagen ist und die nachfolgende Verarbeitung sehr kompliziert sein wird.

Dieses Problem tritt auch bei unseren Produkten auf. Unser Ansatz ist – **„Kompromiss“**, für wichtige Daten eine einstufige oder zweistufige Kompensation vorzunehmen. Wenn die Abhängigkeitsbeziehung des Front-End-Modells komplex ist und der Schreibvorgang des übergeordneten Modells fehlschlägt oder zu viele Kompensationsschritte vorhanden sind, wird der Benutzer im Voraus benachrichtigt und der Interaktionseingang des Benutzers wird auf der Benutzeroberfläche gesperrt Vermeiden Sie nachfolgende Schreibvorgänge.

Wenn Sie dies hier fortsetzen, können Sie es weiterhin tun. Die Idee ist ähnlich wie bei der Offline-Anwendung. Warten Sie, bis das Netzwerk normal ist, und synchronisieren Sie dann die Daten .


#####Trennung und erneute Verbindung

Netzwerkschwankungen, Netzwerkwechsel, Ruhezustand und Neustart des Computers usw. führen dazu, dass wir mit komplexeren Netzwerkbedingungen konfrontiert werden Wenn der Benutzer erneut eine Verbindung zum Internet herstellt, muss die Anwendung erneut eine Verbindung herstellen.

Zu diesem Zeitpunkt synchronisiert eine ideale Single-Page-Anwendung beim erneuten Verbinden die Endergebnisse aller vorherigen Ereignisse, also den neuesten Status.

Unsere Anwendung ist ein kollaboratives Unternehmen. Benutzer im selben Unternehmen nutzen dasselbe Modell und synchronisieren es über webSocket, um die Unmittelbarkeit und Korrektheit des Modells sicherzustellen. Das ist also auch für uns eine große Herausforderung. Unsere Lösung besteht darin, webSocket erneut zu senden.

#####Hot Update

Wie bereits erwähnt, kann es sein, dass Benutzer unsere Anwendung längere Zeit geöffnet lassen und sie dann mittendrin nicht aktualisieren. Unter normalen Umständen sollten alle geschäftlichen Änderungen übernommen werden und der von der Schnittstelle zurückgemeldete Status ist immer der neueste und entspricht der aktuellen Situation. Aber wir müssen uns noch mit einem anderen Thema befassen: Was ist mit System-Upgrades?

Natürlich können wir eine Benachrichtigung senden: Dieses System wurde aktualisiert, bitte klicken Sie auf „Aktualisieren“. Aber kann man es besser machen? Um dieses Ziel zu erreichen, müssen wir Hot-Updates verwenden, um die ultimative Modularisierung und Änderungsverwaltung des Codes zu erreichen. Jedes aktualisierte Codemodul wird auch als Patch auf das aktuelle System übertragen. Dieser Mechanismus erfordert hohe Standards des Entwicklungsteams.

#####Endlich
Ich habe einmal ein Sprichwort gehört: Wie beurteilt man das technische Niveau eines einseitigen Produkts?
Öffnen Sie die Seite mehrere Tage lang, ohne sie zu schließen. Die Anwendung kann weiterhin normal, korrekt und reibungslos verwendet werden.

Ich glaube, dass Studierende, die einseitige Bewerbungen erstellt haben, die Bedeutung davon verstehen werden.

##Zusammenfassung

Ich habe viel gesagt, fassen wir es zusammen. Wir haben einige Probleme und Möglichkeiten zur Verbesserung des Single-Page-Anwendungserlebnisses erwähnt. Wenn sie implementiert werden, werden die Benutzer auf jeden Fall sehr zufrieden sein, aber die Kluft zwischen Ideal und Realität muss ruhig abgewogen werden. Was wir tun, ist Software-Engineering, daher müssen wir die Ästhetik angemessen aufgeben und unsere begrenzte menschliche Energie in die entscheidenden Punkte investieren.

---Ende des Wiederherstellungsinhalts---

Das obige ist der detaillierte Inhalt vonFragen zur Erfahrung mit Single-Page-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welchen Computer sollten Absolventen der Geoinformatik wählen? Welchen Computer sollten Absolventen der Geoinformatik wählen? Jan 13, 2024 am 08:00 AM

Empfohlene Computer für Studierende mit Schwerpunkt Geoinformationswissenschaft 1. Empfehlung 2. Studierende mit Schwerpunkt Geoinformationswissenschaft müssen große Mengen geografischer Daten verarbeiten und komplexe Geoinformationsanalysen durchführen und benötigen daher einen Computer mit hoher Leistung. Ein Computer mit hoher Konfiguration kann eine schnellere Verarbeitungsgeschwindigkeit und mehr Speicherplatz bieten und professionelle Anforderungen besser erfüllen. 3. Es wird empfohlen, einen Computer zu wählen, der mit einem Hochleistungsprozessor und einem Speicher mit großer Kapazität ausgestattet ist, der die Effizienz der Datenverarbeitung und -analyse verbessern kann. Darüber hinaus können geografische Daten und Ergebnisse besser angezeigt werden, wenn Sie sich für einen Computer mit größerem Speicherplatz und einem hochauflösenden Display entscheiden. Da Studierende im Hauptfach Geoinformatik möglicherweise Software für geografische Informationssysteme (GIS) entwickeln und programmieren müssen, sollten Sie sich außerdem für einen Computer mit besserer Grafikverarbeitungsunterstützung entscheiden.

Probleme bei der Bewertung des Clustering-Effekts in Clustering-Algorithmen Probleme bei der Bewertung des Clustering-Effekts in Clustering-Algorithmen Oct 10, 2023 pm 01:12 PM

Das Problem der Clustering-Effektbewertung im Clustering-Algorithmus erfordert spezifische Codebeispiele. Clustering ist eine unbeaufsichtigte Lernmethode, die ähnliche Stichproben durch Clustering von Daten in eine Kategorie gruppiert. Bei Clustering-Algorithmen ist die Bewertung des Clustering-Effekts ein wichtiges Thema. In diesem Artikel werden mehrere häufig verwendete Indikatoren zur Bewertung des Clustering-Effekts vorgestellt und entsprechende Codebeispiele gegeben. 1. Clustering-Effekt-Bewertungsindex Silhouette-Koeffizient Der Silhouette-Koeffizient bewertet den Clustering-Effekt, indem er die Nähe der Stichprobe und den Grad der Trennung von anderen Clustern berechnet.

Empfohlene Java-Dekompilierungstools: die fünf beliebtesten Tools, die das ultimative Erlebnis bieten Empfohlene Java-Dekompilierungstools: die fünf beliebtesten Tools, die das ultimative Erlebnis bieten Dec 26, 2023 am 09:00 AM

Ultimative Dekompilierungserfahrung: Empfehlen Sie die fünf beliebtesten Java-Dekompilierungstools. Einführung: Mit der Entwicklung der Technologie werden Softwaresicherheit und Schutz des geistigen Eigentums immer wichtiger, und Dekompilierungstechnologie ist ein wichtiges Mittel. In diesem Artikel werden fünf der beliebtesten Java-Dekompilierungstools vorgestellt, damit Sie das ultimative Dekompilierungserlebnis erleben können. 1. JD-GUI JD-GUI ist ein Open-Source-Java-Dekompilierungstool, das sich durch einfache Bedienung und benutzerfreundliche Oberfläche auszeichnet. Über JD-GUI können Sie Java-Klassendateien umkehren

Erfahren Sie, wie Sie häufige iPhone-Probleme diagnostizieren Erfahren Sie, wie Sie häufige iPhone-Probleme diagnostizieren Dec 03, 2023 am 08:15 AM

Das iPhone ist für seine leistungsstarke Leistung und seine vielseitigen Funktionen bekannt und ist nicht immun gegen gelegentliche Probleme oder technische Schwierigkeiten, ein häufiges Merkmal komplexer elektronischer Geräte. iPhone-Probleme können frustrierend sein, aber normalerweise ist kein Alarm erforderlich. In diesem umfassenden Leitfaden möchten wir einige der am häufigsten auftretenden Herausforderungen im Zusammenhang mit der iPhone-Nutzung entmystifizieren. Unser Schritt-für-Schritt-Ansatz soll Ihnen bei der Lösung dieser häufigen Probleme helfen und praktische Lösungen und Tipps zur Fehlerbehebung bieten, damit Ihre Geräte wieder einwandfrei funktionieren. Unabhängig davon, ob Sie mit einer Störung oder einem komplexeren Problem konfrontiert sind, kann Ihnen dieser Artikel dabei helfen, diese effektiv zu beheben. Allgemeine Tipps zur Fehlerbehebung Bevor wir uns mit den spezifischen Schritten zur Fehlerbehebung befassen, finden Sie hier einige hilfreiche Tipps

So lösen Sie das Problem, dass jQuery den Formularelementwert nicht abrufen kann So lösen Sie das Problem, dass jQuery den Formularelementwert nicht abrufen kann Feb 19, 2024 pm 02:01 PM

Um das Problem zu lösen, dass jQuery.val() nicht verwendet werden kann, sind spezifische Codebeispiele erforderlich. Für Front-End-Entwickler ist die Verwendung von jQuery eine der häufigsten Operationen. Unter diesen ist die Verwendung der .val()-Methode zum Abrufen oder Festlegen des Werts eines Formularelements eine sehr häufige Operation. In bestimmten Fällen kann jedoch das Problem auftreten, dass die Methode .val() nicht verwendet werden kann. In diesem Artikel werden einige gängige Situationen und Lösungen vorgestellt und spezifische Codebeispiele bereitgestellt. Problembeschreibung: Wenn Sie jQuery zum Entwickeln von Front-End-Seiten verwenden, treten manchmal Probleme auf

Problem beim Erwerb von Etiketten beim schwach überwachten Lernen Problem beim Erwerb von Etiketten beim schwach überwachten Lernen Oct 08, 2023 am 09:18 AM

Das Problem der Etikettenerfassung beim schwach überwachten Lernen erfordert spezifische Codebeispiele. Einführung: Schwach überwachtes Lernen ist eine Methode des maschinellen Lernens, die schwache Etiketten für das Training verwendet. Im Gegensatz zum herkömmlichen überwachten Lernen müssen beim schwach überwachten Lernen nur weniger Beschriftungen zum Trainieren des Modells verwendet werden, und nicht jede Probe muss über eine genaue Beschriftung verfügen. Beim schwach überwachten Lernen ist jedoch die Frage, wie aus schwachen Labels nützliche Informationen genau gewonnen werden können, ein zentrales Thema. In diesem Artikel wird das Problem der Etikettenerfassung beim schwach überwachten Lernen vorgestellt und spezifische Codebeispiele gegeben. Einführung in das Label-Akquisitionsproblem beim schwach überwachten Lernen:

Das Problem der Generalisierungsfähigkeit maschineller Lernmodelle Das Problem der Generalisierungsfähigkeit maschineller Lernmodelle Oct 08, 2023 am 10:46 AM

Die Generalisierungsfähigkeit von Modellen für maschinelles Lernen erfordert spezifische Codebeispiele. Da die Entwicklung und Anwendung von maschinellem Lernen immer weiter verbreitet wird, wird der Generalisierungsfähigkeit von Modellen für maschinelles Lernen immer mehr Aufmerksamkeit geschenkt. Die Generalisierungsfähigkeit bezieht sich auf die Vorhersagefähigkeit eines maschinellen Lernmodells anhand unbeschrifteter Daten und kann auch als Anpassungsfähigkeit des Modells in der realen Welt verstanden werden. Ein gutes Modell für maschinelles Lernen sollte über eine hohe Generalisierungsfähigkeit verfügen und in der Lage sein, genaue Vorhersagen für neue Daten zu treffen. In praktischen Anwendungen stoßen wir jedoch häufig auf Modelle, die im Trainingssatz gut funktionieren, im Testsatz oder in der Realität jedoch versagen

So lösen Sie das Problem, dass das Startmenü nach der Win11-Installation nicht verwendet werden kann So lösen Sie das Problem, dass das Startmenü nach der Win11-Installation nicht verwendet werden kann Jan 06, 2024 pm 05:14 PM

Viele Benutzer haben versucht, das Win11-System zu aktualisieren, haben jedoch festgestellt, dass das Startmenü nach dem Update nicht verwendet werden kann. Dies kann daran liegen, dass ein Problem mit dem neuesten Update vorliegt. Wir können warten, bis Microsoft diese Updates repariert oder deinstalliert Problem. Schauen wir es uns gemeinsam an. Was tun, wenn das Startmenü nach der Installation von Win11 nicht verwendet werden kann? Methode 1: 1. Öffnen Sie zunächst die Systemsteuerung in Win11. 2. Klicken Sie dann unterhalb des Programms auf die Schaltfläche „Programm deinstallieren“. 3. Rufen Sie die Deinstallationsoberfläche auf und suchen Sie in der oberen linken Ecke nach „Installierte Updates anzeigen“. 4. Nach der Eingabe können Sie die Update-Zeit in den Update-Informationen anzeigen und alle aktuellen Updates deinstallieren. Methode 2: 1. Darüber hinaus können wir das Win11-System auch direkt ohne Updates herunterladen. 2. Dies ist ein Produkt ohne das meiste

See all articles