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 QJSEngine e QJSValue.
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
- Agora é um módulo em Essentials.
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
- https://bugreports.qt-project.org/ é o canal preferido para reportar problemas.
- Verifique também o tópico de anúncio no fórum Qt Developer Network do Qt 5 Alpha.
Os desenvolvedores que usam Qt estão convidados a aderir a lista de discussão para compartilhar impressões e buscar ajuda da comunidade.