IT Mídia
Notícias em destaque

Sobre a Sanidade dos Desenvolvedores

20 de junho de 2011 18:59

Estou chegando a uma conclusão: Ninguém pensa na sanidade mental dos desenvolvedores, principalmente aqueles que trabalham com o ambiente mobile.

 

O leitor pode me perguntar por que cheguei a esta conclusão? O fato derradeiro aconteceu ontem à noite, quando estava com o notebook do meu lado esquerdo, programando em Java ME. No meu desktop trabalhava com algumas janelas do DOS e com o VMWare, simulando o sistema operacional do Playbook, tablet da RIM. E ainda, no meu notebook, às vezes alternava a janela do NetBeans para o Motodev Studio e brincava com o Android. Bem, e isso foi só o ápice da conclusão.

 

Neste momento parei um momento de programar e comecei a pensar. Se eu programasse somente para Java ME, já seria um pequeno motivo para começar a conversar com cadeiras de plástico e copos metálicos. Isso porque, para manter a portabilidade na plataforma mobile do Java, você deve ter dois requisitos: calma e não gostar de dormir.

 

Para exemplificar isso, vou pedir para que o leitor acesse o site de desenvolvedores da Nokia, o fórum.nokia.com. No menu superior, navegue para Devices->Device specifications. Na escolha de dispositivos, o usuário pode criar critérios para otimizar esta busca. No combo depois do AND, veja a quantidade de versões do sistema operacional que a Nokia tem:

 

  • Maemo
  • QT
  • S60: e mais uma dezena de versões
  • S40: e quase duas dezenas a mais de versões

 

Tudo bem, o leitor pode retrucar com a seguinte informação: O Java ME não é a mais a plataforma do momento, apesar de ainda não estar morta, o futuro está reservado para Android e IPhone. Tudo bem, falaremos do sistema operacional do Google mai tarde.

 

Deixe-me apenas choramingar um pouco em relação ao BlackBerry. O smartphone da canadense RIM (Research In Motion) fez um porting do famoso Java ME e criou a BlackBerry API. Como é de se imaginar, herdou os problemas que já existiam e adicionou alguns novos. Claro que a plataforma tem seus pontos fortes, como segurança e uma boa fatia do mercado empresarial. Porém, já são algumas versões diferentes: Bold, Pearl, Curve, Storm. Cada uma destas famílias com suas particularidades e peculiaridades.

 

E para ajudar ainda mais o pobre desenvolvedor, o Playbook, recém-lançado Tablet da referida empresa, abortou completamente o uso da BlackBerry API. De agora em diante, teremos que usar Adobe Air ou WebWork (um nome bonito nome para a junção de HTML5, Java Script e CSS3).

 

Falando nisso, também podemos citar o avanço dos chamados web apps. Uma espécie de aplicativo instalável, construído com tecnologias e padrões web, principalmente a tríade falada no parágrafo anterior.

 

Como prometido, falaremos agora do Android. A plataforma que vem conquistando o mundo, que já pode ser encontrada em carros, relógios de pulso, eletrodomésticos, protótipos de cafeteiras inteligentes, sistemas de automação residencial e, até mesmo smartphones. Seria lindo e um santo remédio para os sofridos desenvolvedores se ela realmente virasse uma espécie de padrão mobile, mas não se iludam. Isso não vai acontecer.

 

Além disso, nem tudo são flores em relação ao filho do Google. Até agora, já são 12 versões da plataforma, isso mesmo, 12 (doze). Claro, que a versão 1.0, 1.1, 1.5, e 1.6 já estão praticamente extintas, mas, mesmo assim sobram 8 versões distintas.

 

Ainda não sou um expert no Android, porém, todo mundo já ouviu murmurinhos e reclamações em relação a esta fragmentação da plataforma. Da mesma forma que a receita open-source e sua adoção por diferentes empresas do setor foi o alicerce do crescimento e da liderança conquistada, resultou em um problema, que não chega a ser grave, mas incomoda.

 

Por exemplo, tenho um Samsung Galaxy, um dos primeiros modelos que chegaram ao mercado. Pois bem, fiz um aplicativo que lê os contatos do aparelho, funcionou perfeitamente. Quando tentei instalar o mesmo aplicativo no HTC Hero ele deu crash no momento de ler contatos. Resultado: depois de pesquisar descobri que existe uma maneira de fazer isso pré-1.6 e outra maneira para pós-1.6.

 

