2011-01-09 10 views
15

Was sind die Unterschiede zwischen den drei Smalltalk Web Application Frameworks?Was sind die Hauptunterschiede zwischen: Seaside vs Aida vs Iliad

Einige Ansatzpunkte:

  • Was für jeden Rahmen der Sweetspot ist? In welchem ​​Fall würdest du das eine oder das andere benutzen?
  • Was sind ihre Schwächen?
  • Welches hat die saubersten URLs?
  • Wie behandeln sie Ajax?
  • Haben sie eine Vorliebe für Persistenz?

Ich versuche nur zu entscheiden, welches Framework für jede Art von Anwendung geeignet ist.

Antwort

6

ich nur für Seaside beantworten kann:

Ziel: Meer richtet komplexe Web-Anwendungen mit Fokus auf Wiederverwertbarkeit und die Entwicklung der Produktivität. Es gibt eine automatische Verwaltung des Sitzungsstatus und die Unterstützung der Rücktaste. Die beiden kostenlosen Online-Bücher Dynamic Web Development with Seaside und Seaside Tutorial bieten Dokumentation.

Schwäche: Für RESTful URLs müssen Sie zusätzliche Arbeit leisten.

Saubere URLs: Für REST-URLs müssen Sie etwas mehr arbeiten, aber es kann sich lohnen (z. B. Pier).

AJAX: Es gibt viele AJAX-Bibliotheken integriert in Seaside (jQuery, jQueryUI, Prototype, script.aculo.us, ...). Die Integrationen bieten Ihnen vollen Zugriff auf diese Bibliotheken von Smalltalk aus. Neue Bibliotheken können leicht integriert werden, z. JQueryWidgetBox.

Persistency: Seaside ist ein Webanwendungsframework, kein Persistencyframework. Sie können jede Persistenzlösung verwenden, die am besten zu Ihnen passt, z. GemStone, WAREN, GLORP, ...

auch diese Fragen/Diskussionen über Stackoverflow sehen:

+0

Dank Lukas. Diese Fragen lieferten gute Antworten. – elviejo79

1

Für einige persistency Lösungen für Meer, gibt es eine page. Die meisten Lösungen sind unabhängig von Seaside.

6

kann ich etwas auf der Ilias Seite sagen:

Sweet Spot (e): Es behandelt AJAX schmerzlos. Für mich war das der Wendepunkt, der mich zu Iliad wechseln ließ. Außerdem ist es so klein und nicht aufgebläht, dass Sie den ganzen Code an einem Tag lesen und verstehen können, wie es funktioniert.

Schwächen: Die Gemeinde ist auch sehr klein. Dies führt zu einem Mangel an Dokumentation, zusätzlichen Modulen oder vorgefertigten Widgets. OTOH, kleine Gemeinschaften neigen dazu, sich gegenseitig eifriger zu helfen, so dass alle Ihre Zweifel gelöst werden können, indem Sie auf der Mailing-Liste fragen.

URLs: Nun, da alle Anrufe in Iliad standardmäßig AJAX sind, bleibt die URL die ganze Zeit sauber.

Ajax: Ja. Kostenlos und standardmäßig. Sie #markyDirty ein Widget und es wird automatisch aktualisiert. Abhängigkeiten sind so einfach zu definieren wie das Senden von #addDependantWidget: an ein Widget, so dass beide aktualisiert werden, wenn das erste als fehlerhaft gekennzeichnet ist. Wenn der Client keinen JavaScript-fähigen Browser hat, werden alle Aufrufe automatisch auf normale HTTP-Anfragen zurückgesetzt.

Persistenz: Keine Präferenz. Da das Modell vom Framework getrennt ist (ich denke, das gilt für die drei Frameworks), können Sie immer noch die gleichen Richtlinien befolgen wie für Aida oder Seaside.

5

Und für Aida/Web:

Sweetspots: Realtime Web-Support aus der Box, für beide Content-Websites und komplexe Web-Anwendungen, HTML5 und mobile Unterstützung, Web-Server enthalten, so dass es unmittelbar nach der Installation funktioniert, Sie kann viele virtuelle Websites aus dem gleichen Bild bedienen.

Schwächen: Mangel an Dokumentation, kleine Gemeinde

URLs: sauber REST-ähnliche URLs die ganze Zeit, weil Aida folgt aus der die moto starten: jede Domain-Objekt kann seine URL haben (auch von Alan Kay) und Domain-Objekt kann sogar seine URL selbst auswählen.

Ajax: Nahtlos integriert, Sie sehen es nicht mehr, alles ist einfach da. Um ein Element auf der Webseite zu aktualisieren, rufen Sie einfach e update an. Keine Notwendigkeit, irgendein jQuery oder irgendein anderes JavaScript zu kennen. Gleiches gilt für Echtzeit-Web-Apps. Das WebSocket-Protokoll ist der Standardkommunikationskanal für unterstützte Browser zum Austausch von JSON-Nachrichten zwischen dem Browser und dem Aida-basierten Server.

Persistenz: Bildbasierte Persistenz mit automatischem Snapshot jede Stunde ist standardmäßig aktiviert. Unterstützung von Gemstone/GLASS für den nächsten Schritt. Relationale/andere DB ist eine Pflicht der Domänenebene, falls erforderlich.

Weitere:

Verwandte Themen