O que há de comum entre um aplicativo para previsão do tempo no iPhone, uma calculadora em um smartphone Android e um game dentro do Facebook?
O fato de que todos foram desenvolvidos sobre plataformas de software. Interessante que são três empresas diferentes, mas que encontram uma forma de agradar seu público abrindo espaço para que desenvolvedores pudessem desenvolver e comercializar suas próprias criações digitais.
Quando pensamos nas mais diferentes tecnologias que estão ao nosso redor é fácil perceber que estamos vivendo a “era da plataforma”. Mas afinal quais são os fatores que definem uma plataforma de software? Quais as vantagens para as empresas e seus clientes quando adotam uma plataforma de software? Por que jovens nerds estão se tornando milionários desenvolvendo aplicativos “sobre” plataformas de software? Antes porém de responder estas perguntas fundamentais, importante revisar alguns conceitos fundamentais, os quais explicam o sucesso desta inovação.
Algoritmos
Antes do software existe o algoritmo, um conjunto de instruções que descreve, passo a passo, como uma tarefa será realizada. Estas instruções formam uma sequência lógica, a qual uma vez realizada, leva à conclusão da tarefa. Uma linguagem de programação (Java, C++, Javascript etc) é usada para codificar um algoritmo, este é o software.
Software proprietários e livres
Nos primórdios da computação, praticamente todo software era proprietário. A arte da programação estava restrita às empresas que vendiam programas e aplicativos. Com a chegada do software livre e de linguagens de programação abertas este cenário mudou radicalmente.
Linguagens de programação tais como Java, Python e PHP e sistemas operacionais gratuitos tais como o Linux, começaram a ser usados por talentosos programadores, os quais colocaram em xeque a estrutura fechada do mercado de software. A arte da programação tornava-se acessível para todos e várias organizações surgiram para promover o software livre, entre estas a The Open Source Initiative (OSI).
Em pouco tempo, surgiram bancos de dados livres tais como o Firebird e o PostgreSQL, gerenciadores de conteúdo tais como Joomla! e o Drupal, e tantos outros produtos em diferentes áreas.
Compartilhamento e colaboração
Um efeito colateral do movimento de software livre foi o de estabelecer duas atitudes de trabalho muito diferentes do que a indústria de software vinha adotando: compartilhar e colaborar.
Se na era do software proprietário o segredo e as patentes eram palavras de ordem, os jovens da nova era do software livre adotaram o compartilhamento aberto e irrestrito das informações, dos códigos fonte e conteúdos.
Além disso, colaborar e trabalhar em equipes multidisciplinares, muitas vezes 100% virtuais também se tomaram práticas comuns. Não por acaso, as empresas e startups que surgiram nesta onda publicam abertamente seus códigos fonte e trabalham em conjunto com os usuários de forma aberta e irrestrita.
Plataformas de software
A Motorola possui uma das melhores definições para plataforma:
“Plataforma é um conjunto de ativos que podem ser usados para alavancar o reuso e o rápido desenvolvimento de novos produtos. No mínimo, ela define o ambiente operacional, a arquitetura em alto nível de todos os produtos desenvolvidos com base nesta plataforma, e um conjunto de políticas de desenvolvimento para aperfeiçoar a plataforma e o desenvolvimento de produtos.”
Quando entramos no ambiente de desenvolvimento de software, os “ativos” são as ferramentas de programação e os “produtos” são os aplicativos. Entre estas ferramentas estão:
1. Kits ou pacotes para o desenvolvimento de aplicativos – SDK (Software Development Kit);
2. Emuladores ou Simuladores, que permitem ao desenvolvedor visualizar e testar seu aplicativo como se estivesse no ar;
3. APIs (Application Program Interfaces) as quais definem padrões e especificam como os diferentes componentes da plataforma se comunicam;
4. Bibliotecas e frameworks, os quais podem ser usados pelos desenvolvedores para agilizar o desenvolvimento dos aplicativos.
Mas as atuais plataformas de software de maior sucesso, e aqui estou me referindo a Apple, Google Android e Facebook, estão indo além, adicionando três importantes componentes:
1. Fator social
Para um aplicativo obter sucesso é preciso que ele tenha volume de acessos ou downloads. Para os jovens desenvolvedores e mesmo para as empresas, uma plataforma que tenha ao redor de si milhões de usuários é um fator crítico.
Ao oferecer um ambiente de compartilhamento, divulgação e mídia espontânea, as plataformas estão potencializando os bons aplicativos.
2. Multiplaforma
Um dos fatores mais importantes de sucesso de um aplicativo está relacionado a facilidade com que o usuário possa acessá-lo e isto significa poder acessá-lo de qualquer plataforma, seja web, tablet ou mobile.
Neste sentido, o que temos hoje é o Facebook como plataforma web, enquanto Apple e Google Android estão estabelecidos nas plataformas móveis e tablets. Mas este cenário deverá mudar nos próximos anos, com o Facebook estendendo sua plataforma para smartphones e tablets.
3. Comercialização
Aplicativos podem ser gratuitos ou pagos. Alguns podem adotar ainda o modelo Freemium (modelo de negócios onde o internauta adota um aplicativo gratuitamente, mas para ter mais recursos deve pagar).
Reconhecendo que as integrações e requisitos técnicos para adoção de modos de pagamento são um “gargalo” para os desenvolvedores de aplicativos, as plataformas oferecem modelos prontos para comercialização dos aplicativos.
Conclusão
As plataformas de software têm se mostrado até agora um ecossistema onde indústria, desenvolvedores e consumidores podem estabelecer relações de valor, com benefícios para todos.
Se prestarmos atenção vamos observar que outros setores estão “namorando” com plataformas, tais como a construção civil, educação e o setor automobilístico.
A alavanca inicial porém vem da sociedade. Ao exigirmos abertura, compartilhamento e transparência, quebramos as estruturas de mercados estabelecidos. A indústria de software foi somente a primeira.

A área de tecnologia não vive sem inovações, sem criar novas ondas, algumas permanentes, outras passageiras e outras vaporware, golpes de marketing. As plataformas de software entretanto, estão na primeira categoria. Neste breve artigo vou procurar desvendar os principais elementos que constituem uma plataforma de software e seus fundamentos, de forma que você possa tirar o melhor proveito delas. Antes porém duas reflexões: primeiro, alguns autores estão chamando alguns aplicativos web de plataforma de software. É o caso do Twitter, por exemplo, o qual não é plataforma. Segundo, algumas empresas estão comprando software que está sendo vendido como plataforma. O que também não é o caso, pois uma plataforma não pode ser adquirida do zero, ou como dizemos, from scratch. Uma das mais interessantes diferenças de se comprar uma plataforma está no fato de que ela já está parcialmente pronta; basta então seguir seu roadmap de desenvolvimento e aperfeiçoá-la. De fato, se uma empresa investir no desenvolvimento de uma plataforma estaria perdendo de um lado vantagem competitiva – pois precisa esperar a tal plataforma ficar pronta para começar a utilizá-la – e de outro foco, porque terá que investir tempo definindo as regras e requerimentos da plataforma, algo que uma plataforma de software já entrega de saída. Uma nota importante antes de seguirmos adiante: plataformas de software não servem somente para construir aplicativos, como por exemplo a plataforma da Apple, mas também para escrever livros (Amazon Kindle e o novo iBooks da Apple), vídeos, serviços, lojas, redes sociais, vender produtos, para e-learning (Moodle.org) e tantos outros ativos digitais. O alcance é bem amplo.
Desmontando o Lego
Quando penso em plataformas de software, a primeira imagem que me vem à cabeça é o jogo de Lego. Criado em 1949 na Dinamarca, a ideia por trás do brinquedo é a flexibilidade. Com ele você pode construir um castelo, um carro ou um robô, sempre usando as mesmas peças básicas. Uma plataforma de software segue na mesma linha. Quando bem construída, vai lhe dar todas as ferramentas e fundamentos para que sua ideia a possa ganhar vida no mundo virtual. Mas quais são as peças fundamentais? Vejamos:
O construtor
No universo dos nerds, ele é conhecido por SDK ou Software Development Kit. Com esta “caixa de ferramentas”, a qual está sempre baseada em alguma linguagem de programação, mais APIs (Application Program Interfaces) e outros “conectores”, pode-se começar a construir um aplicativo, o qual irá funcionar sobre a plataforma. Uma importante observação porém: a maioria das plataformas possui um construtor de alto nível; isto é, não é necessário que você seja um expert em programação para começar a usar o construtor e colocar seu sonho pra funcionar. Mas, se você vai construir aplicativos de software usando uma plataforma como a da Apple, será preciso ter um conhecimento mais avançado. Dentro do construtor ainda existe um simulador, útil para prever o comportamento do aplicativo, conteúdo ou serviço como se estes estivessem no ar, na mão do usuário.
O publicador
Uma vez testado e considerado pronto para uso, um aplicativo ou conteúdo precisa ir para o ar. Plataformas oferecem publicadores. Eles são fáceis de usar e estão conectados à “loja” ou “ambiente de comercialização”. Associados ao publicador e ao ambiente de comercialização, algumas plataformas oferecem relatórios de vendas, visitas e downloads.
O módulo de pagamento
As melhores plataformas já possuem um módulo de pagamento associado. Isto quer dizer que você somente terá que definir o valor de seu produto digital e quais as formas de pagamento que deseja aceitar. Em 90% dos casos, cartão de crédito é a moeda corrente.
O módulo social
Imagine o seguinte cenário: você decide abrir uma loja para vender camisetas e tem duas opções: abrir a loja numa rua ou num shopping center. O módulo social é o shopping center, oferecendo para você um possível público comprador. Algumas plataformas estão “plantadas” sobre redes sociais, no caso Facebook e Apple Store e isto oferece uma vantagem adicional para que você divulgue e comercialize seu aplicativo ou conteúdo.
Conclusão
Plataformas de software chegaram para ficar. Não reclame de pagar uma inscrição anual para entrar neste clube, afinal todos os módulos acima (e outros não citados, tais como hosting e segurança por exemplo), possuem um custo de operação e suporte. As empresas ou organizações que criaram plataformas usam a receita em publicidade ou anuidade de seus afiliados para investir na evolução de suas plataformas, o que acaba beneficiando a todos.