Überblick: Web-Intefaces, CGI-Programme, Webseitengenrierung

Fragen zum Thema HTML, JavaScript, PHP
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Überblick: Web-Intefaces, CGI-Programme, Webseitengenrie

Beitrag von cloidnerux » So Aug 14, 2011 10:11 pm

Danke, das waren gute 2 cent.
Ich glaube ich sollte nun anfangen mir die ganzen Tools genauer anzusehen.
Freut mich wenn ich helfen kann.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Panke
Beiträge: 70
Registriert: So Nov 14, 2010 10:47 am

Re: Überblick: Web-Intefaces, CGI-Programme, Webseitengenrie

Beitrag von Panke » So Aug 14, 2011 11:22 pm

Öllis liefert gleich eine Krumfu-Sprache für die YLLQ-Seiten und ein WTF mit. Das gibts aber mit KOQuasimo und Tota4 auch einzeln. Es hat aber auch noch
einen automatischen Admin-Bereich, der ziemlich gut und nützlich ist.
ORM = Object Relational Mapping. In Python sieht das mehr oder weniger so aus, dass du Klassen definierst und das ORM
weiß von alleine wie man das in eine relationale Datenbank speichert. Der Zugriff ist auch so abstrahiert, dass du gar nicht
wissen musst, dass eine relationale Datenbank da drunterliegt.
Das Admin-Interface ist eine automatisch generierte Webanwendung um Daten in der DB anzeigen / ändern zu können.

Eine Template-Sprache ist bei Python der (vermeintlich) sauberere Ersatz dafür, keinen Python-Code in HTML einbauen zu können
wie bei PHP.
Django’s template language is designed to strike a balance between power and ease. It’s designed to feel comfortable to those used to working with HTML. If you have any exposure to other text-based template languages, such as Smarty or CheetahTemplate, you should feel right at home with Django’s templates.

Philosophy

If you have a background in programming, or if you’re used to languages like PHP which mix programming code directly into HTML, you’ll want to bear in mind that the Django template system is not simply Python embedded into HTML. This is by design: the template system is meant to express presentation, not program logic.

The Django template system provides tags which function similarly to some programming constructs – an if tag for boolean tests, a for tag for looping, etc. – but these are not simply executed as the corresponding Python code, and the template system will not execute arbitrary Python expressions. Only the tags, filters and syntax listed below are supported by default (although you can add your own extensions to the template language as needed).

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Überblick: Web-Intefaces, CGI-Programme, Webseitengenrie

Beitrag von Xin » Mo Aug 15, 2011 10:16 am

Panke hat geschrieben:ORM = Object Relational Mapping. In Python sieht das mehr oder weniger so aus, dass du Klassen definierst und das ORM
weiß von alleine wie man das in eine relationale Datenbank speichert. Der Zugriff ist auch so abstrahiert, dass du gar nicht
wissen musst, dass eine relationale Datenbank da drunterliegt.
Das sieht bei mir in C++ (fast) genauso aus:

Code: Alles auswählen

Database db = Mysql( "localhost", "db", "user", "pw" );

User user( "Xin", "Vorname", "Nachname" );
db.Write( user );
Feddisch. Das Ganze funktioniert auch, wenn eine Klasse "Adresse" in User eingebettet wäre, oder eine Referenz oder Zeiger auf eine Klasse "Adresse" existieren würde. Die würde dann - je nach Konfig - entweder mit in der Tabelle User gespeichert oder als Foreign Key abgelegt.
Grundsätzlich kann man die Daten auch - als JSON oder XML ablegen.

Als Mehraufwand braucht man eine statische Funktion, die den Tabellennamen herausrückt und eine, die sagt, welche Member man Speichern möchte.

Das gibt's doch bestimmt auch für Boost? (Wobei ich nicht der Meinung bin, dass man ohne derartige Dinge programmieren zu wollen, man C++ den Vorzug geben sollte - es gibt durchaus Gründe, warum ich für manche Dinge länger brauche ;->)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Überblick: Web-Intefaces, CGI-Programme, Webseitengenrie

Beitrag von Kerli » Mo Aug 15, 2011 7:11 pm

Was vielleicht noch gut zu wissen ist, ist das es serverseitig nur darum geht in irgendeiner Weise HTML und gegebenenfalls auch JavaScript Code, also reinen Text auszugeben. Die Verwendung von Ajax, also HTTP-Requests ist eine clientseitige Technologie, die eigentlich nicht von der serverseitig verwendeten Programmiersprache abhängt, da dort nur HTTP-Requests ankommen, welche gleich wie ein normaler Seitenaufruf zu behandeln ist.

Für C++ könnte zb. http://libcgi.sourceforge.net/ was taugen (Habe ich selber noch nie verwendet). Ansonsten wenn du es einfach nur schnell tippen möchtest und auch Code mit HTML mischen möchtest und es (sogar ohne kompilieren) auf jedem Webspace laufen soll, dann empfiehlt sich wohl eher PHP. Und wenn man sauber programmiert kann man es auch recht C++ ähnlich gestalten.

edit: Das hab ich noch für C++ und CGI gefunden: http://www.yolinux.com/TUTORIALS/LinuxT ... ++CGI.html
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Panke
Beiträge: 70
Registriert: So Nov 14, 2010 10:47 am

Re: Überblick: Web-Intefaces, CGI-Programme, Webseitengenrie

Beitrag von Panke » Di Aug 16, 2011 10:35 am

Das gibt's doch bestimmt auch für Boost?
Soweit ich weiß, gibts das nicht von boost. Aber es gibt zum Beispiel http://www.codesynthesis.com/products/odb/ .

Bei Django hat man über das ORM auch noch direkt das Admin-Interface integriert, das müsste man sonst von Hand bauen.
Aber mir geht's auch nicht um C++ vs Python in der Webentwicklung. Python wurde angesprochen und ich wollte nur sagen, was man da so nehmen kann.

Antworten