Após o lançamento do iPhone OS 4 há algumas semanas, foi amplamente noticiada a alteração da seção 3.3.1 dos termos de desenvolvimento para a plataforma: nada poderia ser desenvolvido sem que fosse escrito em Obj-C, C, C++ ou Javascript rodando na engine Webkit e usando as APIs da própria Apple. Sem frameworks de terceiros, intermediários e outras ferramentas.

O Flash CS5, então a dois dias do seu lançamento, teve inutilizada a sua funcionalidade mais falada: a compilação de apps pro iPhone (entre outros dispositivos). Usuários comentaram, executivos se enfureceram, o assunto foi acompanhado por muitos blogs. Um dos últimos episódios foi a resposta do próprio Steve Jobs a um dos e-mails, de certa forma validando a opinião de John Gruber, do Daring Fireball, sobre a alteração.

Resumindo, Gruber trata da visão e do controle da Apple sobre o seu negócio e sua plataforma. Trata-se de usar o grande market share de usuários para impulsionar o já grande market share de desenvolvedores, tornando o Cocoa Touch um padrão de fato de desenvolvimento mobile e, provavelmente, incentivando também o desenvolvimento de aplicativos para os Macs. Haver uma plataforma sobre o Cocoa Touch (ainda mais se for o Flash), cria uma base paralela de desenvolvedores, fortalece a nova plataforma e pode facilitar o desenvolvimento de novos apps. No entanto, a base de desenvolvedores da Apple será enfraquecida e, pior, a qualidade dos apps será comprometida. Suponhamos que a Apple libere hoje funcionalidades importantíssimas para o iPhone OS, tal como as APIs de multitarefa no último lançamento: quanto tempo a Adobe levaria para adotá-las (se adotasse)? O suporte seria completo? Haveria bugs? Esses bugs poderiam comprometer a segurança e a reputação da plataforma?

Por fim, Gruber cita o caso do Kindle para iPhone, que é um excelente app e pode ser um grande rival para os recém-lançados iBooks. Já a versão para Mac não se parece nem se comporta como um Mac app – é apenas um port (mal) feito em Qt.

Estamos em 2010 e na Web ainda estamos amarrados a tecnologias especificadas há uma década, por conta dos diferentes níveis de implementação da especificação entre os browsers e da sua frequência de atualização. Pouco adianta que um browser implemente toda as especificações da W3C se ainda temos o IE6 entre nós. A Web não tem um dono que possa arrumar a casa. A plataforma do iPhone tem e esta pode ser nivelada por cima, uma vez que é a Apple quem cria a especificação, desenvolve as tecnologias e os padrões de interação.

No próximo post vou tentar esticar um pouco mais esse paralelo entre o iPhone, o mercado de browsers e os padrões Web. Até lá :)

Update: A Adobe por fim limou do Flash CS5 a exportação para iPhone. A Apple respondeu. (via)

Comentar Trackback

3 Comentários

  1. 1

    Compreendo a atitude da Apple. Mas não concordo com o fato de que remover a capcidade de uso de bibliotecas de terceiros vá diminuir a qualidade das apps. Isso é ridiculo, é querer validar as 234324324324 apps de peido que existem como excelentes só pelo fato de usarem a tecnologia abençoada pelo Jobs. Além de termos inúmeros exemplos de excelentes apps que usam as famigeradas 3th party apis.

    A Apple é hipócrita demais. Fala de padrão. Fala de liberdade. Mas essa só quando não for financiada por ela. Hardware excelente, software melhor ainda. Mas política de quinta.

    • 1.1

      Henrique, fico impressionado com a quantidade de “Fart Apps” ;D

      Agora, sério, há duas questões aí:

      1. A Arquitetura de Informação da App Store é realmente ruim e dificulta bastante que encontremos todos os apps disponíveis e tudo mais. Por outro lado, ela acaba separando um pouco o joio do trigo e as aplicações flatulentas ficam escondidas enquanto as relevantes são superexpostas.

      2. “diminuir a qualidade dos apps” podemos entender por: drenar bateria, reduzir performance, não seguir os padrões de interface (HIG), não acompanhar a evolução da plataforma, etc. Estes itens são vulnerabilidades das quais a Apple tenta se proteger e que, usando o SDK, você só faz bobagem se fizer alguma força. Usando o compilador do Flash, nada disso seria garantido e a quantidade de apps criados através deles e submetidos para a App Store certamente seria enorme. É claro que, ao cercar por este lado, ela deixa de poder ser surpreender com ótimos kits para desenvolvimento de jogos, por exemplo (o que talvez ela esteja se esforçando pra cobrir junto com o Game Center).

  2. 2

    Excelente post.
    Estas atitudes autoritaristas da Apple realmente são polêmicas e unilaterais. Mas protegem a plataforma do Iphone para não virar a zorra que é o desenvolvimento para web.
    Quer outro exemplo de zorra total (rsrsrs)? A plataforma do Android com suas inúmeras versões para cada fabricante. É um verdadeiro pesadelo para o desenvolvedor.
    Até a Google já pensa em unificar estas versões.