Ich sehe, dass die APIs ziemlich umfangreich sind, aber bevor ich diesen Weg einschlage, wollte ich wissen, ob es möglich ist, eine benutzerdefinierte Flutter-App ausschließlich mit den APIs zu erstellen, die Discourse unterstützt?
Wir sind derzeit auf XenForo und würden zuerst zu Discourse migrieren und dann mit der Arbeit an der benutzerdefinierten App-Benutzererfahrung beginnen.
Gibt es sonst noch etwas, worauf wir achten sollten?
Nein, ich habe nicht vor, die Webansicht zu verwenden. Das würde den Zweck einer benutzerdefinierten Benutzererfahrung zunichtemachen.
Doppelarbeit ist gegeben und akzeptabel.
Was meinen Sie mit Inkompatibilität mit dem Theme-Komponenten- und Plugin-Ökosystem? Meinen Sie, dass Plugins die APIs nicht verfügbar machen und daher nicht in der benutzerdefinierten mobilen App verwendet werden können. Die Theme-Komponente ist spezifisch für das Frontend-Framework, daher können Ember-Komponenten verständlicherweise nicht in Flutter verwendet werden.
Ich habe diesen Thread gelesen, bevor ich das hier gepostet habe. In diesem Thread ging es um die PWA-vs.-Native-Debatte, und der ursprüngliche Poster ist nie zurückgekehrt.
Meine Frage bezieht sich sowieso nicht speziell auf Flutter, auch wenn ich es im Titel erwähnt habe.
Die eigentliche Frage ist, ob es möglich ist, ein voll funktionsfähiges benutzerdefiniertes Frontend mit den bereitgestellten umfangreichen APIs zu erstellen. Oder gibt es Lücken, die uns daran hindern würden, dies zu tun.
Ja, das ist absolut möglich, da Discourse nur eine Ember-App auf der Rails-API ist.
Ich halte das für eine schreckliche Idee, da Sie Tausende von Arbeitsstunden duplizieren würden. Nichtsdestotrotz hatte ich einen Kunden, der genau das getan hat, und er schien damit zufrieden zu sein. Ich habe seit langem nichts mehr von ihm gehört; ich weiß nicht, warum.
Das Gute an diesem Ansatz ist, dass Sie sich jederzeit entscheiden könnten, auf das Discourse-Frontend umzusteigen. Bearbeitung: Oder vielleicht Discourse nach der Migration verwenden und dann nie Ihre App gut genug bekommen, um einen Umzug dorthin zu rechtfertigen, oder den Benutzern die Wahl lassen, welches Frontend sie bevorzugen.
Danke Jay, deine Antwort ist genau das, wonach ich gesucht habe. Tatsächlich könnte ich das Discourse-Frontend für meine Power-User nutzen und eine minimalistische mobile App entwickeln, um Gelegenheitsnutzer anzusprechen, die sich engagieren möchten, ohne überfordert zu werden. Du weißt schon, die, die gerne Reddit und Facebook nutzen.
Oh Mann, ich bin nach Jahren zu Discourse zurückgekehrt und die Entwicklung hier ist erstaunlich. Sehr aufgeregt.
Meine Community hat 75.000 Mitglieder und 2,5 Millionen Beiträge, daher würde die Migration etwas Arbeit erfordern. Das ist mein erstes Ziel im Moment.
Wir haben einige Themes, mit denen man experimentieren kann, die vielleicht weniger zeitaufwendig sind als “eine Discourse-Oberfläche in Flutter von Grund auf neu zu erstellen”.
Du kannst diese Themes auf deiner Website installieren und Benutzer können sie selbst auswählen.
Ich möchte mit einem tatsächlichen Beispiel eines unabhängigen Frontends widerlegt werden. Ich möchte auch korrigiert werden, wenn etwas, das ich hier sage, nicht korrekt ist! Nur nach meinem Verständnis gibt es bei diesem Thema tatsächlich eine Fehleinschätzung, im Sinne von: Discourse hat eine API und eine unabhängige Frontend-Schicht, warum also nicht einfach ein anderes Frontend dort ausprobieren?
Die Fehleinschätzung, die ich sehe, ist, dass
allein schon vom Umfang her die Menge der tatsächlichen Interface-Elemente und Ansichten nicht richtig eingeschätzt wird. Es gibt nicht nur die Themenliste und die Themenansicht, sondern viel mehr, das auf den ersten Blick sekundär erscheint, aber man müsste es trotzdem entwerfen. Allein wenn man sich die Benutzerseiten ansieht, müsste man entweder alle verschiedenen Ansichten nachbilden oder eine alternative Struktur erarbeiten.
konzeptionell ist das Frontend von Discourse nicht nur präsentational, sondern eine hochfunktionale Schicht. Die gesamte Leseverfolgung basiert auf Ember und ohne sie funktionieren viele der ausgefeilten Funktionen von Discourse nicht. Wenn Sie die Benutzerverfolgung nicht in Ihrem Frontend nachbilden und sie sorgfältig mit dem Backend verbinden, müssten Sie Vertrauensstufen, Abzeichen, Anstöße, Lesestatus usw. fallen lassen, und was Sie haben, ist eine ziemlich nackte App, die es Benutzern ermöglicht, zu lesen, zu posten und zu liken. Es ist wahrscheinlich viel einfacher, eine solche einfache App auf einer einfachen Grundlage aufzubauen, als auf Discourse.
Vielen Dank, das ist wahrscheinlich etwas, das ich entdeckt hätte, als ich tiefer gegraben hätte. Es ist schade, wenn all die Statistiken im Frontend ausgelöst und berechnet werden, anstatt zum Beispiel Warteschlangen im Backend zu verwenden. Damit ist es dann auch nicht mehr Headless.
Ja, basierend auf den hilfreichen Antworten hier werden wir zuerst versuchen, so weit wie möglich mit dem Thema selbst zu gehen. Die erste Priorität ist die Migration mit all den Anpassungen, die wir haben, einschließlich eines geschäftigen Marktplatzes und eines Handelssystembewertungssystems.
Ok, eine weitere Frage. Können sich Benutzer für Kategorien anmelden, um nur Threads aus diesen Kategorien in ihren Feeds anzuzeigen? Das ist eine Sache, die ich mit den APIs im Sinn hatte.
Gibt es eine Möglichkeit, empfohlene Inhalte im Feed basierend auf Bewertungen und Relevanz für einen Benutzer anzuzeigen?