Lançado o Qt 5 Alpha

Qt 5 Alpha

Por Lars Knoll em 3 de Abril de 2012

O Qt Project tem o orgulho de anunciar o primeiro lançamento do Qt 5 Alpha. Todos os recursos do Qt 5.0 já estão implementados e agradecemos desde já os possíveis testes e feedbacks a serem realizados pelos usuários mais avançados das bibliotecas Qt. Esta é uma versão disponibilizada apenas em código-fonte - consulte a seção "Instalação" abaixo para informações sobre como gerar binários ou encontrar aqueles publicados pela comunidade.

Todo o esforço está sendo colocado agora na estabilização, melhorias no desempenho e documentação. Esperamos comemorar o lançamento final durante o Qt Contributors Summit [qt-project.org] (de 21 a 23 de Junho em Berlin). Toda a sua ajuda é bem vinda!

Download

A versão alpha pode ser obtida em vários formatos no release archive [releases.qt-project.org]

Visão Geral do Qt 5

O Qt 4 foi lançado há quase sete anos e continua hoje totalmente atualizado e competitivo, na sua versão estável 4.8. A próxima grande iteração, 5, aprofunda quatro aspectos essenciais do Qt:

  • Incríveis capacidades gráficas e de desempenho, especialmente manifestadas em ambientes restritos, como dispositivos móveis. O Qt Quick 2 traz um scenegraph baseado em openGL, um sistema de partículas e uma coleção de efeitos de sombreamento. O Qt Multimedia, Qt 3D e Qt Graphical Effects potencializam esses recursos ainda mais.
  • Mais produtividade e flexibilidade para o desenvolvedor, tornando o JavaScript e QML entidades de primeira classe, ao mesmo tempo em que mantém o C++ e o suporte aos Qt Widgets convencionais. O novo backend javascript do Qt, alimentado pelo V8, o Qt JSON DB e o Qt WebKit 2 facilitará a vida dos desenvolvedores HTML5.
  • Portabilidade cross-platform é agora mais simples graças à nova estrutura dos módulos Essentials e Add-Ons, além da consolidação da Qt Platform Abstraction [qt-project.org]. Estamos ansiosos para ver o Qt em execução em todos os tipos de ambientes!
  • Open Development e Open Governance garantem maior participação no desenvolvimento e teste do Qt 5 por uma crescente comunidade de desenvolvedores, incluindo a Nokia, o projeto KDE, Digia, Collabora, Accenture, KDAB e muitas outras empresas e indivíduos. Hoje, todos nós comemoramos !

O que está sendo lançado ?

O Qt 5 Alpha inclui os seguintes módulos:

  • Essentials : Qt 3D, Qt Core, Qt GUI, Qt JS Backend, Qt Location, Qt Multimedia, Qt Network, Qt QML, Qt Quick, Qt SQL, Qt Test e Qt WebKit.
  • Add-Ons : Qt D-Bus, Qt Graphical Effects, Qt Image Formats, Qt OpenGL, suporte a impressão, Qt Publish/Subscribe, Qt Quick 1, Qt Script, Qt Script Tools, Qt Service Framework, Qt SVG, Qt System Info, Qt Tools, Qt Wayland, Qt WebKit Widgets, Qt Widgets, Qt XML e Qt XML Patterns.
    Versões futuras podem incluir mais módulos. Veja a lista completa de módulos disponíveis em Módulos do Qt Essentials e Módulos do Qt Add-Ons .

Demos e exemplos

Alguns exemplos visuais e ilustrativos para os apressadinhos :)

