Fragen - Framework, Interaktive Website, Steuerung

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Montag 1. September 2008, 16:11

Hallo zusammen,
nach langem "read-only" ist es soweit, mein erster post. :)

Da ich gerade am überlegen bin, ob ich ein Programm entwickel, mit dem man einen Verein managen kann tauchen ein paar Fragen auf.
(Das ganze geschieht auf Bestellung, deswegen brauche ich keine Hinweise, dass es schon genügend Mitgliederverwaltungen gibt.)

1. Es stellt sich mir die Frage, wie man so ein Programm am besten/einfachsten/schnellsten realisiert. Da ich von anderer Stelle her gute Erfahrungen mit Python in Verbindung mit Mod_Python, Postgresql und einem Apache Server gemacht habe, war meine erste Überlegung natürlich Python in eben dieser Konfiguration. Vor einem halben Jahr habe ich mich allerdings auch kurz mit Django beschäftigt, aber das Ganze dann irgendwie nicht weiterverfolgt.
Auch nachdem ich mir die verschiedenen Frameworks angeguckt habe, kommt es mir so vor, als ob das ganze fast ausschließlich eine Glaubensfrage ist welches Framework man wählt... (Django, Turbogears, CherryPy, etc.) Da von verschiedenen Arbeitsplätzen gearbeitet wird dachte ich an die Bedinung per Browser. Die Geschwindigkeit spielt übrigens keine große Rolle, da es sich um ein Intranet handelt und keine Verbindung zu Arbeitsplätzen ausserhalb der Büros besteht.
So sonderlich kompliziert ist eine Verwaltungssoftware in ihren elementaren Funktionen ja nicht. Es kommen in diesem Fall nur ein paar Besonderheiten hinzu. Was mich auch gleich zu meinem zweiten Punkt bringt.

2. In wie weit lässt sich Drag&Drop (Sei es nun das Ziehen eines Elements aus Liste a nach Liste b oder das Ziehen eines fotos [jpeg, etc.]) mit Python realisieren? Mit der Verbindung Django / Ajax doch sicherlich machbar, oder? gibt es alternativen?

3. Lassen sich zum Beispiel ein Magnetkartenlesegerät oder sonstige Identifikationsmöglichen irgendwie einbinden? Sei es nun an einem Client der nur per Browser das Programm bedient oder irgendwie an den Server angeschlossen? (Beispiel: Karte wird gelesen; es wird in der Datenbank geprüft ob derjenige reindarf; tür geht auf oder auch nicht; es wird in der Datenbank eingetragen, dass derjenige da ist)

Hoffentlich hab ich mich einigermaßen verständlich ausgedrückt. Falls nicht, ich bin jederzeit für Anregungen offen. Falls das ganze sich nicht mit Python realisieren lassen sollte, ärgerlich. Bis jetzt ist Python meine Traumsprache :)

Edit (Leonidas): Verschoben.
[i]who we are is but a stepping stone to
what we can become...[/i]
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 1. September 2008, 18:19

