Thread: [ThorFramework-devel] SF.net SVN: thorframework: [33] trunk/thor/doc/why_thor.html
Status: Planning
Brought to you by:
denniskempin
|
From: <den...@us...> - 2006-03-03 10:26:40
|
Revision: 33 Author: denniskempin Date: 2006-03-03 02:26:31 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=33&view=rev Log Message: ----------- Added Paths: ----------- trunk/thor/doc/why_thor.html Added: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html (rev 0) +++ trunk/thor/doc/why_thor.html 2006-03-03 10:26:31 UTC (rev 33) @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> + <body> + <h2>Warum soll Thor entwickelt werden?</h2> + <p> + Ich pers\xF6nlich war vor einiger Zeit auch Hobby PHP Entwickler und je gr\xF6\xDFer die Projekte wurden desto + un\xFCbersichtlicher wurde es diese in PHP zu realisieren. <br/> + Nicht nur das, ich habe mir auch mehr M\xF6glichkeiten gew\xFCnscht statische Daten einfach in einer variable zu belassen + anstatt sie immer wieder bei jedem Seitenaufruf aus der Datenbank zu holen. + </p> + <h2>Nachteile von PHP</h2> + <p> + Momentan sammle ich in verschiedenen Foren Meinungen \xFCber die Nachteile von PHP. + Momentan ist dies der folgende Stand: + <ul> + <li><b>Performance</b></li> + <li><b>Mangelnde Typsicherheit</b></li> + <li><b>\xDCberm\xE4\xDFige Abh\xE4ngigkeit von Datenbanken</b></li> + <li><b>Mangelnde Unicode Unterst\xFCtzung</b></li> + <li><b>Fehleranf\xE4llige Standardeinstellungen</b></li> + <li><b>Teilweise Probleme bei der Platformunabh\xE4ngigkeit</b></li> + </ul> + </p> + <h2>Vorteile von Java allgemein</h2> + <p> + Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: + <ul> + <li> + <b>Performance:</b><br/> + Laut den Ergebnissen des GreatComputerLanguageShootout ist Java rein + rechentechnisch um einiges schneller als PHP. + </li> + + <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> + <li><b>Sehr gute IDEs</b></li> + <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> + </ul> + </p> + <h2>Und warum wird Java dann nicht schon l\xE4ngst so intensiv genutzt?</h2> + <p> + Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. + Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> + Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch + f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> + Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, + sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, + mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und + ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + </p> + <h2>Warum also nicht bei PHP bleiben?</h2> + <p> + Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. + Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> + Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch + f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> + Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, + sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, + mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und + ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + </p> + <h2>Was k\xF6nnte man mit dem Thor Framework besser machen?</h2> + <p> + Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: + <ul> + <li> + <b>Performance:</b><br/> + Laut den Ergebnissen des GreatComputerLanguageShootout ist Java rein + rechentechnisch um einiges schneller als PHP. + </li> + + <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> + <li><b>Sehr gute IDEs</b></li> + <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> + </ul> + </p> + + </body> +</html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <den...@us...> - 2006-03-03 10:47:53
|
Revision: 34 Author: denniskempin Date: 2006-03-03 02:47:47 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=34&view=rev Log Message: ----------- Modified Paths: -------------- trunk/thor/doc/why_thor.html Modified: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html 2006-03-03 10:26:31 UTC (rev 33) +++ trunk/thor/doc/why_thor.html 2006-03-03 10:47:47 UTC (rev 34) @@ -3,27 +3,27 @@ <body> <h2>Warum soll Thor entwickelt werden?</h2> <p> - Ich pers\xF6nlich war vor einiger Zeit auch Hobby PHP Entwickler und je gr\xF6\xDFer die Projekte wurden desto - un\xFCbersichtlicher wurde es diese in PHP zu realisieren. <br/> - Nicht nur das, ich habe mir auch mehr M\xF6glichkeiten gew\xFCnscht statische Daten einfach in einer variable zu belassen + Ich persönlich war vor einiger Zeit auch Hobby PHP Entwickler und je größer die Projekte wurden desto + unübersichtlicher wurde es diese in PHP zu realisieren. <br/> + Nicht nur das, ich habe mir auch mehr Möglichkeiten gewünscht statische Daten einfach in einer Variable zu belassen anstatt sie immer wieder bei jedem Seitenaufruf aus der Datenbank zu holen. </p> <h2>Nachteile von PHP</h2> <p> - Momentan sammle ich in verschiedenen Foren Meinungen \xFCber die Nachteile von PHP. + Momentan sammle ich in verschiedenen Foren Meinungen über die Nachteile von PHP. Momentan ist dies der folgende Stand: <ul> <li><b>Performance</b></li> <li><b>Mangelnde Typsicherheit</b></li> - <li><b>\xDCberm\xE4\xDFige Abh\xE4ngigkeit von Datenbanken</b></li> - <li><b>Mangelnde Unicode Unterst\xFCtzung</b></li> - <li><b>Fehleranf\xE4llige Standardeinstellungen</b></li> - <li><b>Teilweise Probleme bei der Platformunabh\xE4ngigkeit</b></li> + <li><b>Übermäßige Abhängigkeit von Datenbanken</b></li> + <li><b>Mangelnde Unicode Unterstützung</b></li> + <li><b>Fehleranfällige Standardeinstellungen</b></li> + <li><b>Teilweise Probleme bei der Platformunabhängigkeit</b></li> </ul> </p> <h2>Vorteile von Java allgemein</h2> <p> - Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: + Ich nenne einige Vorteile die allgemein durch die Verwendung von Java für Webanwendungen entstehen: <ul> <li> <b>Performance:</b><br/> @@ -31,47 +31,34 @@ rechentechnisch um einiges schneller als PHP. </li> - <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> + <li><b>Fortgeschrittene objektorientierte Möglichkeiten</b></li> <li><b>Sehr gute IDEs</b></li> - <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> + <li><b>Sehr vollständige, durchtachte standard Bibliothek</b></li> </ul> </p> - <h2>Und warum wird Java dann nicht schon l\xE4ngst so intensiv genutzt?</h2> + <h2>Und warum wird Java dann nicht schon längst so intensiv genutzt?</h2> <p> - Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. + Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexität der vorhandenen Frameworks. Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> - Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch - f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> - Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, + Java findet im professionellen Bereich große Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch + für einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr Features als man je benutzen könnte.<br/> + Der Einstieg in PHP ist da viel simpler. Ein einfaches >? echo "Hallo Welt" ?< und man hat die erste PHP Anwendung geschrieben, sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und - ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + ein einfaches Gästebuch ganz selbst schreiben (So wie ich es damals gemacht habe). </p> <h2>Warum also nicht bei PHP bleiben?</h2> <p> - Das Problem bei Java Webanwendungen ist meiner Meinung nach die die komplexit\xE4t der vorhandenen Frameworks. - Schon JSP selbst ist um einiges komplizierter als PHP, und mit fortgeschrittenen Frameworks wird das ganze noch komplizierter.<br/> - Java findet im professionellen Bereich gro\xDFe Anerkennung und wird viel genutzt, nicht zuletzt wegen der guten Frameworks, doch - f\xFCr einfache Hobby Entwickler sind diese viel zu komplex und bieten einem mehr features als man je benutzen k\xF6nnte.<br/> - Der einstieg in PHP ist da viel simpler. Ein einfaches <? echo "Hallo Welt" ?> und man hat die erste PHP Anwendung geschrieben, - sowas motiviert alle die PHP lernen. Auch die weitere Lernkurve sieht wesentlich besser aus als bei Java Webanwendungen, - mysql ist schnell eingebunden und man kann mit etwas vorhandenener Programmiererfahrung an einem Abend PHP lernen und - ein einfaches G\xE4stebuch ganz selbst schreiben (So wie ich es damals gemacht habe). + Wie oben schon erwähnt könnte man komplexere Webanwendungen wie Foren etc wesentlich effektiver + und intuitiver programmieren wenn man die Möglichkeit hätte unabhängiger von der Datenbank zu arbeiten + (z.B. durch speichern der Forenkategorien in einer lokalen Variable, die ihren Wert + beibehält so lange die Anwendung läuft) oder durch optimierte Wiederverwendbarkeit von Komponenten wie + Login Forumlare etc. </p> - <h2>Was k\xF6nnte man mit dem Thor Framework besser machen?</h2> + <h2>Was könnte man mit dem Thor Framework besser machen?</h2> <p> - Ich nenne einige Vorteile die allgemein durch die Verwendung von Java f\xFCr Webanwendungen entstehen: - <ul> - <li> - <b>Performance:</b><br/> - Laut den Ergebnissen des GreatComputerLanguageShootout ist Java rein - rechentechnisch um einiges schneller als PHP. - </li> - - <li><b>Fortgeschrittene objektorientierte M\xF6glichkeiten</b></li> - <li><b>Sehr gute IDEs</b></li> - <li><b>Sehr vollst\xE4ndige, durchtachte standard Bibliothek</b></li> - </ul> + <h3>Im Vergleich zu anderen Java Frameworks</h3> + </p> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <den...@us...> - 2006-03-03 11:01:13
|
Revision: 35 Author: denniskempin Date: 2006-03-03 03:01:01 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=35&view=rev Log Message: ----------- Modified Paths: -------------- trunk/thor/doc/why_thor.html Modified: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html 2006-03-03 10:47:47 UTC (rev 34) +++ trunk/thor/doc/why_thor.html 2006-03-03 11:01:01 UTC (rev 35) @@ -56,10 +56,37 @@ Login Forumlare etc. </p> <h2>Was könnte man mit dem Thor Framework besser machen?</h2> + + <h3>Im Vergleich zu anderen Java Frameworks</h3> <p> - <h3>Im Vergleich zu anderen Java Frameworks</h3> - + Man sollte das Framework so einfach gestalten, dass man nach dem Downloaden des Paketes ohne irgendwelche + zusätzlichen Vorraussetzungen (Abgesehen von installiertem Java) loslegen kann Anwendungen zu schreiben.<br/> + Dazu gehört eine IDE (Eclipse inklusive Project Wizard für Thor und zusätzlicher Plugins für Webentwicklung) + ein Application Server (Tomcat) und das Framework selbst.<br/> + Außerdem sollte man versuchen auf komplizierte Konfigurationsdateien verzichten, und diese nur zur Konfiguration von + Daten wie Datenbank Servern usw verwenden. </p> - + <p> + Das Framework selbst mit dem die Anwendung(Webseite) programmiert werden soll sollte auch euf einem möglichst simplen + und schnell nachvollziehbaren Konzept beruhen.<br/> + Die Momentane planung schaut so aus dass man Seiten aus einem Template mit zugehöriger Klasse aufbaut (Beispiel im Anhang). + Anstatt groß Dinge im Hintergrund zu verwalten um ein möglichst abstraktes Bild von Websites zu erzeugen sollte + das Framework relativ nah an HTML bleiben, und nur simple Techniken verwenden. + </p> + <p> + Was auch wichtig ist ist ein einheitliches und simples Interface zu Funktionen wie Mail Versand, Datenbank Anbindungen + File Uploads etc, für die man sonst meist zu einzelnen Bibliotheken greifen muss. + </p> + <h3>Im Vergleich zu PHP</h3> + <p> + Selbstverständlich kann man die Einfachheit von PHP nur schwer toppen, und das habe ich auch garnicht vor. + Vielmehr soll es einem eine fortgeschrittene Methode bieten Dynamische Internetseiten zu programmieren.<br/> + Man kann eine einheitliche Konfigurationsdatei als zentrale Anlaufstelle für sämtliche Serverabhängige + Konfigurationseinstellungen (Datenbankanbindung, SMTP Server für Mails etc) bieten.<br/> + Man kann leicht wiederverwendbare Komponenten verwenden (Login Formulare, Listen mit Seitenanzeige etc) + und diese auch genauso simpel programmieren wie die Webseiten selbst, was auch für das erweitern/anpassen solcher Komponenten gilt.<br/> + Die Performance sollte um einiges besser sein als vergleichbare PHP Anwendungen, aus den oben Bereits genannten gründen. + </p> + </body> </html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
|
From: <den...@us...> - 2006-03-03 11:11:27
|
Revision: 36 Author: denniskempin Date: 2006-03-03 03:11:17 -0800 (Fri, 03 Mar 2006) ViewCVS: http://svn.sourceforge.net/thorframework/?rev=36&view=rev Log Message: ----------- Modified Paths: -------------- trunk/thor/doc/why_thor.html Modified: trunk/thor/doc/why_thor.html =================================================================== --- trunk/thor/doc/why_thor.html 2006-03-03 11:01:01 UTC (rev 35) +++ trunk/thor/doc/why_thor.html 2006-03-03 11:11:17 UTC (rev 36) @@ -88,5 +88,102 @@ Die Performance sollte um einiges besser sein als vergleichbare PHP Anwendungen, aus den oben Bereits genannten gründen. </p> + <h2>Und was soll ich nun damit?</h2> + <p> + Das Framework ist bisher nur ein Konzept, eine Idee (welche ich ständig versuche zu verbessern und mit Test Implementierungen zu Testen), + und ich suche Leute die Interesse haben an solch einem Projekt mitzuwirken. Da es sich um ein Open Source Projekt handelt + ist jeder herzlichst Eingeladen: + <ul> + <li> + <b>Java Entwickler:</b><br/> + Entweder als Berater oder am besten als mit Entwickler kann ich jede Hilfe gebrauchen. + </li> + <li> + <b>PHP Entwickler:</b><br/> + Wenn ihr PHP programmiert und Interesse habt mal was neues auszuprobieren, dann seid auch ihr + willkommen. Denn ohne Tester, und vor allem ohne Leute die die usability bestimmter Konzepte beurteilen + wird das nichts ;). + </li> + </ul> + </p> + <h2>Anhang</h2> + <h3>A. Shoutbox component sample template</h3> + Dieses Template zeigt wie einfach man im Templatesystem + die bereitgestellten Daten verwenden kann. + <pre> +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:thor="http://www.y2k1.org/thor/template"> + + <head> + <link href="/shoutbox/style.css" rel="stylesheet" type="text/css" /> + </head> + + <body> + <div class="shoutbox"> + + <!-- Iterate over all messages --> + <div class="entry" thor:foreach="${message in messages}"> + ${message} <!-- print the message text --> + </div> + + <!-- Display message if the messages list is empty --> + <div class="entry" thor:if="${empty messages}"> + No messages + </div> + + <h3>Post a Message:</h3> + <form method="POST" thor:listener="PostMessage"> + <input type="text" name="message" /> + <input type="submit" /> + </form> + + </div> + </body> +</html> + </pre> + <h3>B. Matching sample component class file</h3> + Die Logik zum Template wird in eine extra Klasse ausgelagert. + Diese wird nur einmal beim starten der Anwendung erzeugt, so dass + der Inhalt der Liste namens "messages" so lange erhalten bleibt wie + die Anwendung läuft. Es ist also gar keine Datenbank nötig für dieses Beispiel, + versucht das mal mit PHP ;).<br/> + Der Einfachheit halber habe ich auf Sicherheitsabfragen etc verzichtet. + <pre> +public class Shoutbox extends Page +{ + /** + * This List contains all messages posted to the shoutbox. + */ + private List<String> messages; + + /** + * We create a shoutbox page and construct a new messages list. + * this is called once per application start. + */ + public TestComponent() + { + this.messages = new LinkedList<String>(); + } + + /** + * This method is called each time the page is called. + * @param request contains informations about the request just like session objects or GET parameters. + */ + public void onRequest(IRequest request, IResponse response) + { + // we pass our message list to the template to process it there. + response.set("messages", messages); + } + + /** + * This method is called when the PostMessage Formular is invoked. + * after this the request is handled just like a common page request. + */ + public void onPostMessage(IRequest request, IResponse response) + { + // we fetch the message text from the request data and add it to the messages list. + messages.add(request.getParameter("message")); + } +} </body> </html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |