Donnerstag, 11. Januar 2007

C++ im WWW

Ich bin durch zufall eines tages auf die seite von tntnet gestoßen und die idee, C++ in websiten zu integrieren fand ich faszinierend...damit is es möglich, ALLES, was C++ bietet im web zu benutzten (also alle mögl libraries, DLLs, STL...). Ich war irgendwann mal auf nem vortrag des entwicklers und hab mir das mal angeguggt. Das interessante is, dass damit einfache dynamische websiten (wie halt mit PHP, ASP etc) möglich sind, allerdings sind die seiten dann schneller als statische Websiten (richtig, die sind schneller als normale *.html).
Leider gibt es tntnet nur für linux (wie ich sicher noch oft anmerken werde, bin ich überzeugter Windows-User aus leidenschaft ;) (@linux-friex: ja, ich hab linux mal ne weile benutzt und es hat mich definitiv _nicht_ überzeugt) ) und aus meiner ohnmacht, das ganze projekt zu portieren (aka keine ausdauer) hab ich ne kleine "ersatz"-app geschrieben, mit der das alles auf windows möglich wird ;) (allerdings bei WEITEM nicht so ausgeklügelt wie tntnet, nur rudimentärste funktionen, damit alles halbwegs akzeptabel läuft).
lustigerweiße hab ich das ganze in python geschrieben (ging schneller :P )
wie sieht nun so ne C++/html-datei aus?


<head>
<%v
std::string name;
int age=5;
v%>
<%h
void func()
{
std::cout << "InFunction!!!";
}
h%>

<title>C++ rult halt!</title>
</head>
<body>
<h1>C++ for President!</h1>
<table><tr>
<%%
for(int i=0;i<10; ++i)
std::cout << "<td>" << i << "</td>";
%%>
</tr></table>
Diese Tabelle wurde mit folgendem C++-Code erstellt:
<pre>
for(int i=0;i<10; ++i)
std::cout << "
< td >" << i << "< /td >";
</pre>
<%%
static int counter = 0;

++counter;
std::cout << "Zugriffe: " << counter << "<br>";
func();
%%>
<br>
<h2> Get/Post-Variablen-support:</h2>
<blockquote>
name: <%% std::cout << name; %%> <br>
age: <%% std::cout << age; %%> <br>
</blockquote>
</body>

hier gibts nun bereiche mit unterschiedlichen funktionen:
der v-bereich is zum variablen anlegen, der h-bereich um funktionen zu definieren und der %-bereich für normalen code im body-tag

was is schon php dagegen? ;)
die nachteile des ganzen will ich nun auch nich verschweigen:
jede website muss nun leider kompiliert werden (daher auch der geschwindigkeits-schub, da alles maschinencode ist) und sicherheitsmäßig is _nix_ gewährleistet...
aber is doch mal ne nette machbarkeits-studie...

Keine Kommentare: