2012-03-30 7 views
1

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

3

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.

+0

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. –

1

Ich glaube, an dieser Stelle, dass Sie mehr über die gesamte Architektur der Anwendung denken, mögen vielleicht eher als Rahmen. Für Beispiel

  1. einreihige - Nur ein einfaches Webapp mit einfacher Datei oder Objektspeicher
  2. Zwei Tier - Webapp + relationale Datenbank. Die Webapp enthält die Präsentationslogik + Business-Logik Prinzipien mit MVC
  3. 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.

Verwandte Themen