Webframework mit Ajax-Support: Programmieren wie eine Desktop-GUI
-
Hallo,
gibt es ein Webframework (Python bevorzugt) mit dem man Webseiten mit Ajax-Support schreiben kann, aber moeglichst Abstrakt? Man muss sich wenig Gedanken um Client- und Servercode machen. Auf Clientseite soll das ganze nur mit HTML und JavaScript auskommen (also kein Flash, ...).
Bspw. einem select ein Klickevent zuweisen und ein anderes select mit Werten zu fuellen.
Pseudocode:
def click(item): liste_b.Add(item) def index(): Select(['Apfel', 'Birne'], id='liste_a', onClick=click) Select(id='liste_b')
Mit index wuerde dann eine HTML-Seite erstellt werden die die 2 select-Elemente enthaelt.
Das waere natuerlich nur das Optimum. Vor allem das "liste_b.Add(item)" wird wohl schwer so umsetzbar sein (wobei es ja z.B. pyjs gibt - also python-to-js-compiler). Aber was gibt es fuer Frameworks die an so einem Konzept nah dran sind?
Danke!
Oliver
-
Für C++ und Java: Wt (webtoolkit.eu).
-
Fuer Python kenne ich hier leider nichts.
Das was du beschreibst, ist unter dem Stichwort "Postback" bekannt. JSF und ASP sind hier die Technologien die das am meisten einsetzen.
Aber generell ist der Ansatz, eine Webseite wie eine Desktop GUI Programmieren zu wollen - nicht so toll. Das Web hat Limitierungen und Features die es auf dem Desktop so nicht gibt.
Python Support ist im Web aber leider etwas duerftig. Hier eine Liste: http://wiki.python.org/moin/WebFrameworks
Deshalb ist vielleicht folgendes interessant. Bottle.py - mit einem guten JavaScript MVC Framework.
Du wirst nicht umhin kommen einen relevanten Teil deines Codes in JavaScript zu schreiben. uU sind deshalb fuer dich CoffeScript interessant. Das ist in gewisser Weise aehnlich zu Python und kompiliert zu JavaScript.
-
Versuch doch mal GWT (Java).
-
Oh das Webtoolkit(.eu) sieht ja sehr Interessant aus. Das werde ich ausprobieren. Da werde ich wohl doch drum rum kommen einen relevanten Teil in JS zu schreiben. So wie es aussieht scheint es genau das zu sein was ich will.
Danke!
Die andere genannten Sachen hatte ich mir soweit schon angeschaut, aber trotzdem Danke!
-
Oh das Webtoolkit ist soo toll! Echt genau das was ich haben wollte!
Wuerde sogar mit Jython gehen, aber spiele erstmal noch ein wenig mit Java rum.
Jetty wirft zwar beim Debuggen immer eine Exception mit der ich noch nicht so recht weiss was ich damit anfangen soll, aber ohne Debuggen geht es. Kuemmere ich mich spaeter drum. Funktioniert genau so wie in meinem Pseudocode.
Nach sowas hab ich wirklich schon ne ganze Weile gesucht.
Nochmal Danke!
-
Eine Website wie eine Desktop-Anwendung schreiben zu wollen, ist der absolut falsche Weg. Es geibt einfach zu viele fundamentale Unterschiede.
-
Eine Webseite ja.
Eine Webanwendung? Sehe ich anders. Habe ich mit Wt gute Erfahrungen gemacht. Komplexe GUI, hunderte "Dialoge", Dynamische (Benutzer-Definierte) Panels.
Und dabei habe ich nur eine Handvoll Zeilen in JavaScript selbst schreiben müssen, um Fremd-Widgets (z.B. gefällt mir der Date-Picker von Wt nicht) in Wt zu integrieren.
Das einzige was mir bei Wt fehlt wäre ein GUI-Designer.
Natürlich kann Web viel weniger als eine richtige Desktop-Anwendung. Aber was ist denn an einer Web-GUI anders als an einer Desktop-GUI? Die Anwendung stellt die GUI dar und reagiert auf User-Interaktionen.