Wt Framework de desarrollo web en C++
14/08/2007Wt es un framework de desarrollo web que incluye su propio servidor web, si eres un empedernido desarrollador de C posiblemente te sera muy útil.
Especialmente si eres alguien que no tiene interes alguno en aprender a utilizar lenguajes interpretados que normalmente usamos los mortales (php, ruby, python, etc) o te importa poco lo que signifique DHTML, javascript, CSS, AJAX, ETC. Wt se encarga de la presentación y tu de la funcionalidad y los contenidos.
De los 11 beneficios que menciona el autor, el único que considero 100% válido es el portar viejas aplicaciones de escritorio en C++ a web fácilmente, pero de cualquier manera esta muy interesante el proyecto,
También existen otras opciones, como Tntnet, que es un servidor web que te permite crear templates con código de C++ embebido por medio de tags, tal como lo hace PHP o ASP.
Este es el código, de ejemplo en un simple Hello World con un Botón (clic para verlo funcionando).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | /* * Copyright (C) 2006 Wim Dumon */ #include <WApplication> #include <WContainerWidget> #include <WText> #include <WPushButton> using namespace Wt; // Este es el punto de entrada para nuevas sesiones // // Esta funcion se ejecuta cuando un nuevo usuario navega en la aplicacion, // y despues que la libreria ha negociado el soporte para el navegador. // Debe regresar un nuevo objeto WApplication WApplication *createApplication(const WEnvironment& env) { // Instanciando a la aplicacion Wt. WApplication *appl = new WApplication(env); // Estableciendo el titulo de la aplicacion appl->setTitle("Hello world!"); // Se pueden agregar Widgets a un padre llamando addWidget()... // WApplication::root() es un WContainerWidget que esta asociado con // la ventana completa del navegador. appl->root()->addWidget(new WText(L"<h1>Hello, World!</h1>")); // .. o especificando un pariente en la construccion WPushButton *Button = new WPushButton(L"Quit", appl->root()); // Escuchar eventos del usuario usando un mecanismo de señales. Button->clicked.connect(SLOT(appl, WApplication::quit)); return appl; } int main(int argc, char **argv) { return WRun(argc, argv, &createApplication); } |
Prefiero mil veces usar algo para lo que fue hecho originalmente en lugar de complicar las cosas, pero nunca esta de mas saberlo.


Hay 12 comentarios: