Código que permite produção de aplicativos para iPhone OS com JavaScript na mira da Apple
18/5/2009 | Tags:, , | Escrito por: Dirceu Pauka Jr.

A única forma oficial de colocar uma aplicação na iTunes Music Store é a produzindo na linguagem Objective-C usando a SDK de desenvolvimento da Apple.

Porem, a SDK possui um componente chamado UIWebKit. Esse componente nada mais é que uma janela do navegador Safari, que pode ser usado pela aplicação.

O UIWebKit, assim como o Safari, possui um interpretador JavaScript. Isso permite que um desenvolvedor com habilidades em HTML, CSS e JavaScript utilize toda a força de um navegador moderno como o WebKit (SQLite, HTML5, Canvas, etc) para fazer fortuna na lojinha de Jobs.

Indo além, o tal do UIWebKit pode ser estendido para executar funções da SDK de dentro do interpretador JavaScript. Por exemplo: a funcionalidade que faz o iPhone vibrar não é disponível para a API JavaScript do Safari, porém código (Objective-C) pode ser escrito de forma que o JavaScript tenha acesso a tal função.

PhoneGap

Um projeto chamado PhoneGap tem a intenção de juntar em um só lugar os códigos que fazem a ligação entre o componente UIWebKit e as APIs publicas do iPhone OS.

Ele não é um framework nem uma API. Muito menos faz chamadas a API do iPhone que são de uso somente da Apple (API privada).

O PhoneGap é somente um esqueleto de aplicação com um Safari preenchendo toda a tela da aplicação e carregando o arquivo index.html da pasta www (que vai junto com a aplicação). É simples assim. Se você manja HTML, CSS e JavaScript poderia ficar rico também na App Store.

Poderia meu irmão, poderia.

Na semana passada alguns revisores da Apple começaram a recusar aplicações que levam pelo menos um pouco do PhoneGap. Essa semana, conforme reportado na lista de discussão do projeto, nenhuma aplicação foi aceita. Todas recebem a mesma reposta:

Após a análise da sua aplicação, ** não pode ser enviado para App Store devido ao uso de API privada.
O uso de APIs privadas é proibido conforme descrito no ponto 3.3.2 do “iPhone SDK Agreement”:

“Uma aplicação não pode instalar ou executar outro código por nenhum meio, incluindo sem limitação o uso de plug-ins, chamadas a outros frameworks, outras APIs ou outra forma.
Nenhuma código interpretado pode ser baixado e usado em uma aplicação, exeto o código que é interpretado e executado pelo ‘Apple’s Published APIs’ e seus interpretadores.”

A API do PhoneGap implementada na sua aplicação é um framework externo.

Por enquanto nenhuma outra posição da Apple ou dos desenvolvedores do PhoneGap foi tomada. A recomendação é que quem precisar colocar a aplicação na App Store não arrisque com o PhoneGap.

Boa sorte aprendendo Objective-C.


4 Comentários so far
Leave a comment

pouts… só pq eu estáva crente q ia fazer um software bacana com JS e SQLIte =/…
mermão a Apple sempre dá um jeito de forçar os desenvolvedores a adquirir seu SDK, que por consequência só funciona no seu S.0. Liberdade de desenvolvimento para hardware da Apple não existe =/

@anestesya:
Não. E ninguém tá nem ai.
A licenças de software da Apple sempre mostraram sua posição: código aberto é bom, desde que esses não sejam mais nosso segredo.
Hoje não considero difícil por exemplo a criação de um sistema operacional para um hardware como o iPod Nano (tanto que realmente existe um Linux para esse tipo de hardware). Na época porém era impossível rodar qualquer outro sistema operacional que não o produzido pela Pixo. A “experiência” deixava de ser a mesma. O aparelho deixava de ser um iPod.

Da mesma forma hoje, eu nem penso em instalar um sistema que não seja o da Apple no meu iPhone OS djow ;)

Pensa só… os caras tem certinho as especificações de hardware da parada e não liberam isso (patentes sobre multi-touch por ex), como alguem que não sabe certinho o hardware da parada vai conseguir fazer um SO melhor?

[...] PhoneGap que poderiam um dia se tornar o aplicativo pronto. Não me preocupei com o problema que o PhoneGap enfrentou na App Store e continuei implementando o que precisava em [...]

[...] Código que permite produção de aplicativos para iPhone OS com JavaScript na mira da Apple O desenvolvimento do AlarmGame – Um jogo despertador [...]

TrackBack URI

Deixe um comentário
Quebras de linha e parágrafo automáticas, seu email nunca será mostrado, HTML permitido: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(obrigatório)

(obrigatório)