quarta-feira, 20 de fevereiro de 2013

O desenvolvimento C/C++ já desceu do telhado?

O pessoal pode falar se ele é válido ou não para o blog e se deveria mudar em algum sentido, ainda não está fechado e já mudei um bocado.

A mola mestra do sucesso de qualquer dispositivo móvel é disponibilização de aplicativos variados para seus usuários. Claro, que isso tudo começa com os desenvolvedores e, não se engane, eles não gostam de refazer tarefas. dessa forma a expressão multi-plataforma (capacidade de uma aplicação rodar em sistemas operacionais diferentes como Windows, Linux e Mac OS) é considerada muito preciosa.

Uma das linguagens que é considerada razoavelmente multi-plataforma no mundo da computação e  C e C++. Mas, trata-se de uma linguagem complexa e trabalhosa, que exige um detalhamento enorme do que deve ser feito.

Framework QT

 

Para superar as dificuldades de desenvolvimento são criados os chamados frameworks, que é como se eu fizesse um programa em C/C++ bem genérico que você pudesse usar como um esqueleto sobre o qual sua aplicação seria montada. ou seja, você faz a parte criativa e cola o framework para o trabalho chato e repetitivo. Assim, sempre que você precisa fazer o celular soltar um bipe você usa a função "bipe" do framework e ela tem todas a instruções necessárias para fazer seu smartphone bipar, melhor ainda, você pode mudar seu programa para windows e continuar usando a mesma função "bipar", basta trocar o framework da versão Android para a versão Windows e pluft! lá está seu programa funsionando na nova plataforma com um mínimo de esforço.

Um framework é um conjunto de códigos que servem com estrutura para você desenvolver seu sistema, coisas como botões ou barras de rolamento e com elas funcionam, não precisam ser criadas novamente a cada tela que o programador faz. Tudo fica no framework e agiliza/padroniza o desenvolvimento, enfim, o framework é o alicerce onde o desenvolvedor ergue a sua aplicação, seja qual for o objetivo dela.

A Nokia precisava de um bom framework para o seu SO, o Symbian, e acabou por comprar um chamado QT de uma pequena empresa da Noruega chamada Trolltech. Ocorre que o QT é excelente e sua base de desenvolvimento é o C e, melhor ainda, a Nokia deixou o QT como Open Source. Logo o QT se transformou em um farmework multi-plataforma, você poderia desenvolver para Windows, para Linux, para Symbian (lógico) e já haviam criado um projeto Open Source para o desenvolvimento em Android. Isso cobria a maior parte das plataformas disponíveis. Para você ter ideia da força do QT, é com ele que é desenvolvido o KDE para Linux. E a Nokia era muito conscienciosa com seu framework, mantendo tudo bem feito e atualizado. Ela tinha uma licença comercial e outra open source que permitia o desenvolvimento de aplicação comercias, sim, a aplicação feita com ela não precisava ser Open Source também.

A parceria entre Nokia e Microsoft e como isso afetou os desenvolvedores

 

Muito já foi comentado sobre a grande parceria entre Microsoft e Nokia e apenas duas coisas ganharam foco, a aposta da Nokia no novo sistema operacional da Microsoft para dispositivos móveis e a morte do Symbian. E quanto ao Symbian o que houve não foi realmente uma morte, mas um enterro, já que morto o Symbian já estava e só ele ainda não sabia.

Então, a Nokia abraçou-se com a Microsoft e o QT subiu no telhado. O pessoal que programa em C ficou maluco.  A Nokia mataria o QT? Afinal, o seu pacote de desenvolvimento seria a partir de agora o MS Visual Studio. Ela simplesmente abandonaria em uma pasta pública de Open Source e a coisa desandaria? O pessoal do KDE assumiria?

Claro que a Nokia tinha investido muito tempo  e dinheiro para abrir mão do QT assim tão facilmente. Agora no final de julho ela finalmente deu um destino ao QT. Ele foi vendido para a Digia e em seu blog anunciou que a Digia continuará o QT comoum produto comercial, mas deu garantia de que preservará o Open Source. Só que na página da Digia só há referência ao produto comercial, o Open Source continua hospedado na página da Nokia.

Assim, uma enorme parcela dos desenvolvedores em C para todas as plataformas estão esperando os próximos passos da Diga, e o pessoal do KDE ainda deve ter o sono agitado.

O último lance é que a Nokia parece estar arrependendo-se da parceria, quem sabe pode retomar seu caminho sozinho. Os smartphones da Microsoft não decolaram, como afinal se previa no mundo sensato de quem conhece a história da MS no mundo dos dispositivos móveis.

QT da Digia, que já trabalha com Linux , Windows, BlackBerry , já começa a fletar com Android, iOS (via runtime) e Windows 8 Metro. Se ele conseguir consolidar-se vai ser a maior sensação depois da invenção do biquini palm.

O desenvolvimento para dispositivos móveis está em ebulição nos dias de hoje. vamos acompanhar os próximos passos.

A Google matou o define

Um dos recursos mais legais que o buscador Google oferecia era o comando define. Sempre que você quisesse uma conceituação mais profunda de um termo era só escrever na caixa do Google define:[termo buscado] e o Google fazia uma busca nos principais dicionários disponíveis na internet, bem como em outros sites que ofereciam uma descrição do termo. Era ótimo, até porque ele pesquisava em vários idiomas e caso não houvesse uma descrição em português você podia se virar com as existentes em outras línguas, que muitas vezes eram até complementares. Agora a Google simplesmente acabou com este recurso, assim, sem avisos, nem nada.
Andei pesquisando e achei uma solução um pouco mais trabalhosa e inferior ao velho define, mas, é melhor que nada. Claro que você poderá sempre pesquisar um dicionário online (ou mesmo offline) ou garimpar no próprio Google, só que é mais trabalhoso e nem sempre o termo justifica tanto trabalho.
A solução usa os favoritos do Firefox e busca o termo no próprio dicionário do Google, faça o seguinte:
<ol start="1">
    <li>Abra os favoritos com Ctrl-i e com o botão de contexto do mouse crie um novo favorito no Firefox para o endereço: http://www.google.com/search?q=%s&amp;tbs=dfn:1</li>
    <li>Preencha o campo palavra-chave com a palavra define</li>
</ol>
Agora sempre que quiser procurar um termo, basta escrever define [termo] no campo localização do Firefox (o que é usado para preencher os endereços) e você irá para uma definição do termo

Um abraço