Loginsystem

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

Wenn man bei Django eigene User-Objekte haben will, verliert man wahrscheinlich das auth-Modul und damit dann auch das Admin-Modul. Kann man beides weglassen, aber dann bleibt von Django wenig übrig (views, URL-mapping, ORM) insbesondere wenn man diese beiden als die Kronjuwelen ansieht, die das Rahmenwerk von anderen (wie z.B. Rails) unterscheiden.

Ich hatte man ewig und drei Tage gesucht, ob ich irgendwie per Monkey-Patching die User-Klasse austauschen und trotzdem noch das Admin UI benutzen kann. Uns war die Längenbeschränkung von 30 für den username (wo nämlich etwas der Art name@domain rein sollte) zu klein. Inzwischen würde ich ja ganz pragmatisch sagen: Django forken und einfach die Stelle ändern. Das ist in 10 Minuten gemacht.

@audax: Das Problem ist, dass das username-Feld viel zu kurz ist.

@kostonstyle: Rails jetzt nur, weil du "username" nicht so benutzen kannst, wie du willst? Wow. Oder gibt es weitere Gründe? Bei Rails fehlen dir im Gegensatz zu Django schon mal eine eingebaute Authentifizierung und natürlich auch das eingebaute Admin-UI. Für beides gibt es dafür jeweils mindestens ein halbes Dutzend Alternativen, die zu evaluieren echt lange dauern kann. Okay, dafür hast du bei Rails Datenbank-Migrationen. Aber bedenke, dass der ORM von Rails (ActiveRecord) noch primitiver ist, als der von Django, der (IMHO zu unrecht) auch gerne mal nieder gemacht wird. Erst Rails 3 (mit dem ich ehrlich gesagt anfangen würde) zieht da gleich - oder man nimmt gleich DataMapper bzw. MongoMapper und damit gar keine relationale DB mehr. Spart dann auch die Datenbank-Migrationen ein. Oh, man verliert bei Rails natürlich auch das Django-Template-System, welches offenbar doch so beliebt ist, dass es mindestens 20 verschiedene Template-Systeme für JavaScript (und JQuery) gibt, die alle mehr oder weniger dieses nachbauen. Klar, für Rails kann man's mit Liquid nachrüsten (und Liquid ist tatsächlich besser in der Implementierung als das, was die Django-Entwickler fabriziert haben) doch das scheint mir in der Rails-Community kaum einer zu nutzen. Entweder ERB oder Haml, wenn man zu den coolen Jungs gehören will. Beiden Ansätzen fehlt Inheritance, was aber wohl mit Rails 3 kommen wird. In Yehudas Katz findet man z.B. eine eine Implementierung für Template-Inheritance, doch auch hier gilt wieder, man muss es sich selbst zusammensetzen und viel suchen. Das finde ich leider - so sehr ich Ruby und Rails auch mögen möchte und das Programming Ruby-Buch hier schon seit einigen Wochen auf meinem Schreibtisch liegt - unnötig umständlich.

Also, was waren deine Gründe, Rails zu benutzen (und warum nicht Merb, Sinatra, Rango, Ramaze, Cramp oder wie das Rahmenwerk der Woche gerade heißt)?

Stefan
kostonstyle
User
Beiträge: 148
Registriert: Sonntag 2. November 2008, 12:13

habe mich im internet über rails ein bisschen schlau gemacht, und zum grössten teil stehen in diversen artikel, dass die möglichkeiten in rails weitaus grösser ist als in django. Es kommt natürlich wieder drauf an, was man machen möchte. dieser artikel hat mich beeindruckt zu wechseln
http://bielenberg.info/?p=20 vor allem dieser Satz hier
....in dem sie Django Vorteil in der Entwicklung von “klassischen” Websites einräumen (Django kommt aus dem Zeitungsumfeld), während Rails seine Stärken in der Entwicklung von Web-Applikationen hat (Rails kommt aus dem Umfeld von 37Signals mit Anwendungen wie Backpack oder Tada-Lists)....
Das Konzept von Django ist wirklich genial, aber ich finde die Möglichkeiten sind etwas begrenzt. Ich weiss es nicht, ob das, was ich geschriebe als Argument, bin auch relativ ein anfänger in webbereich.
@sma von kennst du dich mit rails aus?

edit (jens): code tag nach quote gewechselt...
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

kostonstyle hat geschrieben:habe mich im internet über rails ein bisschen schlau gemacht, und zum grössten teil stehen in diversen artikel, dass die möglichkeiten in rails weitaus grösser ist als in django. Es kommt natürlich wieder drauf an, was man machen möchte. dieser artikel hat mich beeindruckt zu wechseln
http://bielenberg.info/?p=20
Nur so interessehalber: Verlässt du dich bei Hardwarekäufen auch auf 3 Jahre alte Testberichte?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ich habe mich heute mal mit Ruby on Rails auseinandergesetzt und bin schon beeindruckt. DB Migrationen, brauchbares Templating und Forms sind schon sehr cool.

Ohne Ruby ernsthaft benutzt zu haben hat man einen einfachen Blog quasi sofort. Zugegeben die meiste Zeit verbringt man bei Rails auch damit Templates zu schreiben.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

DasIch hat geschrieben:Ich habe mich heute mal mit Ruby on Rails auseinandergesetzt und bin schon beeindruckt. DB Migrationen, brauchbares Templating und Forms sind schon sehr cool.
Gut das hat Django auch alles
Ohne Ruby ernsthaft benutzt zu haben hat man einen einfachen Blog quasi sofort. Zugegeben die meiste Zeit verbringt man bei Rails auch damit Templates zu schreiben.
Same for django, mit dem Unterschied, dass ich für den Admin keine Templates mehr brauch und der schöner als das Scafffolding ist…
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

