Todos nós sabemos que não dá para rodar Flash nos dispositivos móveis da Apple. Mas agora a Apple está tentando tornar impossível o desenvolvimento de apps para iPhone em qualquer outro sistema que não o da Apple. Isso é mau.

Isto interfere com o trabalho de uma empresa grande: a Adobe, cujo futuro Packager para iPhone no CS5 permite desenvolver apps em Flash (ou, especificamente, em ActionScript 3, a linguagem de scripting nativa do Flash), e depois compilá-los para que eles funcionem no plugin de um navegador e como um app independente no iPhone.



O raciocínio é o seguinte: apps programados desta forma não teriam o mesmo desempenho de apps escritos em Objective-C, a linguagem de programação nativa do iPhone, mas eles seriam bons o bastante — e permitiriam que desenvolvedores que já sabem ActionScript evitassem aprender mais outra linguagem de programação.

(Pelo menos em teoria. O jogo acima, "THAT ROACH GAME" ("AQUELE JOGO DA BARATA"), foi feito em Flash. Um reviewer notou que "a animação e atenuação devem ter sido calculadas em uma calculadora. O desenvolvedor deveria considerar aulas à noite para otimizar o código para o iPhone.")

Mas agora, no contrato de licença do iPhone OS 4, parece que a Apple está especificamente banindo outras linguagens para criar apps para iPhone.

Como é que a Apple vai saber que linguagem foi usada, depois que o programa tiver sido compilado? Falei com um desenvolvedor Flash, que talvez abandone um app para iPad que ele já estava criando em ActionScript, e a maioria dos compiladores multiplataforma usa um conjunto de bibliotecas unificadas que é fácil de reconhecer, mesmo depois de compilado nos apps para iPhone.

Resumindo, a Apple está forçando um número enorme de desenvolvedores a mudar de linguagem de programação só para estimulá-los a desistir da plataforma do concorrente. Não está claro se os apps desenvolvidos com ferramentas multiplataforma já existentes na App Store serão banidos.

John Gruber, do blog Daring Fireball, fez várias considerações sobre isto no artigo "Porque a Apple mudou a seção 3.3.1". O impacto é ruim para desenvolvedores fora do Objective-C, mas não afeta desenvolvedores web e pode ser bom para os usuários do iPhone, já que compiladores multiplataforma, segundo o John, não são conhecidos por fazer ótimos apps fora da plataforma para a qual foram pensados. [Daring Fireball]