Maemo moving to Qt
Autor original: Nathan Willis
Publicado originalmente no: lwn.net
Tradução: Roberto Bechtlufft
No evento GCDS (Gran Canaria Desktop Summit), no dia 4 de julho, o gerente de marketing do Maemo da Nokia, Quim Gil, anunciou que, a começar pela versão Harmattan, prevista para 2010, a empresa adotará o kit de ferramentas Qt nas camadas de interface de usuário e de aplicativos, substituindo a interface Hildon e os componentes do GTK que ocupam o posto desde a estreia da plataforma. O anúncio gerou reações diversas na comunidade de desenvolvimento do Maemo, já que a versão Fremantle, ainda não lançada, promete incompatibilidades expressivas de API. Ainda assim, a maior parte da comunidade concorda que a mudança é inevitável, já que a Nokia adquiriu a Trolltech, criadora do Qt.
Gil apresentou a novidade na parte da GCDS que trata tanto do GNOME quanto do KDE. Ele começou oferecendo uma visão geral da plataforma Maemo e falando sobre as mudanças que virão na versão Fremantle antes de tratar sobre a mudança para o Qt. “Fremantle” é o codinome do Maemo 5.0, e embora o SDK já tenha sido lançado, o software e o novo hardware em que ele vai rodar ainda não foram. O Fremantle mantém muitos dos mesmos componentes dos dispositivos Maemo anteriores, mas também traz algumas novidades, como o servidor de som PulseAudio, uma implementação do X.org e o Upstart, que substitui o init.
O Fremantle também oferecerá suporte a um kit de ferramentas Qt mantido pela comunidade, mas o ambiente do Maemo e os aplicativos da Nokia continuarão usando o GTK e o Hildon. Segundo Gil, a partir do Harmattan, os frameworks GTK/Hildon e Qt vão trocar de lugar: os aplicativos básicos e a interface serão escritos para o Qt, e o GTK/Hildon será suportado por uma pilha mantida pela comunidade. Ele também explicou que a Nokia continuará usando e contribuindo com vários componentes de middleware da pilha do GNOME, e que sempre foram partes do Maemo. Isso inclui o GConf, o GVFS e a GLib, dentre outros. Gil também enfatizou que a mudança para o Qt aproximaria o Maemo de uma plataforma Linux tradicional, em vez de ser apenas uma variação de nicho, parcialmente compatível.
Quanto à mudança para o Qt, Gil citou dois motivos. Em primeiro lugar, o framework Qt está disponível em desktops e dispositivos portáteis, como os telefones movidos pelo Symbian. Isso facilita as coisas para os desenvolvedores de aplicativos, que podem usar um grupo de ferramentas e uma API em várias plataformas (Embora o GTK esteja disponível nos desktops, o Hildon é feito para dispositivos móveis). Em segundo lugar, a Nokia pretende ampliar seu desenvolvimento do Qt através do projeto QtMobility, que desenvolverá APIs completamente novas para dispositivos móveis rodando o Symbian, o Maemo ou o Windows CE.
A reação dos desenvolvedores
As reações nos blogs e listas de discussão à declaração da Nokia foram quase imediatas. Alguns mostraram-se otimistas com a mudança, mas muitos expressaram alguma reserva – não com relação ao Qt em si, mas com uma mudança tão súbita, assim como a mudança do C para o C++ como a linguagem do núcleo. No tópico do fórum Maemo Talk sobre o anúncio, várias pessoas mostraram sua preocupação de que nem o Fremantle nem o Harmattan trariam suporte oficial a ambos os kits de ferramentas, arruinando os planos de uma transição suave da parte dos desenvolvedores.
Além disso, a dificuldade dessa mudança entre o Fremantle e o Harmattan aumenta porque o Fremantle vai quebrar a compatibilidade com a série 4.x do Maemo, forçando duas reescritas de código seguidas da parte dos desenvolvedores. Também há os que questionam o “timing” do anúncio, já que o Fremantle nem foi lançado ainda. De acordo com o membro do fórum chamado “pycage”, “essa história me dá a impressão de que, do ponto de vista de um desenvolvedor, o Fremantle já é obsoleto mesmo antes de ser lançado.”
Murray Cumming, da empresa de Linux embarcado Openismus, observou em seu blog que “trata-se claramente de uma decisão arbitrária e que vai causar grande desordem. Acho que alguns gerentes estão ditando o uso do Qt em toda a Nokia, mesmo em projetos que não compartilham o código, sem compreender as dificuldades dessa mudança. O código da interface não é apenas uma tênue camada que possa ser facilmente substituída, ainda que pareça ser apenas mais um bloco de código no diagrama de arquitetura. Da mesma forma, os bons programadores em C não vão virar bons programadores em C++ da noite para o dia. Acho que haverá grandes dificuldades e atrasos causados por essas reescritas […]”
Gil, no entanto, defendeu a mudança diante dos membros do fórum, observando que “oferecer suporte comercial aos dois frameworks [GTK/Hildon e Qt] nas duas versões [Fremantle e Harmattan] implicaria numa carga de trabalho com a qual não podemos nos comprometer.” Ele respondeu ao medo dos desenvolvedores quanto à quebra da compatibilidade em dois lançamentos consecutivos, garantindo a eles que a transição será suave devido à camada consistente de middleware, e observou que o anúncio foi feito com antecedência numa tentativa de dar bastante tempo aos desenvolvedores para que se adaptem. Ele também disse que era cedo para tirar conclusões sobre a compatibilidade, já que muitos detalhes sobre o Harmattan ainda não foram divulgados.
Nokia e Qt … e o Symbian
Tirando a incerteza quanto à transição no kit de ferramentas da interface de usuário, ninguém pareceu surpreso com o anúncio da mudança para o Qt, já que a Nokia adquiriu a Trolltech (renomeada em seguida para Qt Software) em janeiro de 2008. Como afirmou Gil, migrar o Maemo para o QT permitirá à Nokia reformular seus recursos de engenharia com maior eficiência para o desenvolvimento de uma pilha única de software. Mas o mais importante é que usando o Qt no Maemo, a Nokia vai estar “comendo do seu próprio prato”, e vai poder promover mais ativamente o Qt como uma solução comercial diante dos desenvolvedores de aplicativos.
Muitos na comunidade observaram que no mercado do Qt, o Maemo é consideravelmente menor do que o Linux em desktops, que por sua vez é consideravelmente menor do que o sistema operacional Symbian nos smartphones, adquirido em junho de 2008 pela Nokia. Pouco depois da aquisição, a Nokia anunciou os planos para lançar o Symbian como código aberto, instituindo a Fundação Symbian para cuidar do código. A empresa lançou a primeira prévia do Qt rodando no Symbian em outubro do mesmo ano, e continuou seu desenvolvimento como uma “prévia tecnológica“, destacando suas habilidades multiplataforma.
O membro “eiffel” do fórum Maemo Talk especulou que os planos da Nokia podem ser de uma fusão do Maemo e do Symbian em um único sistema operacional, mas o plano apresentado por Gil no anúncio era mais simples e direto: ele descreveu o Maemo como a plataforma mais adequada a hardware móvel de alto desempenho, como os MIDs (dispositivos voltados para a internet), ocupando a lacuna entre os telefones movidos pelo Symbian e desktops Linux plenos. Os bloggers Daniel Gentleman e Jamie Bennett observaram que com a aquisição do Qt e do Symbian, a Nokia está se posicionando melhor para competir com a linha completa de dispositivos portáteis que em breve deve estar rodando o Android.
Gil comentou no fórum Maemo Talk que a Nokia pretende desenvolver novas APIs do Qt específicas para dispositivos portáteis com o projeto QtMobility. O site QtMobility lista três novas APIs: gerenciamento de conexões, contatos e um framework de serviços. O código fonte das três APIs será disponibilizado em um repositório público do Git, embora nenhuma das três APIs tenha sido empacotada em uma versão estável até o momento. Gil indicou que as novas APIs serão compartilhadas entre diferentes plataformas, mas o Maemo e o Symbian não compartilharão outros códigos. “Nosso interesse é o alinhamento em nível de API. A partir daí cada plataforma vai impor sua própria identidade e seus pontos fortes, com base nos usuários-alvo e nas dimensões dos produtos lançados. Isso significa que a interface gráfica e os aplicativos pré-instalados podem diferir, e que em alguns casos, essas diferenças podem ser expressivas.”
E depois?
Migrar o Maemo do GTK/Hildon para o Qt pode ser doloroso a longo prazo (ao menos para alguns desenvolvedores), mas os benefícios a longo prazo de ter um único kit de ferramentas para plataformas baseadas no Linux e no Symbian sem dúvida fizeram dessa uma escolha fácil para a Nokia. A grande pergunta que permanece, independente do uso do GTK/Hildon ou do Qt, é: para onde a Nokia pretende levar o Maemo? A plataforma tem muitos fãs na comunidade de código aberto, mas continua sendo um sistema operacional de nicho.
Desde sua estreia, o Maemo só acompanhou três dispositivos da Nokia: os internet tablets 770, N800 e N810 (este último lançado em 2007). Embora haja um trabalho da comunidade no sentido de expandir o suporte a hardware da plataforma, e embora o Maemo possa rodar em uma placa de desenvolvimento BeagleBoard, até agora nenhum produto de consumo que não seja da Nokia adotou o Maemo como sistema operacional. Dizem que o Fremantle vai ser lançado em uma nova geração de dispositivos, rodando em um hardware baseado no OMAP3, que a Nokia curiosamente não descreve como um internet tablet como seus predecessores. Ela prefere usar terminologia genérica, como “dispositivo” e “hardware.”
Seria necessário ler bastante entre as linhas para especular que a Nokia pretende incluir o Maemo em seus smartphones de alto desempenho, principalmente se levarmos em conta que a empresa vem propagandeando o Symbian como sua plataforma favorita para as séries N e E de telefones de alto desempenho quatro anos após o lançamento do Maemo. Mas a não ser que a Nokia pretenda oferecer mais produtos de categoria MID, é estranho desperdiçar recursos na manutenção de um sistema operacional completo para um único dispositivo, especialmente quando a Nokia defende com tanta veemência o alcance multiplataforma do Qt como um de seus pontos fortes.
Créditos a Nathan Willis – lwn.net
Tradução por Roberto Bechtlufft <info at bechtranslations.com.br>
Deixe seu comentário