Hallo bake, willkommen im Forum,
bake hat geschrieben:1. Es stellt sich mir die Frage, wie man so ein Programm am besten/einfachsten/schnellsten realisiert. Da ich von anderer Stelle her gute Erfahrungen mit Python in Verbindung mit Mod_Python, Postgresql und einem Apache Server gemacht habe, war meine erste Überlegung natürlich Python in eben dieser Konfiguration. Vor einem halben Jahr habe ich mich allerdings auch kurz mit Django beschäftigt, aber das Ganze dann irgendwie nicht weiterverfolgt.
Von mod_python würde ich generell abraten, das ist gerne mal buggy und konzeptuell schlichtweg kaputt (Einen Python-Interpreter in jeden Apache-Prozess laden? Broken....). Zum Glück gibt es bessere Alternativen.
bake hat geschrieben:Auch nachdem ich mir die verschiedenen Frameworks angeguckt habe, kommt es mir so vor, als ob das ganze fast ausschließlich eine Glaubensfrage ist welches Framework man wählt... (Django, Turbogears, CherryPy, etc.)
Nein, eigentlich nicht. Jedes ist für etwas anderes besser oder schlechter geeignet (wobei ich so am zweifeln bin, ob TG überhaupt irgendwelche interessanten Vorteile gegenüber direktem Pylons hat).
bake hat geschrieben:2. In wie weit lässt sich Drag&Drop (Sei es nun das Ziehen eines Elements aus Liste a nach Liste b oder das Ziehen eines fotos [jpeg, etc.]) mit Python realisieren? Mit der Verbindung Django / Ajax doch sicherlich machbar, oder? gibt es alternativen?
Mit Python im Browser? Gar nicht, denn Python läuft nicht im Browser. Mit Django? Ebensowenig, denn Django läuft genausowenig im Browser. Mit Ajax? Auch nicht, denn mit HTTP geht ja auch kein Drag and Drop. Was du aber nutzen kannst und worin Drag and Drop im Browser implementiert wird, ist JavaScript. Du kannst dir eine Helfer-Library wie jQuery nehmen und damit so etwas wohl recht schnell zusammenbauen. Anleitungen im Internet gibt es zuhauf, das Problem ist nur die brauchbaren herauszusuchen.
bake hat geschrieben:3. Lassen sich zum Beispiel ein Magnetkartenlesegerät oder sonstige Identifikationsmöglichen irgendwie einbinden? Sei es nun an einem Client der nur per Browser das Programm bedient oder irgendwie an den Server angeschlossen? (Beispiel: Karte wird gelesen; es wird in der Datenbank geprüft ob derjenige reindarf; tür geht auf oder auch nicht; es wird in der Datenbank eingetragen, dass derjenige da ist)
Im Browser? Nein. Merke: ein Browser kann bis auf HTML darstellen so ziemlich überhauptnichts. Wenn du ein Client-Programm schreibst: schon eher. Du kannst natürlich das Lesegerät am Server montieren und den User zwingen es am Server anzustecken und über den Browser zu bedienen, aber das ist recht... lästig.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Dienstag 2. September 2008, 08:03

Von mod_python würde ich generell abraten, das ist gerne mal buggy und konzeptuell schlichtweg kaputt (Einen Python-Interpreter in jeden Apache-Prozess laden? Broken....). Zum Glück gibt es bessere Alternativen.
Gibt es mehrere Alternativen, die sich je nach Einsatzgebiet besser oder schlechter eignen, oder gibt es die Alternative, zu der man greifen sollte?
Könnte man, anhand der Informationen (Mitgliederverwaltung, Checkin/Checkout), schon eine Empfehlung abgeben, welche Alternative Sinnvoll ist?
Nein, eigentlich nicht. Jedes ist für etwas anderes besser oder schlechter geeignet (wobei ich so am zweifeln bin, ob TG überhaupt irgendwelche interessanten Vorteile gegenüber direktem Pylons hat).
Hier das selbe, lässt sich mit den vorhandenen Informationen eine Empfehlung aussprechen? So etwas wie ein Adminbereich wie unter Django oder ein CMS ist, soweit ich das jetzt sagen kann, nicht nötig.
Du kannst dir eine Helfer-Library wie jQuery nehmen und damit so etwas wohl recht schnell zusammenbauen. Anleitungen im Internet gibt es zuhauf, das Problem ist nur die brauchbaren herauszusuchen.
Wunderbar, werde mich mal danach umschauen.
Nein. Merke: ein Browser kann bis auf HTML darstellen so ziemlich überhaupt nichts. Wenn du ein Client-Programm schreibst: schon eher.
Das ein Browser fast nur HTML darstellt war mir klar, hab mich wohl etwas verquer ausgedrückt :) Wenn ich jetzt von meiner Idee das ganze im Browser umzusetzen Abstand nehme, und das ganze als Client mit GUI umsetze, habe ich dann immer noch die Unabhängigkeit was das Betriebssystem angeht? Dachte halt an ein Bedienung per Browser, weil ich damit schon Erfahrung gesammelt habe und eine andere Bedienung totales Neuland für mich wäre. Wie einfach/kompliziert lässt sich denn sowas im Vergleich zur Steuerung über den Browser realisieren? Wenn ich mich jetzt z.B. für wxPython (welches wie ich das verstanden habe, plattformunabhängig ist - also unter linux, windows und max funktioniert?) entscheiden sollte, ist der Zeitaufwand höher, wie sieht das mit der Stabilität aus?

Vielen Dank schon mal, dass du dir die Mühe gemacht hast auf meine Fragen zu antworten! Wenn man hier die Fragen richtig stellt wird einem ziemlich gut, schnell und kompetent geantwortet.
[i]who we are is but a stepping stone to
what we can become...[/i]
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Dienstag 2. September 2008, 10:02

