Was haltet ihr von web2py?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Sonntag 2. März 2008, 11:14

Bin gestern zufällig über Web2py (formerly known as Gluon) gestolpert und habe mir das Tutorial-Video angeschaut. Es macht ein bisschen seekrank, aber ich fand beeindruckend, wie man das ganze System direkt über das Web bedienen kann. Leider ist aktuelle Dokumentation irgendwie verunglückt oder sie ist noch schlechter als die von web.py und quasi nicht existent.

Ich wäre mit diversen kleinen Designentscheidungen und Benennungen nicht wirklich zufrieden, aber die Vision gefällt mir. Ein Download, ein Doppelklick, ein Browser und man kann Webanwendungen bauen. Ich denke, man könnte die Idee der IDE im Browser noch deutlich weiter ausbauen und auf diese Weise vielleicht sogar Python-Webapp-Hosting anbieten...

Hat jemand schon mal Erfahrungen mit größeren Anwendungen mit diesem Rahmenwerk gemacht?

Stefan
ronny
User
Beiträge: 9
Registriert: Donnerstag 19. Juli 2007, 14:50

Sonntag 2. März 2008, 12:07

es ist unbrauchbar
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Sonntag 2. März 2008, 12:19

Warum?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 3. März 2008, 18:13

ronny hat geschrieben:es ist unbrauchbar
Schließ ich mich an.

Und bitte übersetzt Framework nicht mit Rahmenwerk. Das klingt einfach schlimm.

zu gluon^Wweb2py sag ich nur eins:
user: does the ORM support inheritance?
developer: dunno, try?
//EDIT: Mit diesem Brecheisen-Deployment ist übrigens schon CheryPy 1 gescheitert.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Montag 3. März 2008, 18:40

web2py website hat geschrieben:A5 - Cross Site Request Forgery (CSRF)
A CSRF attack forces a logged-on victim's browser to send a pre-authenticated request to a vulnerable web application, which then forces the victim's browser to perform a hostile action to the benefit of the attacker. CSRF can be as powerful as the web application that it attacks.

web2py only uses session cookies and prevents double submission of forms.
web2py website hat geschrieben: A8 - Insecure Cryptographic Storage
Web applications rarely use cryptographic functions properly to protect data and credentials. Attackers use weakly protected data to conduct identity theft and other crimes, such as credit card fraud.

web2py, by default, uses the md5 algorithms to hash passwords. Other algorithms such as the HMAC are also available.
web2py website hat geschrieben: To develop with web2py you only need to know Python (the easiest of programing languages)
Irgend wie bekomme ich da das Gefühl dass das der Mann nicht weiss wovon er Spricht ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Montag 3. März 2008, 18:42

veers hat geschrieben:Irgend wie bekomme ich da das Gefühl dass das der Mann nicht weiss wovon er Spricht ;)
Hat er anscheinend auch nicht. Auch nicht von Python, der Code ist grauenhaft. Da wird mit eval rumgespielt, dass es kracht.
TUFKAB – the user formerly known as blackbird
lunar

Montag 3. März 2008, 20:10

mitsuhiko hat geschrieben:Und bitte übersetzt Framework nicht mit Rahmenwerk. Das klingt einfach schlimm.
Danke, dass du uns Englisch beibringst...
zu gluon^Wweb2py sag ich nur eins:
user: does the ORM support inheritance?
developer: dunno, try?
:D
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mittwoch 5. März 2008, 10:54

mitsuhiko, dein Quote findet Google ausschließlich in einem IRC-Log von dir, wo du statt user und developer Q und A schreibst, was wiederum andeutet, es stünde in der FAQ von web2py was ich wiederum nicht nachvollziehen kann. Wenn dass das beste Argument dagegen ist, dann ist es ein schlechtes.

Zudem: ORM gibt es bei web2py doch überhaupt gar nicht. Dort werden Tabellen und Datensätze doch direkt benutzt und nicht auf Exemplare von Domainenmodell-Klassen abgebildet. Nur letztes würde ich ORM nennen, nicht die Tatsache, dass natürlich die Werte der Spalten irgendwie im Python-Interpreter repräsentiert werden müssen und da dieser nur Objekte kennt wären dass dann automatisch auch Objekte und damit ein ORM.

