Pushpin: Browser-Unterstützung

Erstellt am 6. Nov. 2019  ·  9Kommentare  ·  Quelle: automerge/pushpin

Ich bin mir der Skepsis von @pvh gegenüber der Browserunterstützung bewusst, aber ich denke immer noch, dass die Trennung von Backend / Frontent-Bedenken ein guter Schritt sein könnte. Was ich konkret meine, ist, dass es wirklich schön wäre, wenn ich die Pushpin-Benutzeroberfläche in meinem Browser als Registerkarte laden könnte. Auf diese Weise könnte es mit dem Backend auf meinem Computer oder mit dem in meinem Schrank kommunizieren.

Ich hätte es noch besser, wenn es funktioniert (begrenzte Kapazität), auch wenn das Backend außerhalb der Reichweite ist. Ab Elektron würde dies nur bedeuten, dass das Frontend zufällig im Renderer-Prozess geladen wird, während das Backend im Hintergrundprozess geladen wird.

Ist das zu verrückt? oder zu viel arbeit? Oder gibt es vielleicht bestimmte Einschränkungen, die schwer bis unmöglich zu überwinden sind?

Ich möchte diese Idee nur umgangen werden, vor allem, weil ich die Vorlaufkosten für die Installation einer Elektron-App im Vergleich zum Ausprobieren im Browser und der bequemen Installation der App zu hoch finde.

Hilfreichster Kommentar

Ja, ich würde gerne den "Hintergrund"-Mitarbeiter in einen Service-Mitarbeiter verwandeln und Pushpin als PWA arbeiten lassen. Das ist der Traum!

Alle 9 Kommentare

Oh, ich bin ganz für Browser-Support! Ich denke, wir könnten das Front-End im Browser und das Back-End in einem Node-Prozess ausführen.

Das heißt, das Front-End ist nur ein Render-Thread. Sie müssen jederzeit ein Back-End mit einem Front-End haben, um wirklich etwas Interessantes zu tun. Ich denke, wir könnten uns ein ... Mid-End vorstellen, das näher an dem ist, was Sie für Gozala suchen, und mehr Verantwortung an ein gemeinsames Back-End auslagern.

Es ist jedoch ein explizites (aber möglicherweise veränderbares) Engineering-Ziel für dieses Projekt, dass es in sich geschlossen ist. Es sind keine externen Dienste erforderlich, um seine Arbeit zu verrichten. Nichts anderes zu installieren oder zu verlassen.

Um genau zu sein, was ich an Backend denke, sind Teile, die Netzwerk- und Dateisystemfunktionen bereitstellen. Idealerweise sollte Fronted in der Lage sein, Änderungen im Frontend-Cache beizubehalten, wenn das Backend ausgefallen ist.

Gibt es einen Grund, warum lokale/offline-Änderungen nicht im Front-End beibehalten und nach Verfügbarkeit in das Back-End repliziert werden konnten? Das ist offensichtlich eine andere Komplexität als die Implementierungskomplexität.

Nun, Dinge zu beharren ist die Aufgabe des Backends. Das versuche ich zu sagen. Das Front-End ist ein einzelner Rendering-Thread, der nicht persistent ist. Dies ist eine wichtige und wesentliche Eigenschaft des Frontends. Wenn Sie eine Art Mid-End haben wollten, das Local Persisting hat und ohne das Back-End arbeiten kann, warum machen Sie es dann nicht zu einem vollständigen Peer?

Der Grund, warum das Front-End keine Persistenz durchführt, ist, dass Persistenz, CRDT-Berechnung und all das Zeug den Eingabethread blockiert.

Nun, Dinge zu beharren ist die Aufgabe des Backends. Das versuche ich zu sagen. Das Front-End ist ein einzelner Rendering-Thread, der nicht persistent ist. Dies ist eine wichtige und wesentliche Eigenschaft des Frontends. Wenn Sie eine Art Mid-End haben wollten, das Local Persisting hat und ohne das Back-End arbeiten kann, warum machen Sie es dann nicht zu einem vollständigen Peer?

Okay, ich bin bereit, die Mid-End-Terminologie zu übernehmen. Ich bin mir jedoch nicht ganz sicher, was "voller Peer" in diesem Zusammenhang bedeutet.

Der Grund, warum das Front-End keine Persistenz durchführt, ist, dass Persistenz, CRDT-Berechnung und all das Zeug den Eingabethread blockiert.

Browser haben schon seit einiger Zeit Worker-Threads. Sie sind für diese Art von Dingen gut geeignet, mit Servicemitarbeitern könnte man sogar die ganze Sache laufen lassen, während man vollständig vom Netz ist und der Back-End-Prozess außerhalb der Reichweite liegt.

Ja, ich würde gerne den "Hintergrund"-Mitarbeiter in einen Service-Mitarbeiter verwandeln und Pushpin als PWA arbeiten lassen. Das ist der Traum!

Für den Arbeiter können Sie längerfristige Persistenz im Browser mit etwas wie der eingebauten IndexDB oder ähnlichen "browser-nativen" Speicherlösungen erreichen, obwohl es einige wichtige Vorbehalte gibt. Arbeitet derzeit jemand daran?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

canadaduane picture canadaduane  ·  9Kommentare

edrex picture edrex  ·  7Kommentare

pvh picture pvh  ·  4Kommentare

Gozala picture Gozala  ·  13Kommentare

Gozala picture Gozala  ·  4Kommentare