bake hat geschrieben:Dachte halt an ein Bedienung per Browser, weil ich damit schon Erfahrung gesammelt habe und eine andere Bedienung totales Neuland für mich wäre. Wie einfach/kompliziert lässt sich denn sowas im Vergleich zur Steuerung über den Browser realisieren? Wenn ich mich jetzt z.B. für wxPython (welches wie ich das verstanden habe, plattformunabhängig ist - also unter linux, windows und max funktioniert?) entscheiden sollte, ist der Zeitaufwand höher, wie sieht das mit der Stabilität aus?
Du reduzierst damit deine Abhängigkeiten (Apache, verschiedenste inkompatible Browser, JavaScript, ...), so daß der Zeitaufwand nach meiner Einschätzung auf jeden Fall geringer sein sollte.
Nachteil: Der User muß einen Client installieren (der sich am Besten automagisch aktualisiert).
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 2. September 2008, 10:13

bake hat geschrieben:
Von mod_python würde ich generell abraten, das ist gerne mal buggy und konzeptuell schlichtweg kaputt (Einen Python-Interpreter in jeden Apache-Prozess laden? Broken....). Zum Glück gibt es bessere Alternativen.
Gibt es mehrere Alternativen, die sich je nach Einsatzgebiet besser oder schlechter eignen, oder gibt es die Alternative, zu der man greifen sollte?
Könnte man, anhand der Informationen (Mitgliederverwaltung, Checkin/Checkout), schon eine Empfehlung abgeben, welche Alternative Sinnvoll ist?
Für die meisten Dinge gibt es sich nicht viel ob man nun FastCGI, SCGI oder mod_wsgi nutzt.
bake hat geschrieben:
Nein, eigentlich nicht. Jedes ist für etwas anderes besser oder schlechter geeignet (wobei ich so am zweifeln bin, ob TG überhaupt irgendwelche interessanten Vorteile gegenüber direktem Pylons hat).
Hier das selbe, lässt sich mit den vorhandenen Informationen eine Empfehlung aussprechen? So etwas wie ein Adminbereich wie unter Django oder ein CMS ist, soweit ich das jetzt sagen kann, nicht nötig.
Für simple CRUD-Sachen ist Django ziemlich ideal, wenn du aber hochwertigere Komponenten brauchst, dann Pylons. Oder wenn du Frameworks generell nicht magst, dann Werkzeug.
bake hat geschrieben:Wenn ich jetzt von meiner Idee das ganze im Browser umzusetzen Abstand nehme, und das ganze als Client mit GUI umsetze, habe ich dann immer noch die Unabhängigkeit was das Betriebssystem angeht? Dachte halt an ein Bedienung per Browser, weil ich damit schon Erfahrung gesammelt habe und eine andere Bedienung totales Neuland für mich wäre. Wie einfach/kompliziert lässt sich denn sowas im Vergleich zur Steuerung über den Browser realisieren? Wenn ich mich jetzt z.B. für wxPython (welches wie ich das verstanden habe, plattformunabhängig ist - also unter linux, windows und max funktioniert?) entscheiden sollte, ist der Zeitaufwand höher, wie sieht das mit der Stabilität aus?
Die meisten GUI-Toolkits für Python sind platformunabhängig und in den meisten Toolkits ist es einfacher GUIs zu machen als mittels HTML schlichtweg weil diese dazu da sind um GUIs anzuzeigen und HTML dazu da ist Dokumente anzuzeigen. Allerdings solltest du dich zum Thema Cardreader umsehen, denn ob diese platformunabhängig funktionieren...
Lediglich die Stabilität von wxPython ist etwas schwach. Von allen großen Toolkits für Python ist es das, was bei manchen Operationen schlicht crasht. Es scheint, dass es in den letzten Jahren aber etwas besser geworden ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Dienstag 2. September 2008, 10:16

