“Witty” – Um webserver em C++

Sempre que se fala em web applications algumas soluções sempre entram em cena como plataformas em potencial: JBoss, Tomcat, ASP.NET, PHP, …. Mas, já pensou se pudessemos desenvolver nossas aplicações web em C++?

“Witty” (Wt – contração de Web Toolkit) é uma dessas possibilidades. O ganho de performance é enorme e suporta mais que o dobro de conexões simultâneas do que qualquer uma das soluções heavy duty pode te dar. E ainda é totalmente free!

Aplicação, ao estilo do antigo GMail, escrita com o "witty"

Dê uma olhada nos exemplos (aqui). Esse toolkit é impressionante!

Se ficou interessado, o link para download  e para a documentação é esse aqui.

Anúncios

14 comentários sobre ““Witty” – Um webserver em C++

  1. Isto é realmente tentador… Estou quase mergulhando.
    Fiquei muito feliz no ano passado quando achei um framework decente, chamado Codeigniter. Tanto que estou desenvolvendo um mais simples que utiliza “c” para criar protótipos.
    Mas pelo jeito, este treco ai, está reunindo tudo que sempre pensei de 3 mundos: uma linguagem decente, um modo de trabalho stateful (tipo aplicativos locais) e ainda por cima orientado à objetos.
    Realmente vc foi fundo agora… Vou ter que (mais uma vez) jogar fora os meus ensaios e recomeçar. Mas tudo bem já estava cogitando mesmo ir para C++ pois o C está me criando algumas dificuldades com os meus projetos – OOC era a minha meta, mas ao invés de mergulhar novamente em OOC, vou ver o que dá para fazer usando este witty ai e aplicar o modelo que mais gostei até o momento: mvc.
    Thx.

  2. Como sempre estas “coisinhas” vem com um preço incluído: muito tempo em mão-na-massa!

    Tentei instalar no meu Ubuntu LTS… não rolou.
    Os comandos sugeridos no site:

    $ sudo add-apt-repository ppa:pgquiles/wt
    $ sudo apt-get update
    $ sudo apt-get install witty witty-dev witty-doc witty-examples

    Me deram esta “pequena carga” adicional:
    Os NOVOS pacotes a seguir serão instalados:
    comerr-dev doc-base krb5-multidev libboost-date-time-dev
    libboost-date-time1.40-dev libboost-date-time1.40.0 libboost-dev
    libboost-filesystem-dev libboost-filesystem1.40-dev libboost-filesystem1.40.0
    libboost-program-options1.40.0 libboost-regex-dev libboost-regex1.40-dev
    libboost-regex1.40.0 libboost-serialization1.40-dev libboost-serialization1.40.0
    libboost-signals-dev libboost-signals1.40-dev libboost-signals1.40.0
    libboost-system1.40-dev libboost-system1.40.0 libboost-thread-dev
    libboost-thread1.40-dev libboost-thread1.40.0 libboost1.40-dev libfcgi-dev
    libfcgi0ldbl libfreezethaw-perl libgraphicsmagick3 libgssrpc4 libhpdf-2.1.0
    libicu-dev libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libkrb5-dev libmldbm-perl
    libpq-dev libpq5 libuuid-perl libwt-common libwt-dev libwt-doc libwt29
    libwtdbo-dev libwtdbo29 libwtdbopostgres-dev libwtdbopostgres29 libwtdbosqlite-dev
    libwtdbosqlite29 libwtext-dev libwtext29 libwthttp-dev libwthttp29 tinymce witty
    witty-dev witty-doc witty-examples

    0 pacotes atualizados, 59 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
    É preciso baixar 13,3MB/39,5MB de arquivos.
    Depois desta operação, 196MB adicionais de espaço em disco serão usados.
    Você quer continuar [S/n]?

    E, em seguida os lindos erros:

    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libuuid-perl 0.02-3build2
    Não foi possível conectar em br.archive.ubuntu.com:80 (200.236.31.4). – connect (110: Tempo esgotado para conexão)
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libmldbm-perl 2.01-3
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main doc-base 0.9.5
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid-updates/main comerr-dev 2.1-1.41.11-1ubuntu2.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-date-time1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-serialization1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-serialization1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-date-time1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libboost-date-time-dev 1.40.0.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-dev 1.40.0.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-system1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-filesystem1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-system1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-filesystem1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libboost-filesystem-dev 1.40.0.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-program-options1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-regex1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libicu-dev 4.2.1-3
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-regex1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libboost-regex-dev 1.40.0.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-signals1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-signals1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libboost-signals-dev 1.40.0.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-thread1.40.0 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libboost-thread1.40-dev 1.40.0-4ubuntu4
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libboost-thread-dev 1.40.0.1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libfcgi0ldbl 2.4.0-7.1ubuntu1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libfcgi-dev 2.4.0-7.1ubuntu1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/main libfreezethaw-perl 0.45-1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe libgraphicsmagick3 1.3.5-6
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Err http://br.archive.ubuntu.com/ubuntu/ lucid/universe tinymce 3.2.7-1
    Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/libu/libuuid-perl/libuuid-perl_0.02-3build2_amd64.deb Não foi possível conectar em br.archive.ubuntu.com:80 (200.236.31.4). – connect (110: Tempo esgotado para conexão)
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/libm/libmldbm-perl/libmldbm-perl_2.01-3_all.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/d/doc-base/doc-base_0.9.5_all.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/e/e2fsprogs/comerr-dev_2.1-1.41.11-1ubuntu2.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-date-time1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-serialization1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-serialization1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-date-time1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/b/boost-defaults/libboost-date-time-dev_1.40.0.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost-defaults/libboost-dev_1.40.0.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-system1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-filesystem1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-system1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-filesystem1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/b/boost-defaults/libboost-filesystem-dev_1.40.0.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-program-options1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-regex1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu-dev_4.2.1-3_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-regex1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/b/boost-defaults/libboost-regex-dev_1.40.0.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-signals1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-signals1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/b/boost-defaults/libboost-signals-dev_1.40.0.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-thread1.40.0_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/b/boost1.40/libboost-thread1.40-dev_1.40.0-4ubuntu4_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/b/boost-defaults/libboost-thread-dev_1.40.0.1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/libf/libfcgi/libfcgi0ldbl_2.4.0-7.1ubuntu1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/libf/libfcgi/libfcgi-dev_2.4.0-7.1ubuntu1_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/main/libf/libfreezethaw-perl/libfreezethaw-perl_0.45-1_all.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/g/graphicsmagick/libgraphicsmagick3_1.3.5-6_amd64.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    Falhou ao buscar http://br.archive.ubuntu.com/ubuntu/pool/universe/t/tinymce/tinymce_3.2.7-1_all.deb Desabilitado para conectar com br.archive.ubuntu.com:http:
    E: Impossível buscar alguns arquivos, talvez executar apt-get update ou tentar com –fix-missing?
    root@bordo:/home/marz# ping http://www.lwn.net
    PING lwn.net (72.51.34.34) 56(84) bytes of data.
    64 bytes from sb.lwn.net (72.51.34.34): icmp_seq=1 ttl=53 time=199 ms
    64 bytes from sb.lwn.net (72.51.34.34): icmp_seq=2 ttl=53 time=199 ms
    64 bytes from sb.lwn.net (72.51.34.34): icmp_seq=3 ttl=53 time=199 ms
    ^C
    — lwn.net ping statistics —
    4 packets transmitted, 3 received, 25% packet loss, time 3292ms
    rtt min/avg/max/mdev = 199.250/199.688/199.954/0.480 ms

    1. Putz…. Como sempre softwares e coisas de BRAZUCAS sempre dá pau !

      Foi só trocar o repositório, em /etc/apt/sources.list, de .br para .us, para funcionar !!!!

      root@bordo:/home/marz# aptitude install witty witty-dbg witty-dev witty-doc
      Lendo listas de pacotes… Pronto
      Construindo árvore de dependências
      Lendo informação de estado… Pronto
      Lendo informações estendidas de estado
      Inicializando estados de pacotes… Pronto
      Escrevendo informações estendidas de estado… Pronto
      Os NOVOS pacotes a seguir serão instalados:
      comerr-dev{a} krb5-multidev{a} libboost-date-time-dev{a} libboost-date-time1.40-dev{a} libboost-date-time1.40.0{a} libboost-dev{a} libboost-filesystem-dev{a}
      libboost-filesystem1.40-dev{a} libboost-filesystem1.40.0{a} libboost-program-options1.40.0{a} libboost-regex-dev{a} libboost-regex1.40-dev{a} libboost-regex1.40.0{a}
      libboost-serialization1.40-dev{a} libboost-serialization1.40.0{a} libboost-signals-dev{a} libboost-signals1.40-dev{a} libboost-signals1.40.0{a}
      libboost-system1.40-dev{a} libboost-system1.40.0{a} libboost-thread-dev{a} libboost-thread1.40-dev{a} libboost-thread1.40.0{a} libboost1.40-dev{a} libfcgi-dev{a}
      libfcgi0ldbl{a} libgraphicsmagick3{a} libicu-dev{a} libkrb5-dev{a} libpq-dev{a} libwt-dbg{a} libwt-dev{a} libwt29{a} libwtdbo-dev{a} libwtdbo29{a}
      libwtdbopostgres-dev{a} libwtdbopostgres29{a} libwtdbosqlite-dev{a} libwtdbosqlite29{a} libwtext-dev{a} libwtext29{a} libwthttp-dev{a} libwthttp29{a} tinymce{a} witty
      witty-dbg witty-dev witty-examples{a}
      0 pacotes atualizados, 48 novos instalados, 0 a serem removidos e 0 não atualizados.
      É preciso obter 13,2MB/62,1MB de arquivos. Depois do desempacotamento, 267MB serão usados.
      Você deseja continuar? [Y/n/?]
      Escrevendo informações estendidas de estado… Pronto
      Obter:1 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main comerr-dev 2.1-1.41.11-1ubuntu2.1 [42,1kB]
      Obter:2 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost1.40-dev 1.40.0-4ubuntu4 [6164kB]
      Obter:3 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-date-time1.40.0 1.40.0-4ubuntu4 [47,0kB]
      Obter:4 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-serialization1.40.0 1.40.0-4ubuntu4 [215kB]
      Obter:5 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-serialization1.40-dev 1.40.0-4ubuntu4 [306kB]
      Obter:6 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-date-time1.40-dev 1.40.0-4ubuntu4 [49,9kB]
      Obter:7 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libboost-date-time-dev 1.40.0.1 [1766B]
      Obter:8 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-dev 1.40.0.1 [1888B]
      Obter:9 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-system1.40.0 1.40.0-4ubuntu4 [30,9kB]
      Obter:10 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-filesystem1.40.0 1.40.0-4ubuntu4 [53,0kB]
      Obter:11 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-system1.40-dev 1.40.0-4ubuntu4 [31,1kB]
      Obter:12 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-filesystem1.40-dev 1.40.0-4ubuntu4 [62,2kB]
      Obter:13 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libboost-filesystem-dev 1.40.0.1 [1786B]
      Obter:14 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-program-options1.40.0 1.40.0-4ubuntu4 [130kB]
      Obter:15 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-regex1.40.0 1.40.0-4ubuntu4 [381kB]
      Obter:16 http://us.archive.ubuntu.com/ubuntu/ lucid/main libicu-dev 4.2.1-3 [2863kB]
      Obter:17 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-regex1.40-dev 1.40.0-4ubuntu4 [529kB]
      Obter:18 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libboost-regex-dev 1.40.0.1 [2036B]
      Obter:19 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-signals1.40.0 1.40.0-4ubuntu4 [53,8kB]
      Obter:20 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-signals1.40-dev 1.40.0-4ubuntu4 [61,6kB]
      Obter:21 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libboost-signals-dev 1.40.0.1 [1842B]
      Obter:22 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-thread1.40.0 1.40.0-4ubuntu4 [53,1kB]
      Obter:23 http://us.archive.ubuntu.com/ubuntu/ lucid/main libboost-thread1.40-dev 1.40.0-4ubuntu4 [56,5kB]
      Obter:24 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libboost-thread-dev 1.40.0.1 [1802B]
      Obter:25 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libfcgi0ldbl 2.4.0-7.1ubuntu1 [281kB]
      Obter:26 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libfcgi-dev 2.4.0-7.1ubuntu1 [37,7kB]
      Obter:27 http://us.archive.ubuntu.com/ubuntu/ lucid/universe libgraphicsmagick3 1.3.5-6 [1278kB]
      Obter:28 http://us.archive.ubuntu.com/ubuntu/ lucid/universe tinymce 3.2.7-1 [442kB]
      Buscados 13,2MB em 35s (374kB/s)
      Extraíndo templates de pacotes : 100%
      Selecionando pacote previamente não selecionado comerr-dev.
      (Lendo banco de dados … 87261 arquivos e diretórios atualmente instalados).
      Desempacotando comerr-dev (de …/comerr-dev_2.1-1.41.11-1ubuntu2.1_amd64.deb) …
      Selecionando pacote previamente não selecionado krb5-multidev.
      Desempacotando krb5-multidev (de …/krb5-multidev_1.8.1+dfsg-2ubuntu0.10_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost1.40-dev.
      Desempacotando libboost1.40-dev (de …/libboost1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-date-time1.40.0.
      Desempacotando libboost-date-time1.40.0 (de …/libboost-date-time1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-serialization1.40.0.
      Desempacotando libboost-serialization1.40.0 (de …/libboost-serialization1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-serialization1.40-dev.
      Desempacotando libboost-serialization1.40-dev (de …/libboost-serialization1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-date-time1.40-dev.
      Desempacotando libboost-date-time1.40-dev (de …/libboost-date-time1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-date-time-dev.
      Desempacotando libboost-date-time-dev (de …/libboost-date-time-dev_1.40.0.1_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-dev.
      Desempacotando libboost-dev (de …/libboost-dev_1.40.0.1_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-system1.40.0.
      Desempacotando libboost-system1.40.0 (de …/libboost-system1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-filesystem1.40.0.
      Desempacotando libboost-filesystem1.40.0 (de …/libboost-filesystem1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-system1.40-dev.
      Desempacotando libboost-system1.40-dev (de …/libboost-system1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-filesystem1.40-dev.
      Desempacotando libboost-filesystem1.40-dev (de …/libboost-filesystem1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-filesystem-dev.
      Desempacotando libboost-filesystem-dev (de …/libboost-filesystem-dev_1.40.0.1_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-program-options1.40.0.
      Desempacotando libboost-program-options1.40.0 (de …/libboost-program-options1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-regex1.40.0.
      Desempacotando libboost-regex1.40.0 (de …/libboost-regex1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libicu-dev.
      Desempacotando libicu-dev (de …/libicu-dev_4.2.1-3_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-regex1.40-dev.
      Desempacotando libboost-regex1.40-dev (de …/libboost-regex1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-regex-dev.
      Desempacotando libboost-regex-dev (de …/libboost-regex-dev_1.40.0.1_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-signals1.40.0.
      Desempacotando libboost-signals1.40.0 (de …/libboost-signals1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-signals1.40-dev.
      Desempacotando libboost-signals1.40-dev (de …/libboost-signals1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-signals-dev.
      Desempacotando libboost-signals-dev (de …/libboost-signals-dev_1.40.0.1_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-thread1.40.0.
      Desempacotando libboost-thread1.40.0 (de …/libboost-thread1.40.0_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-thread1.40-dev.
      Desempacotando libboost-thread1.40-dev (de …/libboost-thread1.40-dev_1.40.0-4ubuntu4_amd64.deb) …
      Selecionando pacote previamente não selecionado libboost-thread-dev.
      Desempacotando libboost-thread-dev (de …/libboost-thread-dev_1.40.0.1_amd64.deb) …
      Selecionando pacote previamente não selecionado libfcgi0ldbl.
      Desempacotando libfcgi0ldbl (de …/libfcgi0ldbl_2.4.0-7.1ubuntu1_amd64.deb) …
      Selecionando pacote previamente não selecionado libfcgi-dev.
      Desempacotando libfcgi-dev (de …/libfcgi-dev_2.4.0-7.1ubuntu1_amd64.deb) …
      Selecionando pacote previamente não selecionado libgraphicsmagick3.
      Desempacotando libgraphicsmagick3 (de …/libgraphicsmagick3_1.3.5-6_amd64.deb) …
      Selecionando pacote previamente não selecionado libkrb5-dev.
      Desempacotando libkrb5-dev (de …/libkrb5-dev_1.8.1+dfsg-2ubuntu0.10_amd64.deb) …
      Selecionando pacote previamente não selecionado libpq-dev.
      Desempacotando libpq-dev (de …/libpq-dev_8.4.9-0ubuntu0.10.04_amd64.deb) …
      Selecionando pacote previamente não selecionado tinymce.
      Desempacotando tinymce (de …/tinymce_3.2.7-1_all.deb) …
      Selecionando pacote previamente não selecionado libwt29.
      Desempacotando libwt29 (de …/libwt29_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwthttp29.
      Desempacotando libwthttp29 (de …/libwthttp29_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtext29.
      Desempacotando libwtext29 (de …/libwtext29_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtdbo29.
      Desempacotando libwtdbo29 (de …/libwtdbo29_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtdbosqlite29.
      Desempacotando libwtdbosqlite29 (de …/libwtdbosqlite29_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwt-dbg.
      Desempacotando libwt-dbg (de …/libwt-dbg_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwt-dev.
      Desempacotando libwt-dev (de …/libwt-dev_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtdbo-dev.
      Desempacotando libwtdbo-dev (de …/libwtdbo-dev_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtdbopostgres29.
      Desempacotando libwtdbopostgres29 (de …/libwtdbopostgres29_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtdbopostgres-dev.
      Desempacotando libwtdbopostgres-dev (de …/libwtdbopostgres-dev_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtdbosqlite-dev.
      Desempacotando libwtdbosqlite-dev (de …/libwtdbosqlite-dev_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwtext-dev.
      Desempacotando libwtext-dev (de …/libwtext-dev_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado libwthttp-dev.
      Desempacotando libwthttp-dev (de …/libwthttp-dev_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado witty-examples.
      Desempacotando witty-examples (de …/witty-examples_3.1.10-1~lucid~pgquiles1_amd64.deb) …
      Selecionando pacote previamente não selecionado witty.
      Desempacotando witty (de …/witty_3.1.10-1~lucid~pgquiles1_all.deb) …
      Selecionando pacote previamente não selecionado witty-dbg.
      Desempacotando witty-dbg (de …/witty-dbg_3.1.10-1~lucid~pgquiles1_all.deb) …
      Selecionando pacote previamente não selecionado witty-dev.
      Desempacotando witty-dev (de …/witty-dev_3.1.10-1~lucid~pgquiles1_all.deb) …
      Processando gatilhos para man-db …
      Processando gatilhos para install-info …
      Configurando comerr-dev (2.1-1.41.11-1ubuntu2.1) …
      Configurando krb5-multidev (1.8.1+dfsg-2ubuntu0.10) …
      Configurando libboost1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-date-time1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-serialization1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-serialization1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-date-time1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-date-time-dev (1.40.0.1) …
      Configurando libboost-dev (1.40.0.1) …
      Configurando libboost-system1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-filesystem1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-system1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-filesystem1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-filesystem-dev (1.40.0.1) …
      Configurando libboost-program-options1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-regex1.40.0 (1.40.0-4ubuntu4) …

      Configurando libicu-dev (4.2.1-3) …
      Configurando libboost-regex1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-regex-dev (1.40.0.1) …
      Configurando libboost-signals1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-signals1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-signals-dev (1.40.0.1) …
      Configurando libboost-thread1.40.0 (1.40.0-4ubuntu4) …

      Configurando libboost-thread1.40-dev (1.40.0-4ubuntu4) …
      Configurando libboost-thread-dev (1.40.0.1) …
      Configurando libfcgi0ldbl (2.4.0-7.1ubuntu1) …

      Configurando libfcgi-dev (2.4.0-7.1ubuntu1) …
      Configurando libgraphicsmagick3 (1.3.5-6) …

      Configurando libkrb5-dev (1.8.1+dfsg-2ubuntu0.10) …
      Configurando libpq-dev (8.4.9-0ubuntu0.10.04) …
      Configurando tinymce (3.2.7-1) …

      Configurando libwt29 (3.1.10-1~lucid~pgquiles1) …

      Configurando libwthttp29 (3.1.10-1~lucid~pgquiles1) …

      Configurando libwtext29 (3.1.10-1~lucid~pgquiles1) …

      Configurando libwtdbo29 (3.1.10-1~lucid~pgquiles1) …

      Configurando libwtdbosqlite29 (3.1.10-1~lucid~pgquiles1) …

      Configurando libwt-dbg (3.1.10-1~lucid~pgquiles1) …
      Configurando libwt-dev (3.1.10-1~lucid~pgquiles1) …
      Configurando libwtdbo-dev (3.1.10-1~lucid~pgquiles1) …
      Configurando libwtdbopostgres29 (3.1.10-1~lucid~pgquiles1) …

      Configurando libwtdbopostgres-dev (3.1.10-1~lucid~pgquiles1) …
      Configurando libwtdbosqlite-dev (3.1.10-1~lucid~pgquiles1) …
      Configurando libwtext-dev (3.1.10-1~lucid~pgquiles1) …
      Configurando libwthttp-dev (3.1.10-1~lucid~pgquiles1) …
      Configurando witty-examples (3.1.10-1~lucid~pgquiles1) …
      Configurando witty (3.1.10-1~lucid~pgquiles1) …
      Configurando witty-dbg (3.1.10-1~lucid~pgquiles1) …
      Configurando witty-dev (3.1.10-1~lucid~pgquiles1) …
      Processando gatilhos para libc-bin …
      ldconfig deferred processing now taking place
      Lendo listas de pacotes… Pronto
      Construindo árvore de dependências
      Lendo informação de estado… Pronto
      Lendo informações estendidas de estado
      Inicializando estados de pacotes… Pronto
      Escrevendo informações estendidas de estado… Pronto

  3. Já no Debian… Ai engasga de vez:

    http://redmine.webtoolkit.eu/wiki/1/Installing_Wt_on_Debian

    O pacote está disponível no Sid (https://launchpad.net/debian/+source/witty) e provavelmente nunca estará numa versão estável, pois tem licença “paga”. Hmmm aí realmente a coisa complica.

    Gostei de ver o firebird e o libharu juntos.

    Mas a minha trajetória com este Framework promete ser bem longa e cheia de obstáculos pois o processo de instalação é bem minucioso, principalmente para mim que não uso o apache, mas um filhote dele: o cherokee.

    É, pelo jeito vou voltar para os meus protótipos, afinal estudar este framework requer um booommm tempo de molho.

    Que pena, parece tão bom… Mas tão complicadim !

  4. Nota adicional: nem penso em voltar pro urubuntu e muito menos abrir mão de meus servers lts ( que pretendo desativar e trocar por debians daqui a 3 anos).

    Este negócio de novidade é bom pra m$… Eu quero estabilidade e sossego.

  5. Uma coisa é certa: este post me deu um grande incentivo para retornar ao C++ em vez de continuar brigando com o OOC! Estava pensando nisto quando adotei o KDE, afinal o Qt é escrito em C++.

  6. Achei no meu Debian:

    root@pistache:/home/marz/Desktop# apt-cache search libwt
    libwt21 – C++ library and application server for web applications [runtime]
    libwtdbo3 – the Wt::Dbo ORM library for Wt [runtime]
    libwtdbopostgres3 – the PostgreSQL backend for Wt::Dbo [runtime]
    libwtdbosqlite3 – the sqlite3 backend for Wt::Dbo [runtime]
    libwtext14 – additional widgets for Wt, based on ExtJS 2.0.x [runtime]
    libwtfcgi8 – the FastCGI connector library for Wt [runtime]
    libwthttp8 – the HTTP(S) connector library for Wt [runtime]
    libwt-common – C++ library and application server for web applications [common]
    libwt-dbg – C++ library and application server for web applications [debug]
    libwt-dev – C++ library and application server for web applications [development]
    libwt-doc – C++ library and application server for web applications [doc]
    libwt29 – C++ library and application server for web applications [runtime]
    libwtdbo-dev – Wt::Dbo ORM library for Wt [development]
    libwtdbo29 – Wt::Dbo ORM library for Wt [runtime]
    libwtdbopostgres-dev – PostgreSQL backend for Wt::Dbo [development]
    libwtdbopostgres29 – PostgreSQL backend for Wt::Dbo [runtime]
    libwtdbosqlite-dev – sqlite3 backend for Wt::Dbo [development]
    libwtdbosqlite29 – sqlite3 backend for Wt::Dbo [runtime]
    libwtext-dev – additional widgets for Wt, based on ExtJS 2.0.x [development]
    libwtext29 – additional widgets for Wt, based on ExtJS 2.0.x [runtime]
    libwtfcgi-dev – FastCGI connector library for Wt [development]
    libwtfcgi29 – FastCGI connector library for Wt [runtime]
    libwthttp-dev – HTTP(S) connector library for Wt [development]
    libwthttp29 – HTTP(S) connector library for Wt [runtime]

    Wooaaaoooo … Mais próximo !

  7. Enfim, pronto para meus testes!!!

    root@pistache:/home/marz/Desktop# apt-get install libwt-dev
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    Os pacotes extra a seguir serão instalados:
    libboost-date-time-dev libboost-date-time1.46-dev libboost-dev
    libboost-filesystem-dev libboost-filesystem1.46-dev libboost-regex-dev
    libboost-regex1.46-dev libboost-serialization1.46-dev libboost-signals-dev
    libboost-signals1.46-dev libboost-system1.46-dev libboost-thread-dev
    libboost-thread1.46-dev libboost1.46-dev libfcgi-dev libfcgi0ldbl libhpdf-2.1.0
    libicu-dev libssl-dev libssl-doc libwt-common libwt29 libwthttp-dev libwthttp29
    tinymce
    Pacotes sugeridos:
    libboost1.46-doc libboost-graph-parallel1.46-dev libboost-graph1.46-dev
    libboost-iostreams1.46-dev libboost-math1.46-dev libboost-mpi1.46-dev
    libboost-program-options1.46-dev libboost-python1.46-dev libboost-random1.46-dev
    libboost-test1.46-dev libboost-wave1.46-dev doxygen default-jdk icu-doc
    Os NOVOS pacotes a seguir serão instalados:
    libboost-date-time-dev libboost-date-time1.46-dev libboost-dev
    libboost-filesystem-dev libboost-filesystem1.46-dev libboost-regex-dev
    libboost-regex1.46-dev libboost-serialization1.46-dev libboost-signals-dev
    libboost-signals1.46-dev libboost-system1.46-dev libboost-thread-dev
    libboost-thread1.46-dev libboost1.46-dev libfcgi-dev libfcgi0ldbl libhpdf-2.1.0
    libicu-dev libssl-dev libssl-doc libwt-common libwt-dev libwt29 libwthttp-dev
    libwthttp29 tinymce
    0 pacotes atualizados, 26 pacotes novos instalados, 0 a serem removidos e 272 não atualizados.
    É preciso baixar 30,3 MB de arquivos.
    Depois desta operação, 140 MB adicionais de espaço em disco serão usados.
    Você quer continuar [S/n]?

    Após continuar: instalou sem criar caso.

    Let it rip !

    1. Bons exemplos, no entanto, tratam apenas do uso da lib FastCGI. O “Witty” não é isso… ele contém o web server próprio (mas tb pode ser usado com Apache e IIS, por exemplo), além de um extenso framework para uso de Widgets.

      Com o Witty vc não precisa de um Web server…

      1. cooler51 (a good idea?!)… Dá uma sacada na biblioteca boost, para C++.
        O namespace asio e o namespace thread pode ser de grande ajuda no seu projeto…

        []s
        Fred

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s