Poderia falar também do iPhone e da forma heterogênea a TV Digital está se desenvolvendo, sendo que, já existem SDK´s de desenvolvimento para algumas marcas de fabricantes de televisores inteligentes. Mas vou parar por aqui nas reclamações.

 

Neste ponto o leitor deve achar que estou chorando pitangas e, que estou com os dias contados no mundo mobile. Quem sabe já estou me preparando para comprar um livro de Java EE e migrar para o mundo enterprise. Mas não é isso. Mesmo com todos estes percalços o mundo mobile é o céu para programadores. Cada dia você tem um problema diferente para resolver. Cada dia surge uma nova tecnologia/linguaem/plataforma e o programador tem que passar umas noites acordados para aprender.

 

Confesso que não sei por que disto. Será um sentimento sado masoquista latente? Talvez sim, porque até hoje lembro as horas programando RecordStores´s no Java ME. Será que é porque somos da geração Y, nunca satisfeita e sempre sedenta por novidades? Sinceramente não sei. Se o leitor quiser ariscar um palpite, comente.

  • http://www.facebook.com/francimartomase Francimar Tomáse

    Posso afirmar apenas isso: Programadores são os profetas de uma nova geração tecnológica!
    Essa frase pode ser usada infinitamente pra todas as gerações que virão e sempre vai ser atual.

    Ainda bem que Deus deu esse sentimento de amor aos códigos fontes e às dificuldades em criar e recriar o que já funciona, resolver problemas e mais problemas, estarem sempre achando/acreditando que se fizer assim é melhor, porém desse jeito (que provavelmente é o caminho mais ardiloso) fica muito melhor!

    Vocês são um bando de doidos sadomasoquistas, mas acreditem, precisamos desses doidos (rs). Viva os programadores, huhaa

  • http://twitter.com/mobilidadetudo Mobilidade é Tudo

    que bom que todo mundo concordou comigo.. achei que estava ficando louco mesmo :)

  • JustAFriend

    O que eu vejo no seu post é um pouco estranho.

    Não conheço ninguém que trabalhe com WEB e PRECISE saber perfeitamente:
    PHP, .NET(e suas versões), JAVA(e suas versões), PERL, Ruby, Python e todas as linguagens ao mesmo tempo.
    Sem contar a camada VIEW que tem suas particuparidades por Browser(o IE que o diga)

    Em geral o que se vê em programadores experientes é o seguinte, são
    experts em uma ou duas linguagens… e conseguem se virar bem no resto
    que precisarem.

    Quem tenta saber tudo acaba por descobrir que não sabe nada.

    A fragmentação é um problema imenso, pois se vc quer que seu aplicativo
    rode em TODOS os celulares… realmente, vc vai perder a sanidade… Mas
    se vc quer que seu aplicativo rode em TODOS os browsers(inclusive os
    antes do IE 5.0)… vc também vai perder a cabeça…

    Todos os produtores focam em um único mercado e depois expandem para alguns poucos outros que lhe interessam.

     

  • http://twitter.com/mobilidadetudo Mobilidade é Tudo

    Oi..

    Não afirmei que é necessário sabermos todas as linguagens e plataformas. Mas, falando pessoalmente, quero sempre conhecer cada uma delas, independente da necessidade de mercado. Além disso, profissionais multi-plataforma são muito valorizados no mercado.

    É lógico que nenhum ser humano racional vai fazer um aplicativo ou mobile site para funcionar em TODOS os aplicativos. Leia novamente o primeiro parágrafo da explicação.

    Não entendi oque existe de estranho no texto.

Sobre Ricardo Ogliari

Graduado em Ciência da Computação, pós-graduando em Web e analista de sistemas mobile na MobMidia | Grupo Pontomobi, Ricardo Ogliari é autor de dezenas de artigos que foram publicados em anais de congressos nacionais e internacionais, sites especializados e revistas. Palestrante em eventos nacionais e internacionais, como JustJava, Java Day, GeoLivre, ExpoGPS, FISL e FITE, sempre aborda temas relacionados a computação móvel. Neste espaço, discutirá sobre tecnologias, plataformas, mercado, ideias e linguagens presentes no mundo da mobilidade.

Entre em contato com Ricardo Ogliari

Parceiros

Portais: IT Mídia | IT Web | Saúde Web

Publicações: InformationWeek Brasil | CRN Brasil | FH

Fóruns: IT Forum | IT Forum + | IT Business Forum | Saúde Business Forum