Template-Engines: Reviews, Meinungen fürs Wiki gesucht

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Servus,

Nachdem mich Andy in diesem Thread darauf aufmerksam gemacht hat, dass Datenbanken im Wiki schwach behandelt werden, habe ich den Artikel [wiki]Python im Web[/wiki] etwas umgeschrieben (bin selbst noch nicht ganz überzeugt und fertig -> einie von den Abschnitten sind nur so Wischi-Waschi, damit da eben was steht).
Dabei bin ich wieder auf die Seite [wiki]Template Engines[/wiki] gestossen, die mich aus mehreren Gründen etwas verwundert hat.
Erstens, denke ich dass im Namen ein Bindestrich fehlt ;) Zweitens: so wie die Seite von der Intention gut gemeint ist, so sind meiner Meinung nach zu viele Template-Engines drin - es ist schön, dass da jemand sich auch kleine Template-Engines angesehen hat, aber ich denke es ist sinnvoller Engines anzusehen die eine gewisse Verbreitung haben. Die kleinen kann man dann auch noch in einem Satz zusammenfassen. Eine Einteilung in XML-Basierend und Text-basierend wäre da auch sinnvoll.

Mir würde so eine Liste der Template-Systeme vorschweben:
  • Cheetah - alteingesessen, populär
  • Kid - vielleicht, es scheint nicht mehr besonders relavant zu sein, nachdem TG nicht mehr 100%ig dahinter steht
  • Mako - nachdem die Myghty-Leute das scheinbar empfehlen, ansonsten hätte ich Myghty gesagt, weil es ein Mason-Port ist und beispielsweise Amazon Mason nutzt - also ist es durchaus auch erwähnenswert.
  • Genshi - der neue Star der Kid ablöst
  • Breve - ein etwas seltsamer Ansatz - STAN-like ;)
  • Jinja - weil das auch in der Django-Welt zunehmend populär wird
  • Django - und wie man es auch außerhalb des Frameworks nutzt
  • Nevow - Buzzwords: DivMod, Twisted, etc :D
  • Vielleicht noch irgendwas TAL-mäßiges. Vielleicht kann man ja TAL aus Zope3 nehmen? Oder ZPT?
Habt ihr irgendwelche weiteren Ideen, Vorschläge, etc.?

grüße,
Leonidas
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Leonidas hat geschrieben:so wie die Seite von der Intention gut gemeint ist, so sind meiner Meinung nach zu viele Template-Engines drin - es ist schön, dass da jemand sich auch kleine Template-Engines angesehen hat, aber ich denke es ist sinnvoller Engines anzusehen die eine gewisse Verbreitung haben.
Hallo Leonidas!

Lieber eine Liste mit allen Vorlagensprachen die es gibt als eine die versucht ein paar wenige als die Besten (Einzigen) hervorzuheben. Wenn schon eine Auflistung der Template Engines, dann eine vollständige. Sonst kommt wieder so etwas wie die derzeit im Wiki vorherrschende WSGI-Verherrlichung raus.

Man kann ja von jeder einen Link zu einer Seite hinzufügen, in der die "Vorteile" aufgezeigt werden können.

Man kann ja dazu schreiben, welche Engines derzeit wahrscheinlich am öftesten eingesetzt werden. :K

Wer entscheidet, welche Vorlagensprache die Beste ist?

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sorry :oops: Wie ich bei http://www.python-forum.de/topic-10146.html geschrieben hab, habe ich beim trennen Mist gebaut.

Also über die Template-Engines sollte es hier weiter gehen und über das Thema WSGI bitte bei http://www.python-forum.de/topic-10145.html weiter machen...

EDIT: Zurück zum Thema Template-Seite: Ich schließe mich gerold an.
Ich bin generell gegen das Löschen von Inhalten aus dem Wiki. Es sei denn sie sind unzutreffend bzw. veraltet. Ansonsten gilt: Nicht löschen, sondern verbessern. Was aber auch mehr Arbeit macht...
Allerdings ist IMHO eine Trennung zwischen den verbreitetsten Templates und den kleinen netten, vielleicht gut. Ob alles auf einer Seite bleiben sollte (Erst die großen, dann die kleinen) weiß ich nicht. Man könnte es auch so machen: Erst auf die großen eingehen und die kleinen auf eine Unterseite verschieben...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

