2017-10-19 2 views
0

Ich habe ein paar Fragen, auf die ich gerne Antworten hätte.Soll ich zwei separate Projekte für Frontend/Backend zusätzlich mit API verwenden oder zu einem zusammenführen?

Also ich habe einen Backend-Node-Server mit Express & Mongo erstellt, die bestimmte Aufgaben im Netz ausführt und speichert es in der Datenbank in einer Schleife. Ich habe auch eine Admin-Seite mit Express & Bootstrap hinzugefügt. Und das funktioniert gut. Was ich dann brauchte, war eine Frontend-Seite - dafür wählte ich VueJS. Ich habe das Projekt aus verschiedenen Gründen getrennt gestartet. Ich hatte das Gefühl, dass dies einfacher wäre, da ich noch keine Frontend-Framework-Erfahrung hatte und das Backend-Projekt in Typoskript geschrieben war und ich lieber normales es6 JS verwenden würde.

Gerade jetzt - die Seite hat bereits einige ziemlich gute Fortschritte gemacht und ist an dem Punkt, wo ich eine Verbindung mit der Datenbank herstellen und auch einige der bereits implementierten Funktionen im Backend-Projekt verwenden muss.

Und die Frage erstellt:

  • Sollte ich neue Funktionen und/oder erstellen und API verwenden? Gibt es ein Problem mit dem Mongodb in Form von Zugriff und Schreiben von zwei verschiedenen Prozessen? Gäbe es Sicherheitsprobleme, wenn ich "öffentliche" APIs von meiner bereits existierenden Backend-Logik erstellen würde? (Habe noch keine API geschrieben.)

  • Oder sollte ich die Zeit nutzen und das Frontend-Projekt in das Backend importieren (also entweder neu in Typoskript übersetzen oder auf normales ES6 JS umstellen)? Wäre das ein Sicherheitsrisiko, da ich lieber nicht die Backend-Logik in meiner Frontend-Site haben möchte.

Ich weiß jede Antwort zu schätzen!

Danke :)

Antwort

1

Dies ist eine Frage der Sie sich leisten können zwei Server laufen? Trennen Sie Ihr Front-End von Ihrem Back-End ist eigentlich ein guter Schachzug unter Berücksichtigung aller Dinge Microservices, da es Ihnen ermöglicht, diese Dinge getrennt für zukünftige Zwecke zu skalieren. Wenn Ihr Backend mehr Ressourcen benötigt, sobald Sie anfangen, sich an mobile Benutzer zu richten, oder wenn Sie mehr API-Anrufe erhalten, während Ihr Front-End-Server nur die UI und Assets bedienen muss, nicht mehr. Obwohl der klare Nachteil der Anstieg der Kosten ist, da Sie zwei Server anstelle von einem, etwas zu laufen brauchen, die schwierig ist, wenn man gerade aus starten


Sollte erstelle ich neue Funktionen und/oder erstellen und verwenden APIs?

Für Ihr Backend? Ja. APIs sind der Weg, um Dinge jetzt im Webspace zu tun, wie es für die Zukunft beweist und erlaubt einen kontrollierteren und einheitlicheren Zugang zu Ihrem Backend (alles geht durch die API). Wenn Ihr Frontend also noch nicht über die APIs auf Ihre Datenbank zugreift, empfehle ich Ihnen, diese zu refaktorisieren.

Für Ihre Bedenken über Mongo, ich bin ziemlich sicher, Mongo hat bereits Funktionen zur Vermeidung von Deadlocks.

Wie für die Sicherheit Ihrer API, empfehle ich, JWT auschecken.


sollte ich die Zeit nutzen, und importieren Sie das Frontend-Projekt in das Backend

sollten Sie diesen Weg gehen, anstatt aus Kostengründen, ich würde vorschlagen, eine der Codebasis Umschreiben mit dem anderen zu erfüllen um der Einheitlichkeit willen, tun Sie das aber in Ihrer Freizeit (wir können nicht zulassen, dass Sie all Ihre wertvolle Zeit damit verschwenden, Code zu schreiben, der schon gut funktioniert). Das ist wirklich kein so großes Sicherheitsproblem, da der Backend-Code nicht an das Frontend gesendet wird, damit alle Benutzer

sehen können.
+0

Vielen Dank für die Antwort. Ich bin für separates Backend und Frontend gegangen. Ich habe die API bereits installiert - jetzt muss ich sie nur noch über JWT sichern. Danke :) –

0

Lassen Sie mich damit beginnen, dass ich noch nie Vue benutzt habe. Aber wenn ich react verwende, mache ich immer getrennte Projekte für das Frontend und das Backend. Ich finde es "sauberer", die beiden getrennt zu halten.

Ich sehe keinen Grund für Sie, Ihr gesamtes Projekt von Typoskript zu transkribieren. Lassen Sie Ihr Frontend einfach Anfragen an Ihr Backend stellen.

Wenn Sie auf Ihrer Web-Sicherheit auffrischen möchten, empfehle ich Ihnen, in die Open Web Application Security Project zu schauen.

+0

Vielen Dank für die Antwort. Ich bin für separates Backend und Frontend gegangen. Ich habe die API bereits installiert - jetzt muss ich sie nur noch über JWT sichern. Vielen Dank :) –

Verwandte Themen