![](http://farm8.staticflickr.com/7036/7028042949_d8bde3cfb1_n.jpg) ![](http://farm8.staticflickr.com/7065/6881935768_0821334fb0_n.jpg) ![](http://farm8.staticflickr.com/7190/6881927382_f83cf2215d_m.jpg)

  • Livecoding video effects with Qt 5 [do youtube.com] - Mostra o Big Buck Bunny como você nunca viu antes, com Qt Quick 2 em ação.
  • Pimp my video: efeitos de sombreamento e multimídia [labs.qt.nokia.com] - Veja os efeitos de vídeo do Qt 5 neste blog.
  • Qt Graphical Effects no Qt Qt Labs [labs.qt.nokia.com] - O mesmo que acima, porém aplicado a imagens estáticas.
  • Raspberry Pi, Qt 5, QML, Shaders [do youtube.com] - Um vídeo criativo mostrando efeitos GL e codificação on-the-fly utilizando uma placa de somente 35 dólares.
  • Novas características do Qt 3D [do youtube.com] - Vídeo não tão recente, mas ainda útil para ver o que os designers 3D podem fazer com o Qt.
  • Qt MediaHub [qt-project.org] - grande exemplo do poder e da conveniência do Qt Quick. Demonstração funcional e com código disponível, para você aprender as melhores práticas ao utilizar Qt / QML.
  • Compilando o Qt 5 para o Playbook - Instruções para testar o Qt 5 e executar seus aplicativos no tablet Blackberry.
  • QtonPi [wiki.qt-project.org] - projeto de ponta para a construção de um sistema operacional mínimo e um SDK, otimizados tanto para o Qt 5 quanto para a placa Raspberry Pi.
  • Snowshoe [snowshoe.cc] - navegador baseado no Qt 5 utilizável agora no Nokia N9.
  • Quasi Engine [indt.github.com] - Uma estrutura baseada no Qt 5 para facilitar o desenvolvimento de jogos 2D fornecendo elementos QML que representam entidades necessárias na maioria dos jogos.

O que há de novo ?

Aqui está só um resumo. A lista completa de funcionalidades pode ser encontrada em Características do Qt 5.

Outros detalhes estão disponíveis em: http://qt.gitorious.org/qt/qtbase/blobs/master/dist/changes-5.0.0

Qt Quick

  • O Qt Quick é agora um módulo do grupo essentials, contendo o scenegraph baseado em OpenGL e todos os itens usuais.
  • Novo suporte para efeitos de sombreamento baseados em openGL e partículas.
  • O QML e o suporte a JavaScript ganharam módulos próprios dentro do grupo essentials.
  • O Qt Quick, como no Qt 4.x, está disponível em um módulo Add-On totalmente compatível com o Qt Quick 1.

Qt JS Backend

  • Novo módulo com a engine V8 JavaScript, proporcionando um desempenho muito melhor.
  • Novas classes QJSEngineQJSValue.

Qt QML

  • Novo módulo que contento a engine QML.
  • Muitas melhorias no desempenho e algumas melhorias para suporte a idiomas.
  • Em sua maioria é source-compatible, mas quando desenvolvendo itens QML em C++ algumas mudanças são necessárias devido a nova scenegraph.

Qt 3D

Qt WebKit

  • O módulo Qt WebKit agora é baseada em WebKit2. As APIs C++ não foram modificadas.
  • Muitas melhorias de desempenho e melhor conformidade com o HTML5.
  • O módulo baseado no WebKit1, como no Qt 4.x, agora é chamado Qt WebKit Widget e está disponível como um add-on.

Qt Core

  • Classe QStandardPaths disponibilizando locais padrão para arquivos.
  • Reconhecimento automático de tipos MIME.
  • Verificação em tempo de compilação da sintaxe de conexão de sinais e slots.
  • Novo mecanismo para expressões regulares, baseado no Perl.
  • Muitas estruturas de dados foram reescritas e otimizadas para um melhor desempenho.
  • Suporte ao C++11 onde possível (mas o Qt continua a compilar e funcionar com compiladores C++98).

Qt Gui

  • Suporte para superfícies de alto nível através da classe QWindow.
  • Suporte nativo a OpenGL.

Qt Network

  • Suporte para pesquisas de DNS.
  • Classes QHttp e QFtp removidos (eles estão disponíveis stand-alone quando necessário).

Qt Location

  • Classes relacionadas a mapas e geolocalização que anteriormente faziam parte do Qt Mobility agora estão contidos em um módulo próprio.

Qt Widgets

  • Todas as classes QWidget antigas, baseados no Qt Gui, foram separadas em uma nova biblioteca Qt Widgets.
  • Portados para a nova Qt Platform Abstraction.
  • Funcionarão normalmente como no Qt 4.x.

Problemas conhecidos

  • A compilação do Qt WebKit está desabilitada no Windows, pois sua compilação neste momento é bastante complexa. Estamos trabalhando para tê-la re-ativada e em pleno funcionamento para a versão beta.
  • Traduções ainda não funcionam; aplicações Qt aparecerão sempre em Inglês.

Instalação

Esta versão inclui apenas os pacotes fontes, sem binários oficiais. Os desenvolvedores devem construir seus próprios binários - ver Instruções de compilação do Qt 5 Alpha.

Você pode procurar também os binários não oficiais publicados pela comunidade.

Veja também Compilando o Qt 5 a partir do Git [qt-project.org].

Portando código existente

Veja Transição do Qt 4 para Qt 5 [wiki.qt-project.org].

Documentação

A documentação da API para o alpha está disponível em documentação Qt 5.0 [qt-project.org].

Comentários