Programação Multiplataforma

Hoje em dia é comum ouvirmos falar sobre programação multiplataforma, mas antigamente isso era só para quem era aventureiro, tipo aqueles Nerds (detalhe: sou um deles!) que não tinha nada para fazer e baixavam o GNU/Linux para desvendar seu SO (Sistema Operacional) criando aquele dicionário de códigos que mais parecia uma enciclopédia (detalhe: já fiz isso) só para se orientar.

Antes do ano 2000 a realidade tecnológica no Brasil era retratada da seguinte forma, o publico comum só sabia mexer no MS Windows 98 e no Office 2000 (para aquela época era muita coisa!). Os serviços de hospedagem na internet era só para quem tinha dinheiro, muitos optavam por criar seu próprio servidor por causa do auto custo, mesmo porque não estava começando a se popularizar os e-Commerce no Brasil, no exterior começou a ganhar força sistema operacionais abertos como o GNU/Linux e os BSD ambos Like Unix (baseados no padrão POXIS usado no Unix), os servidores abertos começaram e impregnar a internet já que havia um baixo custo para montá-los além de serem seguros e estáveis comparado com o SO dominante na época o MS Windows NT 4 e o MS Windows 2000 para os mais ousados. Mas não foi nesse momento que a programação multiplataforma ganhou foco, depois de um tempo os sistema operacionais abertos (hoje conhecidos como Software Livre) começaram a ganhar um espaço na casa do cidadão comum (isso no exterior), foi nesse momento que a programação multiplataforma começou a se torna necessária, já que agora não existia mais um padrão definido, nem tudo era MS Windows, existia outros opções como Red Hat Linux, Debiam Linux, Macintosh Mac OS (que depois de alguns anos começou a ganhar força fora dos USA). Agora o programador tinha que escolher um público-alvo para desenvolver seu software, mas surgiu a ideia “porque não desenvolver uma plataforma de programação independente de sistema operacional, foi assim que surgiu o Java da Sun, hoje da Oracle.

Hoje temos diversas opções de plataformas de programação multiplataforma como Java, Python, Ruby, TCL/TK. A vantagem de desenvolver nessas linguagens é o conceito que o que desenvolvermos no GNU/Linux vai funcionar no MS Windows, Mac OS e FreeBSD. A desvantagem é que estamos falando de linguagens script (tirando Java) que não há garantias de proteção do código (no caso de java existe programas de descompilação) o que faz muitos programadores ficarem com medo que seus projetos sejam jogados fora. Mas colocando a realidade em foco, hoje existe tantos programas gratuitos e tantos programas de código aberto que não faz mais sentido esconder o código de fonte de um programa.

Esta postagem é mais como um alerta aos programadores, pense na seguinte hipótese, você é contratado para fazer um programa para um empresa de Logística que atualmente usa MS Windows 2008 Server no servidor da rede e nos computadores locais o MS Windows XP PRO, depois de seis meses em trabalho em grupo o programa está pronto e com poucos bugs (sempre vai existir bugs) depois de um ano seu cliente resolve do nada renovar o patio tecnológico e recebe uma proposta irrecusável da Mac Store de comprar iMac com 70% de desconto no atacado já com os software da Apple instalados e licenciados, seu cliente te liga e fala que quer que o programa que você ver funcione nos iMac e ele precisa disso para ontem (detalhe: ele trocou o SO do servidor para o Ubuntu Server 10.10), daí vem a pergunta, como você vai fazer isso no curto período de um mês que é justamente o tempo até chegar os iMac na empresa, sendo que o seu projeto foi desenvolvido usando Visual Studio 2010 que só cria programas para o MS Windows. Você pode tentar convencer o seu cliente de que ele fez uma grande besteira ao comprar os iMac, porém existe muitos programadores multiplataforma no mercado, você passa a ter um grande problema em suas mãos.

Esse é um dos motivos da importância do desenvolvimento multiplataforma, já independente do que seu cliente usa, o seu programa funciona.

  1. Deixe um comentário

Deixe um comentário