Ich habe kürzlich angefangen, eine Simulationsanwendung für die Pfadfindungsalgorithmus in Python zu schreiben.
Es nimmt Benutzereingaben entgegen, generiert zufällig ein 2D-Diagramm und zeigt die Simulation über die GUI an.
Was ich nun fand, war, dass Python und eigenständige Anwendungen nicht sehr geeignet sind, um diese Art von Anwendung zu teilen, da Sie die Leute dazu bringen müssen, sie auf ihrem eigenen Computer usw. auszuführen. Es wäre viel praktischer, einfach zu leiten sie auf eine Website.
Offensichtlich müssen die Anzeige- und Steuerelemente auf der Clientseite geschrieben werden.
Der eigentliche Pfadfindungsalgorithmus kann jedoch entweder auf der Client- oder der Serverseite geschrieben werden.
Da kein serverseitiges Backend (dh keine Datenbank) erforderlich ist, kann die gesamte Webanwendung in clientseitigem HTML / JavaScript ausgeführt werden.
Die Frage ist, gibt es einen guten Grund, dies nicht zu tun?
Die Art und Weise, wie ich es sehe, würde es die Komplexität erheblich reduzieren, da es nicht erforderlich ist, die Interaktion zwischen Client und Server fortzusetzen. Der Server dient nur dazu, dem Client zunächst das Javascript bereitzustellen.
Auf der anderen Seite ... müsste ich das Ganze in Javascript schreiben ...
Auch die Idee, ein wiederverwendbares Modellmodul zu haben, gefällt mir. Z.B. Wenn ich später eine eigenständige Anwendung haben möchte, muss ich nur die View / Control-Module schreiben.
Ich frage mich, was die allgemein akzeptierte Praxis hier sein würde.
quelle
Antworten:
Sie haben die Vorteile der App-Client-Seite beschrieben. Hier sind einige mögliche Nachteile: Wenn einige oder alle zutreffen, sollten Sie auf eine serverbasierte Lösung umsteigen:
Kurz gesagt, clientseitiges Javascript ist eine perfekt funktionierende Plattform für algorithmisches Computing und kann problemlos sowohl in einem Browser als auch als eigenständige App (unter Verwendung einer Browser-Engine wie Awesomium) bereitgestellt werden. Es hat jedoch einige Einschränkungen. Gehen Sie sie durch, um eine fundierte Entscheidung zu treffen.
quelle