2009-03-24 5 views
10

Für mich scheint es der wichtigste Punkt von Seaside ist, dass es mehr wie normale "Desktop" -Programmierung ist.Was ist der Unterschied zwischen Seaside-Programmierung und anderen Web-Programmierung

Der Kontrollfluss sieht viel mehr wie "traditionelle" Programmierung statt "Web" -Programmierung aus. Ist das ein korrekter Eindruck?

Ich weiß, es geht um Web-Programmierung, aber es sieht nicht wie es von der Programmiererseite aus. Es sieht viel mehr als nur "Desktop" -Anwendungen zu fahren. Verdeutlicht das die Frage ein wenig?

Antwort

9

Ihr Eindruck ist richtig. Seaside ist für das konzipiert, was ich einen baumähnlichen Kontrollfluss nenne, wie es Desktop-GUI-Apps haben. Im Vergleich zu der Aida/Web, einem anderen Smalltalk-Web-Framework, das für Graph-ähnliche Kontrollfluss gedacht ist, und das ist tatsächlich, was Sie im Web haben.

Aber Baum-ähnlicher Kontrollfluss ist sehr nützlich in solchen Fällen wie Bestätigungsdialogen oder für Popups wie jene, die heutzutage auf Facebook sehr häufig sind. Deshalb führen wir auch in Aida/Web den baumartigen Kontrollfluss ein, dh wir kombinieren beide Kontrollflüsse miteinander.

1

Seaside ist ein App-Framework für die Entwicklung von Web-Anwendungen in Smalltalk geschrieben. Was meinen Sie es wie „traditionelle“ sieht

Programmierung

bearbeiten -

Meer Architektur unterschiedlich ist, in der seine Web-Seiten als Bäume einzelner, Stateful-Komponenten aufgebaut sind, die jeweils Einkapseln ein kleiner Teil einer Seite

+0

Die Frage war nicht "Was ist Seaside", sondern "Wie ist Seaside anders?" – Chuck

+0

Dieses Update wurde bereits durchgeführt, aber aus irgendeinem Grund habe ich gerade einen Downvote erhalten? – TStamper

15

Der Punkt von Seaside ist nicht wirklich, wie Desktop-Programmierung zu sein, obwohl es versucht, viel von der Webentwicklung zu nehmen. Meer ist bekannt für zwei Dinge, die Sie „Desktop-Anwendung-like“ könnten prüfen:

  1. Fortsetzungen mit Ihnen mehrstufigen Verfahren zu schreiben zu ermöglichen, die den Benutzer nach Informationen
  2. mit Blöcken (Verschlüssen) auffordern, Event-Handler-like „Callbacks“ in den Code zur Verfügung stellen, wenn Links angeklickt werden, Formulare eingereicht usw.

Diese Dinge in beträchtlichem Ausmaß bestimmte Aufgaben Web-Entwicklung vereinfachen, wenn die ersten endet ziemlich selten in der Praxis verwendet wird.

Meer bietet viele andere Dinge, aber:

  • Die Fähigkeit, Web-Anwendungen in Smalltalk (sehr produktiv und angenehm)
  • Composable, wiederverwendbar "Komponenten"
  • Komponenten zu schreiben, kann auch auf andere Komponenten delegieren , die nur diesen Teil der Seite ersetzt
  • Einfache Verwaltung des Sitzungszustands und bestimmter Zustände können so gekennzeichnet werden, dass sie zurückgesetzt werden, wenn der Benutzer die Zurück-Schaltfläche verwendet, damit bei der Ausführung von Rückrufen immer der richtige Wert angezeigt wird
  • Eine sehr schöne Canvas API für programmatisch HTML zu erzeugen, JQuery, Scriptaculous
  • Die Fähigkeit zum Debuggen und Beheben von Fehlern leben auf einer laufenden Website

Die meisten davon sind nicht einzigartig für Meer, aber sie sind etwas ungewöhnlich . Wie unterscheidet es sich von anderen Web-Programmierung? Du kannst in Smalltalk schreiben. Sie müssen nicht mental zwischen Code und einer Vorlagensprache hin und her wechseln. Sie müssen sich nicht um Formularfeldnamen, URLs usw. kümmern, es sei denn/bis Sie möchten. Sie werden Web-Programmierung wahrscheinlich nicht so sehr hassen, wenn Sie Seaside verwenden.

Die Leute können entdecken, Seaside wegen seiner "Desktop-Programmierung Funktionen", aber sie hängen in der Regel für all die anderen Sachen herum.

Verwandte Themen