Ich bin etwas verwirrt darüber, was mit einer "Web-Anwendung" gemeint ist. I.e. Django positioniert sich als "Web-Framework" für die Entwicklung von "Web-Apps", ähnlich der Beschreibung von Pyramid. Was ich suche, ist ein Framework für eine Anwendung, die eine Browser-Schnittstelle hat, aber sehr datenbankgesteuert ist. Kurz gesagt: Es ist ein System, das Transaktionen und Abonnements verarbeiten sollte. Diese Transaktionen werden über eine Webschnittstelle registriert. Das Backend besteht aus XML/JSON-Feeds dieser Subskriptionen/Transaktionen und einer Verwaltungsschnittstelle zum Generieren von Statistiken und Berichten. Ganz ähnlich wie ein Ticket-/Kassensystem. Jetzt: Ist es eine gute Entscheidung, mit etwas wie Django/Pyramid zu beginnen, obwohl sie eher auf die Erstellung von "Websites" als auf (skalierbare) Eingabe-/Ausgabe- "Anwendungen" ausgerichtet sind. Gibt es ein Python-Framework, das ich besser benutze oder sind sie perfekt für die Art von Software, die ich beschreibe? Jede Hilfe würde sehr geschätzt werden!Python-Frameworks: Website/CMS vs Anwendung?
Antwort
Ich weiß nicht Pyramid zum Zeitpunkt des Schreibens, also werde ich den Django Teil beantworten, obwohl ich mir vorstellen kann, die Antwort auf Pyramid sowie die Unterscheidung zwischen Websites und Web-Anwendung ist ziemlich vage.
Django eignet sich sowohl für Websites und Web-Anwendungen: Sie sowie ein All-in Web-Anwendung mit vielen interaktiven Funktionen eine informative Website für Ihre lokale Bibliothek erstellen können. Django erleichtert einfach die Erstellung des Backends eines Web-Systems. Sowohl Websites als auch Webanwendungen verwenden Datenbanken, Caching und können interaktive Teile mit Formularen haben.
Es ist nur, dass Websites sind in der Regel nur zur Information der Benutzer (die meisten Websites gibt) oder mit anderen (wie Foren) interagieren. Eine Webanwendung wird am besten mit einigen Beispielen beschrieben, wie Webmail, Verwaltungsschnittstellen, Google Docs usw.; Es dient als Ersatz für eine Desktop-Anwendung.
Aus technischer Sicht gibt es keinen klaren Schnitt, was die Welt von Websites von Web-Anwendungen trennt, es ist nur eine Frage dessen, was Sie mit Ihrem Web-Framework erstellen.
Um Ihre Frage zu beantworten, ist Django sehr geeignet für die Erstellung einer datenbankgestützten Webanwendung, da es mehrere Datenbanken, Caching, automatische Erstellung und Handhabung von Formularen usw. unterstützt. Ich kann mir auch vorstellen, dass Pyramid geeignet ist Antworte nicht darauf. Es ist gut, Ihre Möglichkeiten zu erkunden.
Ich glaube, an dieser Stelle, dass Sie mehr über die gesamte Architektur der Anwendung denken, mögen vielleicht eher als Rahmen. Für Beispiel
- einreihige - Nur ein einfaches Webapp mit einfacher Datei oder Objektspeicher
- Zwei Tier - Webapp + relationale Datenbank. Die Webapp enthält die Präsentationslogik + Business-Logik Prinzipien mit MVC
- Drei Tiere - Webapp + Middle Tier + Relation Datenbank. In dieser Einstellung enthält der Middle Tier im Wesentlichen die gesamte Verarbeitungslogik des Geschäfts &. Die Webapp ist dann nur eine Präsentationsschicht
Sobald Sie die Architektur entscheiden, können Sie dann darüber nachzudenken beginnen, was Rahmen für jeder der Komponente der Architektur zu verwenden.
Ich glaube, auf diese Weise voran wird weniger verwirrend und Klarheit des Denkens geben.
- 1. Windows-Anwendung vs Web-Anwendung Entwicklung
- 2. Silverlight vs Webbrowser-Anwendung (. Xbab)?
- 3. Silverlight-Anwendung vs Klassenbibliothek Projekte
- 4. Funktion Zusammensetzung VS Funktion Anwendung
- 5. Chat-Anwendung: pubsubhubbub vs xmpp
- 6. Starten von Windows-Anwendung vs Konsole-Anwendung über Cmd
- 7. Web.Config der Silverlight-Anwendung vs Web.Config der Silverlight-Hosting-Anwendung
- 8. Anwendung Box2D Physik UIView vs. CALayer
- 9. Prisma vs MVVM Licht für UWP-Anwendung
- 10. Application Settings scope - Benutzer vs Anwendung
- 11. Rahmen Icon für WPF-Anwendung (VS 08)
- 12. Filter vs Interzeptoren in Web-Anwendung
- 13. SQLite vs XML für mobile Anwendung
- 14. Android-Anwendung Entwicklung: Java vs Jquery Mobile
- 15. VS 2013 MSTest vs nUnit vs xUnit
- 16. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 17. SpiderMonkey vs JavaScriptCore vs?
- 18. Java vs C++: Leistung in der Anwendung mit Web-Services
- 19. Panel vs GroupBox in einer Windows Forms-Anwendung
- 20. Debuggen von TypScript Cordova-Anwendung in VS 2015
- 21. Rails-Anwendung: require Bootstrap vs benötigt Bootstrap-Ritzel
- 22. coffeescript vs reagieren für eine einzelne Seite Anwendung Benutzer Dashboard
- 23. Was macht ein ASP.NET-Projekt eine Anwendung vs Bibliothek?
- 24. Ich kann nicht ASP.Net MVC-Anwendung in VS 2008
- 25. Razor-basierte MVC vs Single-Page-Anwendung in MVC 4
- 26. iOS Multitasking Switcher-System Bild vs Anwendung Bild Diskrepanz Workaround
- 27. Wie zu entwickeln Asp.Net-Anwendung für Ubuntu mit vs 2015
- 28. Flask Kontexten (Anwendung und Anforderung) vs lokalen Thread-Variablen
- 29. HttpCache vs Singleton - Best Practice für eine MVC-Anwendung
- 30. Android: Eine vs viele Instanzen von HttpClient pro Anwendung
Pyramide ist viel low-level und schnörkelloser als Django - man könnte denken, dass Django auf Pyramid läuft. Der Unterschied zwischen den beiden ist, dass man viel mehr Kontrolle gibt, während der andere viel mehr Bequemlichkeit gibt. –