mkallas hat geschrieben:Nachteil: Der User muß einen Client installieren (der sich am Besten automagisch aktualisiert).
Wenn ich mir das konkret überlege ist das aber noch nichteinmal ein Nachteil. Auf der anderen Seite müsste man ja einen Server mit allen benötigten Dingen (Apache o.a., Mod_Python o.a., ...) aufsetzen.
Wenn der User einen Client installiert bräuchte man ja nur einen Postgres Server, da alles andere ja auf der Clientseite geschieht, oder nicht?
Leonidas hat geschrieben:Für simple CRUD-Sachen ist Django ziemlich ideal, wenn du aber hochwertigere Komponenten brauchst, dann Pylons. Oder wenn du Frameworks generell nicht magst, dann Werkzeug.
Hm, das reine Verwalten der Daten geht natürlich nicht über CRUD hinnaus. Soetwas wie Zugangskontrolle erweitert retrieve ja auch nur um eine darauffolgende Aktion... Man könnte das ganze natürlich auf zwei "Programme" aufteilen. Einmal die Verwaltung per Browser und einmal die Zugangskontrolle per wxPython, oder sehe ich das falsch?
Leonidas hat geschrieben:Lediglich die Stabilität von wxPython ist etwas schwach. Von allen großen Toolkits für Python ist es das, was bei manchen Operationen schlicht crasht. Es scheint, dass es in den letzten Jahren aber etwas besser geworden ist.
Der Punkt Stabilität ist natürlich übel... Welche Ausmaße nimmt das denn an? Ich möchte am Ende natürlich vermeiden, dass das Programm bei jeder zweiten, fünften oder zehnten Aktion über den Jordan geht...[/quote]
Zuletzt geändert von bake am Dienstag 2. September 2008, 10:26, insgesamt 1-mal geändert.
[i]who we are is but a stepping stone to
what we can become...[/i]
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 2. September 2008, 10:23

bake hat geschrieben:Wenn der User einen Client installiert bräuchte man ja nur einen Postgres Server, da alles andere ja auf der Clientseite geschieht, oder nicht?
Naja, theoretisch. Praktisch fände ich es keine so tolle Idee, den Datenbankserver freizugeben, so dass Clients nach belieben SQL abschicken. Da würde ich eher noch einen RPC-Server oder ähnliches davorschalten, der eine Datenmanipulations-API bietet und sichergeht dass die Clients keinen Unfug anstellen.
bake hat geschrieben:Der Punkt Stabilität ist natürlich übel... Welche Ausmaße nimmt das denn an? Ich möchte am Ende natürlich vermeiden, dass das Programm bei jeder zweiten, fünften oder zehnten Aktion über den Jordan geht...
Ich habe es wie gesagt schon länger nicht mehr genutzt, aber damals hat es sich immer bei den selben Dingen (reproduzierbar) aufgehängt, also solange man diese meidet liefen die Programme recht rund. Und die Bugs wurden meist in den folgenden Releases behoben.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Dienstag 2. September 2008, 10:30

bake hat geschrieben:
mkallas hat geschrieben:Nachteil: Der User muß einen Client installieren (der sich am Besten automagisch aktualisiert).
Wenn ich mir das konkret überlege ist das aber noch nichteinmal ein Nachteil. Auf der anderen Seite müsste man ja einen Server mit allen benötigten Dingen (Apache o.a., Mod_Python o.a., ...) aufsetzen.
Wenn der User einen Client installiert bräuchte man ja nur einen Postgres Server, da alles andere ja auf der Clientseite geschieht, oder nicht?
Leonidas hat geschrieben:Lediglich die Stabilität von wxPython ist etwas schwach. Von allen großen Toolkits für Python ist es das, was bei manchen Operationen schlicht crasht. Es scheint, dass es in den letzten Jahren aber etwas besser geworden ist.
Der Punkt Stabilität ist natürlich übel... Welche Ausmaße nimmt das denn an? Ich möchte am Ende natürlich vermeiden, dass das Programm bei jeder zweiten, fünften oder zehnten Aktion über den Jordan geht...
Mir ist wxPython nie einfach so gecrasht, wenn der Code falsch ist kommt manchmal ein segfault der natuerlich schwerer zu finden ist als eine normale Python exception, aber sonst. Also es ist nicht so wie du das jetzt interpretiert hast.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Dienstag 2. September 2008, 10:38

Leonidas hat geschrieben:Naja, theoretisch. Praktisch fände ich es keine so tolle Idee, den Datenbankserver freizugeben, so dass Clients nach belieben SQL abschicken. Da würde ich eher noch einen RPC-Server oder ähnliches davorschalten, der eine Datenmanipulations-API bietet und sichergeht dass die Clients keinen Unfug anstellen.
RPC-Server kenne ich bisjetzt, leider nur dem Namen nach. Sicherheit ist natürlich wünschenswert. In wieweit bringt mir das denn eine höhere Sicherheit, wenn ich einen RPC-Server davor schalte? Von der Clientseite lassen sich, wenn man es richtig anstellt, doch nur vordefinierte Sql-Befehle verschicken.

Zum Thema RPC-Server: Wenn ich das richtig verstanden habe sind RPC und DB Server ein und derselbe? Und wenn ein RPC vorhanden ist schickt man einen Funktionsaufruf samt Parameter an den RPC der dann Intern eine Abfrage an die DB startet anstatt vom Client eine direkte Abfrage an die DB zu schicken?
name hat geschrieben:Mir ist wxPython nie einfach so gecrasht, wenn der Code falsch ist kommt manchmal ein segfault der natürlich schwerer zu finden ist als eine normale Python exception, aber sonst. Also es ist nicht so wie du das jetzt interpretiert hast.
Das beruhigt mich ein wenig, falscher Code lässt sich ja durch präzises und sorgfältiges Arbeiten minimieren... Ich habe Leonidas Post so interpretiert, als ob wxpython ohne plausiblen Grund (Wie z.B. falscher Code) crashen würde.
[i]who we are is but a stepping stone to
what we can become...[/i]
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 2. September 2008, 10:55

bake hat geschrieben:RPC-Server kenne ich bisjetzt, leider nur dem Namen nach. Sicherheit ist natürlich wünschenswert. In wieweit bringt mir das denn eine höhere Sicherheit, wenn ich einen RPC-Server davor schalte? Von der Clientseite lassen sich, wenn man es richtig anstellt, doch nur vordefinierte Sql-Befehle verschicken.
Wer sagt, dass von Clientseite nur vordefinierte Befehle möglich sind? Wenn der User das Passwort kennt kann er sich am Datenbankserver remote einloggen und dort beliebiges absetzen (vorrausgesetzt du hast nicht noch irgendwelche Beschränkungen auf der Datenbankebene eingestellt, aber auch dann kann man zumindest die Integrität der Daten kaputtmachen).
bake hat geschrieben:Zum Thema RPC-Server: Wenn ich das richtig verstanden habe sind RPC und DB Server ein und derselbe? Und wenn ein RPC vorhanden ist schickt man einen Funktionsaufruf samt Parameter an den RPC der dann Intern eine Abfrage an die DB startet anstatt vom Client eine direkte Abfrage an die DB zu schicken?
Richtig.
bake hat geschrieben:
name hat geschrieben:Mir ist wxPython nie einfach so gecrasht, wenn der Code falsch ist kommt manchmal ein segfault der natürlich schwerer zu finden ist als eine normale Python exception, aber sonst. Also es ist nicht so wie du das jetzt interpretiert hast.
Das beruhigt mich ein wenig, falscher Code lässt sich ja durch präzises und sorgfältiges Arbeiten minimieren... Ich habe Leonidas Post so interpretiert, als ob wxpython ohne plausiblen Grund (Wie z.B. falscher Code) crashen würde.
Mir ist es mal gecrasht als ich versucht habe eine Toolbar zu verstecken, was sollte an der Idee "falsch" sein? Er crasht nicht oft, aber es crasht bei richtigem ebenso wie "falschem" Code, je nachdem wo der Bug ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Dienstag 2. September 2008, 10:58

@bake: Wie stellt man es richtig an, dass von Clientseite nur "vordefinierte" SQL-Anfragen geschickt werden können? Es geht jetzt nicht nur um Dein Client-Programm, sondern das man ja auch anders an die DB kommt, wenn die im Netz zugänglich ist.

Zu wxPython: Es ist wohl schon so gemeint, das auch richtiger Quelltext crashen kann. D.h. eigentlich gültige Konstruktionen die nicht so funktionieren wie sie sollten. Aber es kracht halt deterministisch.

Wobei wxWidgets/wxPython ein soweit ich weiss ein aktives Projekt ist, da kann man also Bugreports schicken und berechtigte Hoffnung haben, das Fehler in Folgeversionen behoben werden.
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Dienstag 2. September 2008, 18:26

BlackJack hat geschrieben:Zu wxPython: Es ist wohl schon so gemeint, das auch richtiger Quelltext crashen kann. D.h. eigentlich gültige Konstruktionen die nicht so funktionieren wie sie sollten. Aber es kracht halt deterministisch.
Ah ok, aber immerhin deterministisch... ich lass mich einfach mal überraschen.
Leonidas hat geschrieben:Wer sagt, dass von Clientseite nur vordefinierte Befehle möglich sind?
Ich habe leider das Fragezeichen vergessen... Klar, wenn man das Passwort kennt kann man sich natürlich einloggen... Daran habe ich garnicht gedacht, bin halt nur von der Bedienung durch einen Client ausgegangen. In punkto Sicherheit sollte man mich also anscheinend zur Zeit nicht konsultieren :)

Vielen Dank soweit für die Hilfe! Echt gut zu wissen, dass man hier (im Notfall) kompetente Hilfe findet!
[i]who we are is but a stepping stone to
what we can become...[/i]
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Freitag 5. September 2008, 10:07

Unter der Annahme, dass so ein Verein von nur ein ganz paar Leuten organisiert wird und auch nicht all zu viele Leute auf die Daten lesend zugreifen, rate ich zu einer einfachen webbasierten CRUD-Anwendung.

Für diese ist Django sehr gut geeignet.

Für den Server würde ich eine reine Python-Lösung mit CherryPy empfehlen, damit man sich nicht mit der Installation von Webserver, mod-irgendwas, FCGI, usw. auseinandersetzen muss. Das scheint aber für dich kein Problem zu sein, also benutze deine Wunschkombination einfach.

Die Webanwendung lässt sich (dies ist unabhängig von Python und Django) so interaktiv gestalten, wie man es in JavaScript (Stichwort AJAX) eben schafft. Django unterstützt einen hier (im Gegensatz zu z.B. Rails für Ruby) nicht, stellt sich aber auch nicht in den Weg. Gerade für tabellarische Daten würde ich eine Bibliothek wie YUI oder ExtJS (kommerziell) empfehlen. Ein Freund von mir schwört auf SproutCore (zusammen mit Rails) welches Backend-neutral ist und daher auch mit Django zusammenarbeiten müsste - der MVC-Ansatz ist jedenfalls interessant und kombiniert die Vorteile einer traditionellen Desktop-Anwendung, was die Entwicklung angeht mit denen einer Webanwendung, was die Installation angeht.

Bei dem Magnetkartenleser wirst du jedoch nicht ohne eine zu installierende Anwendung auskommen. Diese kann dann natürlich ebenfalls mit einer Django-Anwendung auf dem Server per HTTP sprechen. Das ist IMHO der bessere Ansatz, als eine Datenbank über das Netz zugänglich zu machen.

Stefan
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 5. September 2008, 10:40

sma hat geschrieben:Ein Freund von mir schwört auf SproutCore (zusammen mit Rails) welches Backend-neutral ist und daher auch mit Django zusammenarbeiten müsste - der MVC-Ansatz ist jedenfalls interessant und kombiniert die Vorteile einer traditionellen Desktop-Anwendung, was die Entwicklung angeht mit denen einer Webanwendung, was die Installation angeht.
SproutCore scheint mir interessant zu sein, wenn man so etwas wie Desktopanwendungen im Browser machen will. Eine Interessante alternative dazu könnte auch Cappuccino und Objective-J sein (siehe 280slides). Persönlich finde ich so Sachen ziemlich sinnlos, der Geek-Faktor ist da durchaus vorhanden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Freitag 5. September 2008, 11:18

Cappuccino gibt es seit gestern und ich lese da gerade ;) Zuvor hatte ich nur in den Sourcecode von 280slides gespickt und gesehen, wie sie JavaScript um ein Klassenmodell a la Objective-C oder eben Smalltalk erweitert hatten. Definitiv ein hoher Geek-Faktor :)

Warum aber hältst du "so Sachen" für sinnlos? Anspruchsvolle UIs in JavaScript zu schreiben, ist doch big-PIA, da finde ich jeden Ansatz, der hier verspricht, Abhilfe zu schaffen, interessant. Insbesondere als Alternative zu GWT, welches mit einer bekannten statischen Programmiersprache zwar den Einsatz ebenso bekannter Werkzeuge erlaubt, aber irgendwie - statisch - ist.

Stefan
Antworten