gerold hat geschrieben:Lieber eine Liste mit allen Vorlagensprachen die es gibt als eine die versucht ein paar wenige als die Besten (Einzigen) hervorzuheben. Wenn schon eine Auflistung der Template Engines, dann eine vollständige.
Eine komplette Liste wird es nie geben können, weil laufend neue Template-Engines geschrieben werden.
gerold hat geschrieben:Man kann ja von jeder einen Link zu einer Seite hinzufügen, in der die "Vorteile" aufgezeigt werden können.
Also pro Engine eine Seite?
Hypothetische Wikiseite zu XIST hat geschrieben:XIST ist eigentlich kein Template-System, sondern ein erweiterbarer HTML/XML-Generator, eine Art "objektorientiertes XSL" in Python. Man erzeugt und manipuliert die Elemente auf der Webseite in Form von Python-Objekten im Speicher.
Das finde ich jetzt nicht so besonders toll. Außerdem leidet dann die Übersicht darunter.
gerold hat geschrieben:Man kann ja dazu schreiben, welche Engines derzeit wahrscheinlich am öftesten eingesetzt werden. :K
Ja, aber warum soll man über Templete-Engines schreiben die quasi gar nicht eingesetzt werden? Ich habe gemeint, dass man sie marginal beschreiben könnte. Aber ich finde, dass man populäre Templete-Engines durchaus detailierter beschreiben sollte. Sie sind ja nicht ohne Grund populär.
gerold hat geschrieben:Wer entscheidet, welche Vorlagensprache die Beste ist?
Die Relevanz. Buffet( wird von Pylons genutzt)/TurboGears unterstützen viele Template-Sprachen, weil einige Leute den Support für diese oder jene Sprache benötigt haben. Daraus folgt: je mehr es für eine Sprache Unterstützung gibt, desto relevanter ist die Sprache.

Edit: Antworten aus den Threads per Hand gecopypasted um diesen Thread halbwegs zu restaurieren.
Zuletzt geändert von Leonidas am Samstag 7. April 2007, 11:37, insgesamt 2-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jens hat geschrieben:Ich bin generell gegen das Löschen von Inhalten aus dem Wiki. Es sei denn sie sind unzutreffend bzw. veraltet. Ansonsten gilt: Nicht löschen, sondern verbessern. Was aber auch mehr Arbeit macht...
Ich habe nichts von Löschen gesagt: ich meine nur, dass die Seite in der Form für kaum jemanden brauchbar ist der nicht etwas seltsame Anforderungen hat (Python 2.2. kompatibel? Kleine Dateigröße?).

Was ich finde, dass bei Template-Engines nötig ist:
  • Popularität - je populärer, desto mehr Leute haben sowas was man machen will schon mal gemacht
  • Aktualität - wenn Bugs gefnden werden, werden sie auch schnell korrigiert, wenn die Performance schlecht ist, gibt es eine CHance da was zu verbessern etc.
  • Dokumentation - hat auch wieder mit Popularität zu tun. Je mehr Leute das nutzen, desto mehr Dokumentation, Tipps & Tricks gibt es dazu.
  • Support - in Form von Mailinglisten, Kontakt zum Entwickler, IRC. Also irgendwo wo man seine Fragen auch stellen kann und sie auch beantwortet bekommt.
  • Features - gibt es innovative Features? Es schadet nicht auch "neue" Ansätze zum Templating zu zeigen wie Nevow Stan/Breve.