kostonstyle hat geschrieben:
....in dem sie Django Vorteil in der Entwicklung von “klassischen” Websites einräumen (Django kommt aus dem Zeitungsumfeld), während Rails seine Stärken in der Entwicklung von Web-Applikationen hat (Rails kommt aus dem Umfeld von 37Signals mit Anwendungen wie Backpack oder Tada-Lists)....
Wie gesagt, das ist 3 Jahre alt und in 3 Jahren wird im Web so ziemlich alles drei mal umgekrempelt
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

DasIch hat geschrieben:Ich habe mich heute mal mit Ruby on Rails auseinandergesetzt und bin schon beeindruckt. DB Migrationen, brauchbares Templating und Forms sind schon sehr cool.
Also das Templating scheint doch laut sma nicht ganz so toll zu sein (ich selbst nutze in Django Jinja fürs Templating) und die Forms die Django bietet sind IMHO relativ brauchbar.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Leonidas hat geschrieben:Also das Templating scheint doch laut sma nicht ganz so toll zu sein (ich selbst nutze in Django Jinja fürs Templating) und die Forms die Django bietet sind IMHO relativ brauchbar.
Zu den Forms hätte ich auch noch eine Anmerkung. Ich habe auf der FrOSCon mal einen Blick auf Dojango (die Kombination aus Django und Dojo) geworfen. Ich bin eher kein Fan von JavaScript, aber das hat mich schon ziemlich beeindruckt. Alleine die Möglichkeit die Standardwidgets durch die von Dojo zu ersetzen und das dann in Aktion zu sehen führt zu einem Wow-Effekt.
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Dojo, pah ... schau Dir jQuery an und arbeite ein wenig damit, und Dojo kommt Dir vor, wie mit einem Panzer auf Mücken zu ballern, wobei die Steuerung exakt so schwerfällig ist wie man vermuten würde.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Masaru hat geschrieben:Dojo, pah ...
Ja, ich mag Dojo auch nicht sonderlich. Der Ansatz HTML um beliebige Attribute zu erweitern lässt mich... schaudern. Da kann die Library auch noch so gut sein, meine Meinung geht mit der Meinung der Entwickler auseinander.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

kostonstyle hat geschrieben:@sma von kennst du dich mit rails aus?
Es reicht für eine eigene Meinung. Ich verfolge die Entwicklung von Rails seit 2004. Hier hatte ich mal einen längeren Text geschrieben: http://forum.ruby-portal.de/viewtopic.php?f=6&t=9742

Ein paar Anmerkungen zu dem Text, denn auch er ist schon 6 Monate alt. Aktuell bin ich weniger an Django als denn an Rails 3 interessiert. Die Aussage, dass Ruby die schickere Sprache ist, möchte ich noch mal klarstellen: Mir gefiel und gefällt hauptsächlich die Smalltalk-verwandte Semantik, doch die Ruby-Syntax hat so einige sumpfige Ecken. Das gelbe vom Ei ist Ruby auch (leider) nicht. Der geschilderte Nachteil von Python, zu viele Webrahmenwerke mit einer zu aufgesplitterten zu haben gilt nun eigentlich auch für Ruby, denn seit Rack (dem WSGI für Ruby) ist es so einfach, ein eigenes Web-Rahmenwerk zu bauen, dass kaum eine Woche vergeht, wo es nicht irgendeine neue Ankündigung gibt. Inzwischen haben ich für Rails ein sehr shickes Admin-UI gefunden, allerdings missfällt mir ActiveRecord und ich finde glaube ich DataMapper besser (dessen Dokumentation sich gebessert hat) - und weiß nicht, ob das Admin UI dafür auch funktioniert. Aber mit Rails 3 wird sich da bestimmt in den nächsten Wochen noch mehr tun. Gegen meine Generator-Bauchschmerzen gibt es inzwischen InheritedResources, was ganz schick aussieht. Das if-Problem bei Django-Templates wird ja im Gegenzug hoffentlich mit Django 1.2 gelöst. Dafür ist es IMHO um das von mir noch gelobte Pinax-Projekt recht still geworden.

@Leonidas: Ich vermisste bei Rails die Möglichkeit zur Template-Vererbung. Ansonsten ist das nicht besser oder schlechter als Mako oder Jinja. Ein Django-kompatibles Template-System gibt es mit Liquid.

Ich glaube, ein wichtiger Aspekt für Rails ist noch, dass sich darum mehr als ich es bei Python und/oder Django spüre eine Startup-Gemeinde geformt hat.

Und noch zu dem Artikel von 2006: Das Java-Entwickler-Ärgern von DHH in der Anfangszeit von Rails war ein geniales Marketing, um Aufmerksamkeit zu bekommen. 3 Jahre später kann man sagen, es hat sich gelohnt. Pythons vornehme Zurückhaltung macht das Argumentieren für diese Technologie viel schwerer. Ich glaube, das in dem Artikel gelobte RJS ist inzwischen kaum noch wichtig. Auch wenn Rails 3 wohl immer noch Prototype bündelt, ist inzwischen JQuery deutlich beliebter und Rails 3 funktioniert auch prima mit JQuery und allgemein schreibt man in der Community wohl lieber JavaScript in JavaScript und nicht mit Ruby-artiger Syntax.

Stefan
Antworten