Para começar a programar com Qt…

Bom dia..

Pra início de conversa, Qt é uma criação da Nokia, em seu site oficial temos a seguinte descrição: Qt is a cross-platform application and UI framework. It includes a cross-platform class library, integrated development tools and a cross-platform IDE. Using Qt, you can write applications once and deploy them across many desktop and embedded operating systems without rewriting the source code.

Ou seja, a promessa é de que o Qt vai fazer milagres.. Pessoalmente, uma coisa que me chamou muito a atenção foi a página “Qt in Automotive Infotainment” do site oficial do Qt. Esta outra página fala do Naviflash 1020. The naviflash 1020 is an in-car navigation (GPS) system, in which Bury GmbH used Qt for Embedded Linux as the application platform for building the user interface. It offers multiple language selections, a transflective color display (320 x 240 pixels), a completely integrated TMC receiver and decoder. Based on the Intel® XScale processor, it has a memory of 64 MByte RAM and 64 MByte Flash.



Aí fiquei pensando.. bah, eu posso criar um aplicativo pra indústria automotiva e, portá-lo para a série 60 da Nokia, por exemplo.. sinistro.

Bem, só por isso já é uma tecnologia que merece um pouco de atenção, pois bem, pensando nisso encontrei uma série de tutoriais que podem nos auxiliar nessa tarefa.

O informIT tem sete artigos sobre o Qt 4:

C++ GUI Programming with Qt4: Introduction to C++ for Java and C# Programmers;
C++ GUI Programming with Qt4: Introduction to Qt Jambi;
C++ GUI Programming with Qt4: Obtaining and Installing Qt;
C++ GUI Programming with Qt4: Application Scripting;
C++ GUI Programming with Qt4: Embedded Programming;
C++ GUI Programming with Qt4: Building Qt Applications;
C++ GUI Programming with Qt4: Platform-Specific Features.

Só pra instigar ainda mais o leitor.. o novo skype e o Google Earth utilizam o Qt.. pois é..

Além disso, tem vários tutorial, artigos, dicas etc e etc, na internet, falando sobre o Qt. Bem, agora, só posso desejar boa leitura.. Ah, quem souber mais sobre a tecnologia e quiser ajudar a comunidade (inclusive eu) a ter um conhecimento melhor sobre esse cara, fique a vontade para postar :)

Att.
Ping