Und was heißt nette kleine Template-Engine? Für mich als Entwickler ist die Codegröße in erster Linie nicht interessant, solange die API verständlich ist (und wenn buffet sie unterstützt umso besser, weil ich dann nur eine API habe, die mehrere Sprachen unterstützt), wenn die Performance stimmt und wenn es so funktioniert wie ich will. Ob jetzt die Engine aus einer Datei oder aus einem Package besteht ist ziemlich egal. Mein Betriebssystem besteht aus mehreren tausend Dateien - ist das ein Problem für mich? Nein.

Wenn ich einen Überblick über Templating-Systeme suche, dann hilft mir die aktuelle Seite nicht sonderlich weiter, weil sie von Underdogs erzählt, die kaum einer nutzt ("Jsut another template engine/just another web framework"). Für einige Spezialfälle sind diese kleinen Template-Engines gut, aber für die meisten überwiegen die Vorteile von "normalen" Tempalte-Engines. Das ist auch der Grund warum nicht jedes Python-Framework genauso gepusht wird wie die größeren: weil sie eben für die meisten optimal sind.

Edit: Antworten aus den Threads per Hand gecopypasted um diesen Thread halbwegs zu restaurieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Hab meine Vorschläge auf die [wiki=Diskussion/Template_Engines]Diskussionsseite[/wiki] geschrieben.
TUFKAB – the user formerly known as blackbird
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

+1.

Ich schlage vor, SimpleTAL mit aufzunehmen und anzuschneiden. Gerade für Umsteiger von Zopes ZPT könnte das ein wichtiger Zwischenschritt sein.
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Also ich hab mir das ganze mal durchgelesen.

Erstmal bei der Startseite. Da habe ich einiges verbessert (abhehackte Sätze etc.)

Aber eins weiß ich nicht. Ich mag den Begriff ``hoster`` zwar. Aber ich finde irgentwie, das es in diesem Satz scheiße wirkt. Nur suche ich nach einer gescheiten Übersetzung.
(es geht um den Satz:)
Wer Python bei komerziellen Hostern laufen lassen möchte, findet auf der Seite ["Python_Webspace"] eine Übersicht
Man könnte allerdings auch einfach `` Anbieter schreiben, da es in diesem Abschnitt so oder so um ``Python Webspace `` geht.
Ideen? ;)

Des weiteren finde ich... mag sein, das ich falsch liege... aber auf der Seite `Python im Web` werden zZ nur komponenten für den Einsatz im Web genannt. Da passt Python-Webspace irgentwie nicht so ganz herein. Eventuell könnte man das ganz nach unten über den Abschnitt, mit den Ausführungsproblemen setzen. Oder gleich beide vereinen (gehören ja zusammen)

Eine Frage noch aus Anwenderseite. ``= Low Level Webentwicklung =`` . Ist das das kommunizieren, direkt mit z.b. mod_python oder FastCGI? Wenn ja, sollte das da dann auch drinne stehen ;)

Weiterhin ist mir auch mal aufgefallen, das Datenbanken irgentwie im Wiki sehr kurz kommen oder? Nur drei Seiten?

Zu den Template Engines.
Ich finde auch, das man sich einigen sollte und nur die gößten eintragen sollte. Solch Sachen wie PyMeld, XIST könnte man komplett löschen.

Also auf Anhieb würden mir auch folgende einfallen:
  • Genshi
  • Jinja (hier eventuell noch 0.9 und 1.0 erwähnen, welche grundverschieden sind)
  • Kid
  • TAL, SimpleTAL
Mag sein, das ich jetzt einige vergessen habe ;)

Jedoch würde ich zum beispiel ``PyTemplate`` eventuell in der Liste drinne lassen, da es so klein ist, das auch kleinere Programierer es verändern können. Bei mir hat es mir sehr viel geholfen, wo ich mal ein System mit Template Engine schreiben musste aber mir jede andere zu groß war.

So... fertig ;)

MfG EnTeQuAk
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Vielleicht könnte man ja auch noch dazu schreiben, wenn man eine Minimallösung eines Template-Engines braucht, man einfach das in 2.4 eingeführte `string.Template` nehmen kann.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ist ja schön, das ihr hier Aufzeigt, was alles im Wiki fehlt und was man aufschreiben könnte... Doch, so weit ich weiß, haben wir keinen Angestellten Autor dafür :lol:

Will sagen: Bitte im Wiki auf "Editieren" klicken :wink:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Will sagen: Bitte im Wiki auf "Editieren" klicken Wink
Ich habe schon drei Seiten editiert. Jedoch wollte ich mich erst mit euch verständigen, wenn ich etwas größere Umstellungen mache. Oder soll ich einfach loslegen?

War ja nur ne Frage...

MfG EnTeQuAk
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Jain. Das Diskutieren über Umstrukturierungen meinte ich eigentlich nicht. Das ist schon nicht schlecht, wenn man das vorher hier oder im Wiki bespricht. Gerade wenn man Sachen löschen möchte.

Es ist nur Sinnlos hier zu erwähnen, was denn alles noch so fehlt...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Habs mal hinzu geschrieben: [wiki]Template Engines[/wiki]?action=show#Minimallsung
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

EnTeQuAk hat geschrieben:Man könnte allerdings auch einfach `` Anbieter schreiben, da es in diesem Abschnitt so oder so um ``Python Webspace `` geht.
Finde ich gut, ja.
EnTeQuAk hat geschrieben:Eine Frage noch aus Anwenderseite. ``= Low Level Webentwicklung =`` . Ist das das kommunizieren, direkt mit z.b. mod_python oder FastCGI? Wenn ja, sollte das da dann auch drinne stehen ;)
Ja, wobei ich niemanden kenne der SCGI und FastCGI nicht über WSGI benutzt.
EnTeQuAk hat geschrieben:Weiterhin ist mir auch mal aufgefallen, das Datenbanken irgentwie im Wiki sehr kurz kommen oder? Nur drei Seiten?
Muss erweitert werden, ganz recht.
EnTeQuAk hat geschrieben:Also auf Anhieb würden mir auch folgende einfallen:
  • Genshi
  • Jinja (hier eventuell noch 0.9 und 1.0 erwähnen, welche grundverschieden sind)
  • Kid
  • TAL, SimpleTAL
Mag sein, das ich jetzt einige vergessen habe ;)
Ich habe mal die:

Code: Alles auswählen

-rw-r--r--  1 leonidas leonidas 209K Jul  5  2006 Cheetah-2.0rc7.tar.gz
-rw-r--r--  1 leonidas leonidas 128K Dec 11 13:21 Genshi-0.3.6.tar.bz2
-rw-r--r--  1 leonidas leonidas 119K Mar 23 17:35 Jinja-1.0.tar.gz
-rw-r--r--  1 leonidas leonidas 180K Mar 31 23:23 Mako-0.1.5.tar.gz
-rw-r--r--  1 leonidas leonidas 451K Mar 21 00:50 Nevow-0.9.18.tar.gz
-rw-r--r--  1 leonidas leonidas  94K Sep  6  2006 SimpleTAL-4.1.tar.gz
-rw-r--r--  1 leonidas leonidas  28K Feb 22 12:42 breve-1.1.5.tar.gz
Jinja 0.9 vorzustellen finde ich zwecklos.

Ich werde in den nächsten Tagen (hoffe schon heute) einige Distributionsupgrades machten, und dann schaue ich was sich machen lässt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

EnTeQuAk hat geschrieben:
Will sagen: Bitte im Wiki auf "Editieren" klicken Wink
Ich habe schon drei Seiten editiert. Jedoch wollte ich mich erst mit euch verständigen, wenn ich etwas größere Umstellungen mache. Oder soll ich einfach loslegen?
Die Edits halten sich in Grenzen, und ich zumindest schaue mir immer mal wieder alle aufgelaufenen Änderungen an. Wenn mir da was nicht gefällt, kann ich immer noch schreien.

Will sagen: nur zu!
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Will sagen: nur zu!
Das hört sich gut an ;)

Gut, das ich krankgeschrieben bin ;) Da kann ich ja gleich mal ein wenig durchs Wiki stöbern.


MfG EnTeQuAk
Antworten