Sigueme en Twitter
«Anterior | Siguiente»

Wt Framework de desarrollo web en C++

14/08/2007

Wt 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 15 comentarios:

  1. 14/08/2007Victor dice:

    Valla, hasta que escribes algo bueno :P

    Muy interesante aplicación ^^

  2. 14/08/2007Lector dice:

    Habra que probarlo, nunca esta de mas :)

    Saludos, buen post!

  3. 15/08/2007pablasso dice:

    @Victor.. pero si todo es bueno :(

  4. 15/08/2007papi mamasan dice:

    coincido con eso de usar las cosas para lo que fueron hechas

  5. 15/08/2007Moy dice:

    ese es un framework para hombres, no mamadas

  6. 15/08/2007pablasso dice:

    Los hombres no utilizan frameworks, ni a C++. Puro C y solo donde sea engorroso utilizar ensamblador.

  7. 16/08/2007Victor dice:

    Pues, los hombres como yo ni a Ensamblador llegamos. Programamos directamente en Binario u_U

    Creo que eso de trabajar las cosas para lo que fueron hechas tal vez es algo arriesgado decirlo. Con C se amplian muchisimo las posibilidades al programar… Se puede interactuar directamente con otro tipo de aplicaciones, y no solo dedicarte a un sitio web que interactúa con un DBMS o con el intérprete y atenerse a sus limitaciones :S

    Pero bueno, yo solo digo :P igual y al rato me arrepiento u_U /puf

  8. 16/08/2007Moy dice:

    Bueno ya, volviendo a la realidad…

    El decir que con C se amplian mucho las posibilidades para programar es cierto. Se amplian tanto, que tendràs buffer overflows, memory leaks, dangling pointers, endianess issues, segfaults etc, no importa que tan bueno seas programando, los tendràs. Si quieres ampliar las posibilidades al programar para Web, la soluciòn no es usar C o C++, mas bien programar una interface en C para poder usar librerias de C desde PHP. El framework que menciona Pablo està bueno, mas por el concepto de abstraer la interface web en una serie de APIs genericos en donde parece que estas programando cualquier interface, no solo web.

  9. 20/08/2007César dice:

    Suena la mar de interesante. Voy a probarlo, que yo también soy de C hasta la muerte, yo creo. ¡Hay que ser hombres, no payasos! XD

    Dicho lo cual, ese ejemplo no es C, es C++, lo cual para mi ya le quita un poco de atractivo… C++ me fastidia casi tanto como Java.

    Dicho todo eso, debo confesar que los dos últimos años me he vuelto extremadamente fan de Ruby. Adicto, podría decirse. Los únicos dos problemas que le encuentro a Ruby son: (1) es lento, y (2) después de usarlo, todo lo demás te empieza a parecer tan burdo y chafa que empiezas a sufrir ¡incluso escribiendo C! (ya no digas PHP… eeew)

    (Aquí cayéndote vía Othaner, por supuesto)

  10. 20/08/2007pablasso dice:

    Calla calla, no se habla mal de php que me da de comer, jeje

    mucho gusto Cesar, saludos a don Othaner

  11. 24/08/2007Michoacano dice:

    El css del codigo tu lo hiciste, o es un plugin de wordpress? se ve lindo.

  12. 24/08/2007pablasso dice:

    es un plugin con el css de Enrique de Metal.ize (usado con su debido permiso claro), malamente yo carezco de todo sentido artistico u_u

  13. 24/06/2010Juan Carlos dice:

    Interesante este post llegue a él ya conociendo el framework y buscando mas de el y me entretuve en leerlo. Con tu beneplacito solo queria comentarte que creo que estas equivocado en lo respecto a que si ignoras DHTML, CSS, AJAX etc etc. Lo unico que realmente habria que planterarse es el PHP y para nada lo anterior creo que estas confundido y asocias todo como si por ejemplo para utilizar CSS sea imprescindible el PHP y no es asi. Uno de los mayores errores que se pueden comenter (informáticamente hablando) es crear aplicaciones en lenguajes interpretados. Para algo simple va rapido no cabe duda y te permite hacer modificaciones al vuelo sin tener que pasar por el engorroso proceso de compilar-linkar-instalar, pero el costo de memoria-cpu y sobre todo velocidad es inaceptable. Como lenguaje para la capa de presentacion podria estar bien y de hecho creo que eso es lo que realmente hace bien el PHP pero hay aplicaciones que necesitan mucho proceso y yo tengo un par de ellas instaladas para un cliente, te aseguro que mi servidor echaba humo literalmente, sin embargo a traves de un programa en C y fastCGI (lighthttp el servidor que lo incluye como Dios manda) el servidor apenas usa el 5% de los recursos y eso si que es ahorro. Si realmente se quiere sustituir a los programas del DESKTOP con aplicaciones online el PHP no es el mejor camino. ¿Realmente tanto cuesta programar en C o C++ comparado con PHP? No es cuestion de ser mas macho ni de intepretar binario, es hacer aplicaciones rapidas y eficientes y para la buena portabilidad de ellas es necesario un framework como Wt, que tampoco creo que sea el mejor pero con el tiempo espero que algo aparezca ya que demanda hay.

    Como diria un amigo mio “eso se soluciona comprando un servidor mas potente” y realmente eso es lo que hace la mayoria pero el ingenio se demuestra utilizando mejor los recursos de los que disponemos,por poner un paralelismo no porque pueda pagar 1000 litros de agua al dia me los tengo que gastar.

    Un saludo y muy interesante tema espero que pongas mas cosas.

  14. 11/08/2011FidelVS dice:

    Hola muy bueno los comentarios cada uno con sus criterio. Pero no estoy de acuerdo con le que dice Cesar de que C++ es un fastidio. Un amigo mio me dijo que el lenguaje de los dioses es C/C++ por que C++ es una extensión de C. Y para el socio que dice que con C tienes buffer overflows, memory leaks, dangling pointers, endianess issues, segfaults etc., ese es un pendejo programando de verdad por que llevan mucho tiempo programando y no saben el significado de una variable, el significado de un puntero, no entienden el funcionamiento de estos. Si programas bien no tiene nada de esto.

  15. 18/08/2011soequelle dice:

    Pues hoy en día comienza a tomar fuerza el lenguaje C en un ámbito web, debido a lo rápido que es y a la disponibilidad que se necesita de las web con grandes cantidades de datos. Facebook y Amazon ya están cambiando sus desarrollos a C++ por lo que tal vez no tarden en liberar algún framework en este lenguaje para facilitar la creación de aplicaciones web de alta disponibilidad.

Escribe tu comentario:

¿Escribiste código? [+]

Para hacerlo más legible puedes utilizar la etiqueta <pre>.
Ejemplo: <pre lang="php" line="1"> código </pre>
  • El atributo lang indica el lenguaje de programación.
  • El atributo line indica desde donde comienza la numeración.


  Los mas frikis pueden suscribirse a los comentarios por RSS.