Von Java kommend schätze ich sehr, dass man die Wahl hat und Anwendungen entweder geschlossen inklusive Webserver (z.B. Tomcat) ausliefern kann oder aber in einem Standardformat, welches dann von jedem JavaEE-konformen Server benutzt werden kann. Das plattformabhängige Gefummel mit diversen Webservern, Apache-Moduln, FCGI-Scripten, Extracode wie flup, den man sich irgendwo noch besorgen muss usw. ist ein deutlicher Rückschritt gegenüber der standardierten Verfahren in der Java-Welt. Daher habe ich durchaus Sympathie für ein Verfahren, welches die Webentwicklung durch Mitbringen eines Servers vereinfachen will.

Von Smalltalk kommend schätze ich zudem sehr die in sich geschlossene Entwicklungsumgebung (sieht so aus, als wenn Cincom gerade versucht, Seaside für VisualWorks entsprechend aufzubohren), insbesondere wenn es nicht die einzige Möglichkeit ist und ich nach Wunsch immer noch direkt die Dateien anpassen kann. Gerade aber für kleine Projekte und Demos ist es schick, wenn man nichts außer einem Webbrowser braucht, da einem dies die lästige Diskussion nach der passenden IDE erspart. Java-Entwickler fragen nämlich sofort nach der IDE, da sie meist nicht alt genug sind, davor auch andere Sprachen schon eingesetzt zu haben und sich sich aufgrund der Umständlichkeit der Sprache in der Regeln nicht vorstellen können, das es auch ohne das geht, was sie inzwischen als IDE gewohnt sind.

Die Zitate, die veers anführt, haben IMHO schon mehr Gewicht, denn sie erlauben, von der schlechten Argumentation auf mangelndes Wissen des Autoren zu schließen. Natürlich gibt es viel zu viele Systeme, die Kennworte unverschlüsselt ablegen, aber andererseits ist es nun auch kein so gewaltiges Feature, einen MD5-Hash zu benutzen. Zudem, SHA-256 wäre besser ;) Und ein HMAC wäre falsch am Platz, da er für andere Dinge gedacht ist.

Was ich dem web2py ja vorwerfe, ist die grausam schlechte Dokumentation. Selbst web.py ist besser und das war auch schon nicht doll. Django scheint hier echt eine Ausnahme zu sein. Zu Pylons/TurboGears kann ich nicht viel sagen. mitsuhikos Werkzeug hat allerdings eine ebenfalls erwähnswerte gute Dokumentation.

Ich glaube, ich sehe in web2py mit meiner goldenen Brille nach dem Anschauen des Tutorials etwas anderes, als das man sehen würde, schaute man sich den Quelltext an. Vielleicht muss ich mal zu der langen "man müste mal"-Liste noch den Punkt hinzuzufügen, eine Webbasierte "IDE" für Django zu bauen :)

PS: mitsuhiko, ich habe schon mit Rahmenwerken gearbeitet, als du gerade eingeschult wurdest, wenn ich richtig gerechnet habe. Lass mir also bitte meine deutsche Sprache, denn ich bin diese Begriffe gewohnt ;)

Stefan
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Mittwoch 5. März 2008, 11:01

lunar hat geschrieben:
mitsuhiko hat geschrieben:Und bitte übersetzt Framework nicht mit Rahmenwerk. Das klingt einfach schlimm.
Danke, dass du uns Englisch beibringst...
Es gibt deutsche Texte und Bücher die ich nicht verstehe weil jeder Schei** krampfhaft eingedeutscht wurde.

Es hat ne Weile gedauert bis ich zb wusste was "Sichten" sind oder "nebenläufig" bedeuten soll :evil:
BlackJack

Mittwoch 5. März 2008, 11:44

Was IMHO beides gute deutsche Worte sind, die ich auch gerne in deutschen Texten lese. Andersherum finde ich nämlich "deutsche" Texte zum kotzen, in denen jedes zweite Wort englisch ist, auch wenn es passende deutsche Fachbegriffe dafür gibt. Das zeigt meistens nämlich, dass der Autor entweder versucht Inhaltsleere mit toll klingendem Fachenglisch zu füllen, oder das er von dem Thema nicht genug Ahnung hat, um einen deutschen Text darüber zu schreiben.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mittwoch 5. März 2008, 11:57