7 Responses to “Para começar a programar com Qt…”

  1. carlsonwf Says:

    Só para retificar, o QT não é criação da nokia, eles compraram de outra empresa que já tinha conseguido fazer uma boa fama com o QT, acho que foi no início desse ano. Mas o QT já é bem “antigo” existe uma porrada de programas que usa (entre eles o que você falou (o skype sempre foi desenvolvido sobre o QT) mas o próprio KDE (WM do Linux) é desenvolvido em QT, assim como todas as aplicações que fazem parte do pacote KDE. E olha, o QT é f***, não tem o que questionar sobre a qualidade desse SDK.

    Abração!!!

  2. Ricardo Ogliari Says:

    Muito obrigado por não me deixar mentir em público Carlos..

    Já que percebi que sabe muito mais a respeito do Qt do que eu sei, poderia me responder duas perguntas, se for possível claro:

    - Você saberia me dizer se a Nokia está apostando mais no Qt do que nas outras tecnologias mobile que ela tem (Symbian, Maemo e Widgets)?
    - Já programou ago em Qt? Se sim, a promessa de extrema portabilidade entre portabilidades é verdade mesmo, ou, é uma portabilidade a lá Java ME?

    Desde já agradeço pelas respostas.. :)

  3. SyndroMerkur Says:

    Valeu, pelo post e pelos links e, ao Carlson pela observação. []’s

  4. Roberto Teixeira Says:

    Ricardo,

    A NOKIA já usa Maemo, provavelmente…aposentadoria do Symbian!

    []’s

  5. David C. S. Says:

    Ricardo, acho que você se confundiu um pouco.

    Maemo e Symbian são sistemas operacionais voltados para celulares e afins.

    Symbian é antigo, e o Maemo é Linux (um Debian modificado). O Maemo está para substituir o Symbian em celulares e MIDs topo de linha, e o Symbian tende a ficar com a fatia mais popular, gradativamente.

    Widgets não são nada, apenas programinhas que ficam “flutuando” na área de trabalho de qualquer sistema operacional. Procure no Google. Você com certeza já viu um.

    Finalmente, QT é a “ferramenta” visual que roda os programas que você faz. Por exemplo: você desenvolve um programa usando a linguagem C++ na IDE de sua preferência usando a biblioteca QT. QT é o que faz o trabalho sujo “por trás dos bastidores”, desenhando suas janelas, botões, menus que você cria no seu programa etc. É graças à QT que o KDE do Linux tem a aparência que tem…

    AGORA, RESPONDENDO SUAS PERGUNTAS:
    1) Vendo o que eu disse acima, você vai ver que sua pergunta está errada. Tirando widgets (explicado acima), a Nokia está apostando na QT como uma forma de atrair desenvolvedores de aplicativos para Symbian e Maemo.

    A QT é um sistema muito bom, e um dos seus compromissos é ser compatível com muitos sistemas. Você cria o programa no QT e, sem precisar alterar o código-fonte, poderá criar versões para Windows, Linux, celulares, e o programa rodará em tudo.

    Agora a resposta está óbvia: a Nokia aposta na QT para que atrair desenvolvedores que façam programas para uma grande audiência (celulares com Symbian, Maemo, Windows, Linux etc. etc.). Nesse aspecto, é meio como Java: você desenvolve uma vez, e seus programas rodam bem em qualquer sistema. Na verdade, NÃO SEI se é preciso criar novos binários, mas pelo menos a promessa é de que a lógica do código-fonte do seu programa não precisa ser alterada. Não precisa usar novas classes específicas do sistema operacional, enfim… deu pra entender, não é? :-)

    2) Não, eu não desenvolvo em QT, eu nem sou desenvolvedor. Aliás, minha área nem é computação. :-) Mas sua pergunta é muito boa. Primeiro, leia o último parágrafo acima. Segundo, a questão não é tão simples. Nesse exato momento, a Nokia está fazendo o que na minha opinião (e de dezenas de desenvolvedores no site talk.maemo.org) é uma grande burrada: contando com o ovo dentro da galinha, ela está quebrando a compatibilidade da QT, criando classes específicas para o Maemo.

    É óbvio que isso quebra a compatibilidade, pois desenvolvedores irão criar programas em QT sem saber que só funcionam no Maemo. Isso mostra, ao meu ver, que a Nokia está pensando que o Maemo vai ser um grande sucesso e as aplicações específicas para o Maemo farão os consumidores comprarem celulares Maemo, entende? Afinal, uma parte dos programas não rodará em Symbian, e as pessoas com estes celulares ficarão tentadas a comprar outros com Maemo.

    O problema é que isso é arriscado. O Symbian está claramente em “sobrevida”. A Nokia admitiu que ele será relegado apenas ao segmento de celulares populares. Então a tendência é que os desenvolvedores de programas em Symbian migrem para outra plataforma, como iPhone, Android (Google) ou Maemo.

    O problema é: se você sabe que o Maemo ainda não tem uma boa base de usuários como iPhone e Android, você migraria para qual plataforma? Óbvio que não o Maemo. É por isso que quebrar compatibilidade na QT é algo muito arriscado… a Nokia pode acabar impedindo os desenvolvedores de fazerem uma migração (ou os que estão começando a vida) para a nova plataforma. Por isso que a Nokia está contando com o ovo dentro da galinha: ela está dando por certo o sucesso do Maemo. E com o lançamento do N900, as coisas NÃO estão indo tão bem quanto precisariam.

    Bem, é isso.

  6. David C. S. Says:

    Ah, entendi agora o que você quis dizer com widgets.

    Você deve estar se referindo a WRT. OK, ok, até onde sei, parece que nada muda e fica como está. Então nenhum problema aí.

  7. Ricardo Ogliari Says:

    David..

    Muito obrigado por consertar as besteiras que falei e por dar uma explicação detalhada e correta do que se trata a plataforma QT.

    Realmente acho oque a Nokia está fazendo muito arriscado, pessoalmente, sou desenvolvedor e, por causa desse “desentendimento” na Nokia estou partindo com maior foco para o Android.

    Att.
    Ping

Leave a Reply