Verfasst: Samstag 19. November 2005, 20:50
Einer der Grünge von Leonidas gegen Zope, war sein relativ hoher Resourcenverbrauch... Ich hab da keine Erfahrungen mit, wie siehst du das, als Zope Fan ???
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Naja, dafür gibt's unter Umständen überflüssige Tags auf die er achten muss.gerold hat geschrieben:Ich gehe mit meiner Meinung zu diesem Thema ziemlich mit den Entwicklern von TAL konform. Bei TAL gibt es nur eine Stelle, an der Code sein darf --> als Attribut eines TAGs. So gibt es für den, der die Seite später einmal umgestalten muss, nicht so viel zu bedenken.BlackJack hat geschrieben:Was genau beanstandest Du denn an der zitierten Codezeile? Wie sollte das denn getrennter aussehen? Irgendwo *muss* man letztendlich eine Schnittstelle zu Funktionen/Methoden anbieten.
Genau so ist's bei Kid auch.Er muss natürlich ein paar Dinge über Tal wissen. Zum Beispiel:
- Wenn im TAG "tal:replace" steht, dann wird der komplette TAG ersetzt. Es bringt also nichts, wenn er eine Änderung als TAG-Content hinein schreibt.
- Wenn im TAG "tal:content" steht, dann wird der Inhalt des TAGs ersetzt. Die TAG-Definition selbst, bleibt erhalten.
Der, der die Seite später mal editiert, muss also nur ein paar Grundregeln beachten um die Seite nicht zu zerstören.
Aber diese Trennung ist doch bei Kid auch machbar. Und umgekehrt ist es schwierig die Trennung zu umgehen. Richtig frei Python Quelltext kann man nur als `Processing Instruction` (PI) eingeben, sonst sind nur Aufrufe möglich. Und innerhalb von PIs kann man keine "Ausgaben" machen. Üblicherweise hat man am Anfang eine PI mit den notwendigen ``import`` Anweisungen und dann nur noch Aufrufe von entsprechenden Funktionen die man importiert hat.Es kann komplizierter werden, wenn auch noch innerhalb eines TAGs Code stehen kann. Ich kann diese Aussage nicht beweisen, da es sich dabei um eine Bauchsache handelt.
Man kann sich ja mal den Quellcode von vielen ASP- oder PHP-Seiten ansehen, die so im Internet herumschwirren, oder die man selber programmiert hat. Viele sind kaum mehr wartbar, da es kaum oder keine Trennung zwischen Code und Content gibt.
Mag sein, das DTML diese Probleme hat. Kid-Vorlagen sind immer gültiges XML.Es gab eine Zeit, das ist noch gar nicht so lange her, da erstellte ich dynamische Internetseiten in Zope mit DTML. DTML ist sehr mächtig und man kann damit auch innerhalb eines Textes Variablen einfügen.
Aber genau diese Möglichkeit, macht dir auf einmal Schwierigkeiten, wenn du innerhalb eines TAGs ein Attribut verändern, hinzufügen oder löschen möchtest. Auch ein WYSIWYG-Editor hat keine Chance mehr, da der Code das TAG so verändert, dass es nicht mehr HTML-konform ist.
So engstirnig waren die Kid-Entwickler nicht. Die wollten ein XML-Vorlagen-System und nicht nur was für Webseiten.Genau über solche Dinge und noch viel mehr, haben sich die Entwickler von TAL, METAL und Co. Gedanken gemacht. Das Ergebnis ist nicht nur eine Vorlagensprache, sondern eine komplette Strategie zur Website-Erstellung.
Code: Alles auswählen
<p>
The current time is
<span tal:content="python: time.strftime('%C %c')">[Time]</span>.
</p>
Hi Jens!jens hat geschrieben:Einer der Grünge von Leonidas gegen Zope, war sein relativ hoher Resourcenverbrauch... Ich hab da keine Erfahrungen mit, wie siehst du das, als Zope Fan ???
Ist __doc__ jemand den ich kennen sollte?blackbird hat geschrieben:Ich kenn nur die Aussagen von __doc__ über ZOPE und werde deswegen die Finger davon lassen
Diese Trennung ist sehr zu begrüßen. Das ist sicher ein Pluspunkt für Kid. So wird es schwieriger, typischen PHP-Kauderwelsch zu programmieren.BlackJack hat geschrieben: Richtig frei Python Quelltext kann man nur als `Processing Instruction` (PI) eingeben, sonst sind nur Aufrufe möglich. Und innerhalb von PIs kann man keine "Ausgaben" machen. Üblicherweise hat man am Anfang eine PI mit den notwendigen ``import`` Anweisungen und dann nur noch Aufrufe von entsprechenden Funktionen die man importiert hat.
BlackJack hat geschrieben: Mag sein, das DTML diese Probleme hat. Kid-Vorlagen sind immer gültiges XML.
[...]
So engstirnig waren die Kid-Entwickler nicht. Die wollten ein XML-Vorlagen-System und nicht nur was für Webseiten.
Dieser kleine Unterschied *erschwert* es dem Webdesigner, einen Fehler zu machen. Es ist sicher nicht die Welt, aber wieder eine Kleinigkeit, die das Leben leichter machen kann. Hierbei handelt es sich aber eher um eine Glaubensfrage, die man wahrscheinlich nicht klären kann.BlackJack hat geschrieben:Das kann man mit Kid genauso machen. Sieht aber wesentlich unhandlicher aus als die einfache ${...} Ersetzung. Insbesondere wenn es nicht mal Aufrufe sondern wirklich nur Variablenersetzungen sind. Dann sollte das bei XHTML einem Webdesigner keine grossen Probleme bereiten.Code: Alles auswählen
<p> The current time is <span tal:content="python: time.strftime('%C %c')">[Time]</span>. </p>
Man kann mit "tal:omit-tag" die TAG-Struktur löschen und nur den Inhalt übrig lassen. Das geht mit Kid sicher auch.BlackJack hat geschrieben:Problematisch wird's wenn es nicht HTML ist und man nicht einfach mal ein "effektloses" Tag wie <span> zu Verfügung hat.
#python.de ^^Leonidas hat geschrieben:Ist __doc__ jemand den ich kennen sollte?blackbird hat geschrieben:Ich kenn nur die Aussagen von __doc__ über ZOPE und werde deswegen die Finger davon lassen
Blackbird, vielleicht postest du ja was __doc__ so gesagt hat (ggf. zusammengefasst), das würde mich interessieren.
Aber man hat in dem Fall in der Vorlage ein Tag, das da nicht hingehört und vielleicht Probleme mit anderen Programmen zum Editieren der Vorlage bringen kann.gerold hat geschrieben:Man kann mit "tal:omit-tag" die TAG-Struktur löschen und nur den Inhalt übrig lassen. Das geht mit Kid sicher auch.BlackJack hat geschrieben:Problematisch wird's wenn es nicht HTML ist und man nicht einfach mal ein "effektloses" Tag wie <span> zu Verfügung hat.
Also ich weiß das die FH-Düsseldorf ihr komplette externe und internen Seiten in Zope realisieren will: http://www.zwec.orgblackbird hat geschrieben:Er verwendet das jeden Tag für die Firma und es ist laut seinen Aussagen ab einer bestimmten Projektegröße "unmaintainable".Leonidas hat geschrieben:Blackbird, vielleicht postest du ja was __doc__ so gesagt hat (ggf. zusammengefasst), das würde mich interessieren.blackbird hat geschrieben:Ich kenn nur die Aussagen von __doc__ über ZOPE und werde deswegen die Finger davon lassen