segunda-feira, 15 de abril de 2013

Defendendo o Tufão


Tenho acompanhado, de longe confesso, o desenvolvimento do framework web Tufão. Encontrei a primeira referência a este projeto no site do grupo de usuários de C e C++ do Brasil.

Duas perguntas veêm quando vemos a descrição do Tufão:
  1. Por que um node.js em C++?
  2. Por que usar o Qt?
Vou tentar defender o projeto Tufão respondendo estas perguntas. A primeira delas é a mais fácil. C++ tem excelente desempenho. Com certeza, se você esta escrevendo um blog ou um site para uma pequena empresa, pensar em usar C++ só se justifica se for um exercício e você estiver querendo aprender ou se desejar sofrer desnecessariamente. Nestes casos temos PHP, Python, Ruby e tantas outras linguagens dinâmicas que tornam estas tarefas bem mais fácies e rápidas.  O problema aparece quando você tem que entregar mais páginas/requisições simultaneamente. E nem sempre isto ocorre somente em sites gigantescos, algumas soluções de sistemas de TI rodando em  intranets e bate-papos são exemplos de aplicações que podem chegar rapidamente ao limite da escalabilidade de algumas soluções mais fáceis. 

Ai começam a aparecer as mágicas para escalar horizontalmente. Você aproveitou mal o potencial de seu hardware e tem que partir muito mais rapidamente para dolorosa tarefa de escalar horizontalmente. 

Vamos pra segunda pergunta. Por que usar o Qt? Diferente da o que acredita alguns pessoas, Qt não é simplesmente um Toolkit para programação de interfaces gráficas. Ele é um framework para desenvolvimento de soluções C++ com várias características desejaveis:
  • funciona várias plataformas (Windows, OSX, X11, Embedded Linux, QNX/Blackberry 10, Android, iOS, VxWorks, etc)
  • maduro. O Qt já é muito utilizado e testado em várias equipes expalhadas pelo mundo.
  • API fácil de usar e bem trabalhada
  • Boa performance
  • Suporte da comunidade e Comercial
Assim, não é de se admirar que projetos como o Tufão também usem o Qt.

Mais informações em Tufão.

Nenhum comentário:

Postar um comentário