C++ und Webanwendungen
-
tntnet kann ich ja einfach auf meinen server installieren g - werde es wohl verwenden da es sich nicht lohnt wenn es langsam ist (als cgi) ...
wie ich gestern bereits gelesen habe muss ich eine cpp datei compilieren ... bin jedoch beim visual studio bei diesem vorhaben gescheitert - als ich eine cpp datei mir html compilieren wollte.... muss ich dafür einen anderen compiler verwenden?
-
tntnet ist in der tat eine lib, die webapps in c++ möglich macht, aber imho bricht sie mit zu vielen prinzipien guten softwaredesigns
da man selbst für änderungen and den templates für html recompilieren muss
es keinerlei orm gibt
das es ein standalone server ist, und das ausliefern von statischen inhalten einfach nur witzhaft ist
das gröbste ist allerdings, das es dazu anspornt programmlogik in den templates unterzubringen
-
virox schrieb:
wie ich gestern bereits gelesen habe muss ich eine cpp datei compilieren ... bin jedoch beim visual studio bei diesem vorhaben gescheitert - als ich eine cpp datei mir html compilieren wollte.... muss ich dafür einen anderen compiler verwenden?
Dazu kann ich nun wirklich nur Artchi zitieren: Lern C++ und stürtz dich danach auf die Anwendung. Und wenn du allen ernstes versucht hast, in eine C++-Datei einfach HTML-Codes zu schreiben und den Spaß dann zu kompilieren, umso mehr ...
-
Mal ganz davon abgesehen, das tntnet nur für Linux verfügbar ist. Es würde also auch ein erfahrener C++ler nicht ohne weiteres unter MSVC kompilieren können.
-
r0nny schrieb:
tntnet ist in der tat eine lib, die webapps in c++ möglich macht, aber imho bricht sie mit zu vielen prinzipien guten softwaredesigns
da man selbst für änderungen and den templates für html recompilieren muss
Das gilt für jedes C++-Programm. Wenn ich in einer MFC oder QT-Anwendung eine Maske ändere, muß ich recompilieren. Das bedeutet aber wie für andere GUI-Anwendungen nicht, daß ich immer nur statische Masken sehe. Der Inhalt kann durchaus aus dem Dateisystem oder einer Datenbank gelesen werden.
Die Compilation ist aber auch ein Feature von Tntnet. Die Programme sind dadurch nativ und dadurch superschnell. C++ ist keine Skriptsprache sondern eine Programmiersprache. Die Arbeitsweise unterstützt halt nicht das "schnell mal einen Prototypen basteln".
r0nny schrieb:
es keinerlei orm gibt
Das ist allerdings ein Problem. Wenn es eine Norm für Webapplikationen in C++ gäbe, hätte ich diese verwendet. Wenn man aber Neuland betreten möchte, muß man sich selbst etwas überlegen. Wie hätte ich sonst C++ im Web anwenden sollen? Dafür gibt es halt keine Norm.
r0nny schrieb:
das es ein standalone server ist, und das ausliefern von statischen inhalten einfach nur witzhaft ist
Ich verstehe den Einwand nicht. Ich weiß nicht, ob Du weisst, wie Tntnet statische Inhalte ausliefert. Das solltest Du etwas genauer erklären. Tntnet hat mehrere Möglichkeiten, statische Inhalte auszuliefern. Sind alle schlecht oder meinst Du die eine, über die Du gelesen hast?
r0nny schrieb:
das gröbste ist allerdings, das es dazu anspornt programmlogik in den templates unterzubringen
Ich kann in einem Evenhandler eine Qt-Applikation einen Datenbankzugriff mit SQL machen. Ist deswegen Qt schlecht? Oder innerhalb einer JSP einfach mal JDBC-Aufrufe machen. Ist JSP schlecht?
Es kommt immer darauf an, was man damit macht. Schau Dir mal im Tntnet das Demo-Programm mvccalc an. Da habe ich demonstriert, wie man die Darstellung von der Verarbeitung trennen kann. Tntnet ist kein Framework sondern ein Webapplikationsserver mit Bibliothek. Ein Framework könnte man damit bauen.
Tntnet
-
kann ich unter windows die c++ dateien erstellen und kompilieren und dann auf einen linux server mit tntnet hochladen?
-
Nein. Auf einem Windows-Rechner kannst Du Windows-binaries erzeugen. Für Linux-binaries benötigst Du einen Linux-Rechner.
Tntnet
-
also nur das compilieren muss auf dem linux rechner stattfinden?!
den code ist egal wo man schreibt... g
-
Der Compiler auf dem Linux-Rechner übersetzt die Quelldatei in Binärcode. Wie die Quelldatei zustande kommt, ist egal. Ob die auf einem Windows-Rechner erstellt wurde und dann irgendwie auf den Linux-Rechner gelangt ist oder direkt da editiert wurde, ist völlig unerheblich.
-
Man kann aber auch unter Windows für Linux kompilieren, dazu benötigt man einen Cross-Compiler. Das nur der Vollständigkeit wegen. Es macht natürlich keinen Sinn, wenn man es dann nicht unter Linux testen kann.
Ansonst kostenlos VirtualPC von MS installieren, dann kann man Linux unter Windows laufen lassen.
-
Cross-Compiler?
Hab ich noch nie gehört.
Was das ist, kann ich mir denken, aber welchen kannst du da empfehlen?Gruß,
Cross-Compiler
-
Die Gnu Compiler können das. Die gibts ja für alle möglichen Platformen. Ich hatte damals damit unter Windows für Dreamcast kompiliert. Aber das geht natürlich mit jeder anderen Zielplatform. Wie man das aber alles einstellt, weiß ich nicht. Da können die GCC-Freax mehr dazu sagen.
-
Cross-Compiler schrieb:
Cross-Compiler?
Hab ich noch nie gehört.
Was das ist, kann ich mir denken, aber welchen kannst du da empfehlen?Gruß,
Cross-CompilerDu solltest den Hinweis "Das nur der Vollständigkeit wegen." durchaus ernst nehmen. Cross-Compiler werden verwendet, wenn man auf dem Zielsystem selbst nicht direkt compilieren kann, wie vor allem im Embedded-Bereich.
Für diesen Anwendungsfall, also Linux-Programme unter Windows erzeugen, ist das eher eine theoretische Möglichkeit und nur mit gehörigem Aufwand zu realisieren.
Wer auf sein Windows nicht verzichten möchte, aber dennoch Linux-Programme erzeugen möchte, dem empfehle ich eine Virtualisierungslösung oder ein Dual-Boot. Da kann ich micht Artchi nur anschliessen. VirtualPC oder auch VMWare sind geeignete Lösungen. Neulich habe ich was von AndLinux gelesen (http://www.pro-linux.de/news/2006/10496.html). Habe ich nicht ausprobiert, aber hört sich auch interessant an.
Tntnet
-
jo hi, so mal zu den CGI's, also die wesentlich schneller als Interpretersprachen wie php oder pearl, ob nun per server der interpreter gestartet wird oder ein compiliertes prog macht echt n diggen unterschied. Nachteil ist, das wenn man neue ENV deklarieren will muss man dass über die conf dateien des servers machen, session werden unter cgi leider nicht behandelt. Will man mit anderen Programmen kommunizieren wird man wohl (wie ich) früher oder später auf sockets stoße und merke das ein Server zu progen gar net so schwer ist, wenn man die ( ganzen
) RFC's gelesen hat, und man kann auch gleich seine eigenen protokolle oder wenig verwendete protokolle verwenden (z.B. HTCPCP/1.0 RFC 2324).
Wen man schon öfters webapp's mit php etc geprogt hat kennt die env's die wichtig sind, und mit ein bisschen spucke bekommt man diese auch aus dem request header des z.b. browser's.Also pro c++ für webapp's (d.h. nicht unbedingt contra java, da jehts auch supa)
mfg zeusi
-
tntnet schrieb:
Der Compiler auf dem Linux-Rechner übersetzt die Quelldatei in Binärcode. Wie die Quelldatei zustande kommt, ist egal. Ob die auf einem Windows-Rechner erstellt wurde und dann irgendwie auf den Linux-Rechner gelangt ist oder direkt da editiert wurde, ist völlig unerheblich.
Nicht ganz. Windows benutzt andere Linefeed-Zeichen. Weiß nicht, ob der gcc damit klarkommt, aber ich hatte damit mal Probleme, als ich an nem Shell-Skript unter Windows rumgespielt hab und es dann unter Linux wieder ausführen wollte.
-
tntnet schrieb:
Neulich habe ich was von AndLinux gelesen (http://www.pro-linux.de/news/2006/10496.html). Habe ich nicht ausprobiert, aber hört sich auch interessant an.
ich empfehle colinux. hab es schon einige zeit und bin sehr zufrieden.
aber ich verwende das linux da unten nur zum compilieren und serverfummeln. keine gui. und natürlich zum freizeitvernichten mit gentoo.