sma hat geschrieben:mitsuhiko, dein Quote findet Google ausschließlich in einem IRC-Log von dir, wo du statt user und developer Q und A schreibst, was wiederum andeutet, es stünde in der FAQ von web2py was ich wiederum nicht nachvollziehen kann. Wenn dass das beste Argument dagegen ist, dann ist es ein schlechtes.
das Original. Ich finde das traurig. Oder die web2py docs machen sowas: now=datetime.today(); column.initial=now. Aber in den Definitionen der Datenbank. Wenn der Server länger als einen Tag rennt ist der Initialwert ein falscher Tag. Sowas, und dann noch in einem Tutorial, evals im Code and Stellen wo das einfach nur unnötig, gefährlich oder lächerlich ist zeigt für mich ziemlich eindeutig was gluon ist...
Zudem: ORM gibt es bei web2py doch überhaupt gar nicht. Dort werden Tabellen und Datensätze doch direkt benutzt und nicht auf Exemplare von Domainenmodell-Klassen abgebildet. Nur letztes würde ich ORM nennen, nicht die Tatsache, dass natürlich die Werte der Spalten irgendwie im Python-Interpreter repräsentiert werden müssen und da dieser nur Objekte kennt wären dass dann automatisch auch Objekte und damit ein ORM.
Gluon nennt es trotzdem ein ORM.
PS: mitsuhiko, ich habe schon mit Rahmenwerken gearbeitet, als du gerade eingeschult wurdest, wenn ich richtig gerechnet habe. Lass mir also bitte meine deutsche Sprache, denn ich bin diese Begriffe gewohnt ;)
Anscheinend nicht nur du. Dann nehm ich das mal zurück. Finde trotzdem Framework wesentlich angenehmer als Rahmenwerk. Ich finds einfach anstrengend immer umdenken zu müssen. Tail-Recursion -> Endrekursion geht ja noch, aber Pushdown automaton und Kellerautomat ist dann schon zuviel des Guten :)
Es ist einfach so, dass 95% der guten Freien Literatur Englisch ist und ich finde, dass die Begriffe dann durchaus auch im Deutschen verwendet werden sollten. Wenn wir anfangen WSGI noch in WSPS nennen wirds richtig schlimm :D
TUFKAB – the user formerly known as blackbird
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Mittwoch 5. März 2008, 12:04

Alles schön und gut, aber MySQL versteht zb nicht wenn ich ihm was von Sichten erzähle. Außerdem kommt man doch um englische Literatur sowieso nicht herum. Ich finde es ausgesprochen anstrengend auch noch Fachbegriffe in zwei Sprachen zu lernen, zumal mir die Deutschen Wörter wie erwähnt sowieso selten was bringen.

Und es gibt auch Begriffe die sich einfach nicht vernünftig mit einem Wort ins Deutsche übersetzen lassen. Und wenn es doch versucht wird bekomme ich einfach nur Kopfschmerzen :x

In der Alltagssprache bin ich deiner Meinung. Ich finde dieses pseudo-coole Denglisch Gequatsche einfach nur Panne, vor allem Begriffe wie "Service Point", die kein Engländer verstehen würde.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mittwoch 5. März 2008, 12:53

mitsuhiko, danke für die Quellenangabe. Ungeschickte Antwort von Massimo. 10 Tage später wusste er dann wohl, was Inheritance ist und konnte schreiben, dass Vererbung von Modellen prinzipiell bei deren "ORM" nicht geht. Irgendwie wirkt das ganze alles zwar bemüht aber immer ein bisschen dilletantisch...

Ich hätte gerne etwas wie Heroku für Python, denke ich. Nur eben nicht als kommerzieller Service sondern als Opensource-Projekt zum einfachen selbstinstallieren.

Stefan
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mittwoch 5. März 2008, 14:03

sma hat geschrieben:Ich hätte gerne etwas wie Heroku für Python, denke ich. Nur eben nicht als kommerzieller Service sondern als Opensource-Projekt zum einfachen selbstinstallieren.
Zope 2 hatte sowas. Aber Gott sei Dank ist das mit Zope 3 jetzt weg. Man hat erkannt, dass Leute lieber ihre Editoren und Versionierungssysteme verwenden als das was Zope im Angebot hatte.
TUFKAB – the user formerly known as blackbird
BlackJack

Mittwoch 5. März 2008, 19:17

@burli: Das ist ein blödes Argument. Dann müsste man auch sagen, im ersten Python-Programm "print"et man den "String" «Hallo Welt», weil Python nichts mit "ausgeben" und "Zeichenkette" anfangen kann. Und so ein "view" ist nun mal eine Sicht.
Antworten