Diego Santos

Vocês anseiam pelo dia em que homens serão homens e escreverão seus próprios devices drivers?

Um overview sobre o desenvolvimento para iphone julho 29, 2008

Filed under: Mobilidade — diegosantos @ 9:29 pm
Tags: ,

Esse texto, a alguns outros que virão, é a tradução do centro de desenvolvimento para iphone do qual faço parte.

extraído de : http://developer.apple.com/iphone/gettingstarted/docs/iphoneosoverview.action

O iPhone OS inclui sistema operacional e tecnologias que você pode usar para executar aplicativos nativamente em iPhone e iPod touch . Ainda que compartilhe uma herança comum a muitas tecnologias com o Mac OS X, O iPhone OS foi concebido para satisfazer as necessidades de um ambiente móvel, onde as necessidades do usuário são um pouco diferentes. Os desenvolvedores do Mac OS X irão encontrar muitas tecnologias familiar, mas eles podem também encontrar tecnologias que estão disponíveis apenas no sistema operacional do iPhone sistema operacional, tais como a interface Multi-Touch e o acelerómetro.

O Kit de desenvolvimento para iPhone (iPhone SDK) contém o código, a informação, e as ferramentas que você precisa para desenvolver, testar, executar, depurar e aplicações para sincronizar com o iPhone OS. O ferramentas do Xcode foram atualizados para apoiar o desenvolvimento do iPhone OS. Para além de constituir a base de edição, compilação, depuração e de ambiente para o seu código, Xcode prevê também o ponto de lançamento para testar seus aplicativos em um iPod ou iPhone touch. Xcode também lhe permite executar aplicativos em um simulador de iPhone , uma plataforma que imita a base do iPhone OS em ambiente local no seu computador Macintosh.

Este artigo fornece uma visão geral de alto nível das características básicas encontradas no iPhone OS, para ajudar a orientá-lo na plataforma. Você encontrará outros artigos do iPhone Dev Center para ajudar a chegar até a velocidade mais rápida e para ajudá-lo a entender o processo básico para a criação de aplicativos para iPhone. Você deve usar esses artigos para ajudar a guiar o seu caminho para a aprendizagem da plataforma do iPhone OS.

Camadas de tecnologia do iPhone OS

No iPhone OS, o sistema de arquitetura e muitas das tecnologias são semelhantes aos encontrados no Mac OS X. O kernel do sistema operacional do iPhone é baseado em uma variante da mesma base Mach kernel que se encontra no Mac OS X. No topo desta kernel estão as camadas de serviços que são usados para executar aplicações na plataforma. A Figura mostra uma visão geral de alto nível dessas camadas.

Isto dá-lhe opções camadas quando se trata de implementar seu código. Por exemplo, as camadas núcleo do sistema operacional (Core OS) e o o Núcles dos Serviços (Core Services)  contém as interfaces fundamentais para iPhone OS, incluindo os utilizados para acessar aos arquivos, tipos de dados de baixo nível, serviços Bonjour, soquetes de rede e assim por diante. Essas interfaces são na sua maioria à base do C e incluem tecnologias como a Core Fundation, CFNetwork, SQLite, e acesso a POSIX threads e sockets UNIX entre outros.

Nas camadas superiores, você encontrará as mais avançadas tecnologias que utilizam uma mistura de interfaces baseadas em C e Objective-C. Por exemplo, a camada dos Meios de Comunicação Social (Media) contém as tecnologias fundamentais utilizados para apoiar desenho 2D e 3D, áudio e vídeo. Esta camada inclui as tecnologias baseadas em C o OpenGL ES, Quartz, e Core Audio. Contém também Core Animation, que é um avançado engine de animação baseado em Objetivo-C.

Na camada Cocoa Touch, a maior parte das tecnologias utiliza Objetivo-C. O framework dessa camada fornecer as infra-estruturas fundamentais utilizadas pela sua aplicação. Por exemplo, o frame provê suporte a orientação a objetos colecções, gerenciamento de arquivos, operações de rede, e mais. O framework UIKit prevê a infra-estrutura visual para sua aplicação, incluindo classes de janelas, pontos de vista, controles  e os controladores que gerenciam esses objetos. Outros frameworks deste nível permitem o acesso do usuário à informação e de contato e foto para o acelerômetros e outras características de hardware do dispositivo.

O ponto de partida para qualquer novo projecto é a camada Cocoa Touch , e o framework UIKit , em particular. Ao decidir quais tecnologias adicionais  utilizar, é recomendado que você comece com framework das camadas de nível superior e se apoiar nos framework das camadas mais baixas, conforme necessário. Os framework de nível superior torna mais fácil o suporte aos comportamenntos do sistema com menos esforço da sua parte. A única vez em que você deve descer para os framework de nível mais baixo é quando você deseja implementar um comportamento personalizado que não seja fornecida a um nível superior.

Para maiores detalhes das tecnologias do iPhone OS veja iPhone OS Programming Guide.

Escrevendo Código para iPhone OS

O iPhone SDK suporta a criação de orientada-gráficamente para os aplicativos que correm nativamente em iPhone OS. As aplicações que você criar pode residir no ecrã inicial do usuário, junto com os outros aplicativos de sistema, tais como fotos, previsão do tempo, e Relógio. Depois de serem lançados, com exceção do kernel e alguns daemons de baixo nível ,a sua aplicação é a única aplicação em execução no sistema. Embora executando, a sua aplicação ocupa todo o ecrã e é o foco de atenção do usuário. E quando o usuário apertar o botão Home, a sua aplicação sai do sistema exibe a tela Home novamente. Tendo o sistema é vantajoso para você mesmo, porque dá-lhe acesso total ao sistema de recursos subjacentes. Você pode tirar vantagem do espaço construído, em hardware, tais como os acelerómetros, câmera, gráficos e de hardware para executar apenas o seu código.

Devido à forma como os usuários interagem com o iPod e iPhone touch é fundamentalmente diferente da forma como os usuários interagem com o Mac OS X, a maneira de conceber as suas aplicações também devem ser diferentes. Em uma aplicação do iPhone, não há nenhuma noção de documento separado por janelas para exibir o conteúdo. Em vez disso, todos os dados da aplicação é exibida em uma única janela. Esta situação levou à criação de novos pontos de vista e controles que permitem que você possa apresentar os dados de sua aplicação de modo organizado. Além disso, muitos dos pontos de vista e controles padrão pode se comportar de forma ligeiramente diferente do que os seus homólogos do Mac OS X. A maior parte destas alterações devem ser transparentes, mas alguns podem exigir-lhe repensar a forma de organizar e apresentar os seus dados.

O modelo de tratamento de evento do iPhone SO representa também um importante ruptura em relação as aplicações desktop tradicionais. Em vez de se basear nos tradicionais eventos de mouse e teclado,  o iPhone OS introduz a idéia de “eventos de toque”. Um evento de toque pode ocorrer em qualquer altura e em combinação com um toque adicional ou mais eventos. Toques podem ser usado para detectar simples interações com o conteúdo, tais como a seleção ou arrastar os itens, ou eles podem ser usados para detectar gestos e interações complexas, tais como toque leve ou gestos para abrir ou fechar(utilizado, por exemplo, a zoom in e out nas aplicações de imagens).

Considerando a estrutura básica do seu aplicativo, você precisa pensar sobre o modo como os usuários vão realmente usá-lo. As aplicações do iPhone ser limpas, e focar no que o usuário precisa no momento. Lembre-se que os usuários que estão on-the-go querem obter a informação rapidamente e não gastar muito tempo procurando através de várias camadas de telas. Proporcionar um esquema simples que destaca as principais informações que o usuário precisa é importante. Para jogos divertidos e outros aplicativos, você também deve considerar a forma como os usuários podem querer interagir com o seu pedido e tirar partido das tecnologias, como os acelerômetros e câmera se for esse o caso.

À medida que você começar o desenvolvimento, os framework que pretende utilizar inicialmente estão nos framework UIKit e Foundation . Estes frameworks fornecem os principais serviços utilizados por todos as aplicações do iPhone. Para refinar sua aplicação, você deve investigar os outros frameworks do sistema para ver quais os serviços que oferecem. A documentação conceitual para cada um dos frameworks inclui links para materiais relevantes para ajudá-lo a aprender mais sobre como usar esse framework.

Para obter informações sobre os framework foundation e UIKit , veja Foundation Framework ReferenceUIKit Framework.
e

Onde começar

Criar simples aplicações que são executadas no iPhone OS é relativamente fácil com o projeto de construção de modelos fornecidos pela Xcode, mas criar aplicativos que fazem alguma coisa útil e agradável exige que você gaste algum tempo com leitura através da documentação disponível. No mínimo, você deve ter o tempo para ler as orientações dos artigos do iPhone Dev Center, que explorará as ferramentas e processos para a criação de aplicações.

Se você é completamente novo ao que diz respeito a iPhone OS e Mac OS X, ter tempo para compreender a concepção básica e padrões e das convenções iPhone OS é crítico para escrever código para a plataforma. Aplicações em iPhone OS funcionam melhor quando se tirar partido do poder fornecidos pelos frameworks . Se você passar algum tempo tentando trabalhar em torno do framework de comportamento básico, você poderá criar a sua aplicação muito mais difícil do que simplesmente a aprendizagem da utilização de padrões de projeto básico. As informações básicas que todos os desenvolvedores de iPhone está  Cocoa Fundamentals Guide. Este documento apresenta os princípios básicos da linguagem Objective-C e das convenções de programaçã e padrões utilizados por UIKit design e muitos outros frameworks do sistema.

Depois de compreender a base de convenções você usará para criar aplicações para o iPhone, pode  o  iPhone OS Programming Guide para detalhes específicos sobre o processo de desenvolvimento. Este livro oferece tarefa-chave de base conceitual e informações sobre como escrever aplicações para o iPhone, incluindo exemplos de como exibir uma interface de usuário, manipular eventos e tirar partido das características-chave do iPhone OS. Ele também descreve o processo global de desenvolvimento e explica como você usa o Xcode para construir e executar seus aplicativos.

Além de iPhone OS Programming Guide, você deve olhar também códigos de amostra disponíveis. Você também pode olhar os códigos disponíveis de aplicações iPhone OS que lhe mostram como usar as tecnologias disponíveis para criar aplicações para o mundo real. Você pode utilizar essas amostras como ponto de partida para as suas próprias aplicações ou você pode olhar para eles para saber mais sobre como usar recursos específicos.

O iPhone promete mudar todos os patamares do que é uma mobile, aliás ele já tem feito, muito ainda existe para ser feito e vale a pena aos techmaníacos ficarem atentos.

Anúncios
 

3 Responses to “Um overview sobre o desenvolvimento para iphone”

  1. Marcus Linares Says:

    Olá gostei do seu texto sobre desenvolvimento para iphone, seria legal também se você pudesse colocar algo prático, tipo um “helo world”, sei que a idéia foi falar mais da arquitetura de desenvolvimento, porém um exemplo prático sobre o assunto também seria bem interessante.

    Tenho uma pergunta: a Apple trancou o desenvolvimento de aplicações para iphone dentro do Mac Os ou é possível o desenvolvimento em plataforma Windows ?

    Abs,

  2. Muito boa matéria Diego, cada vez mais estamos portando da web para Mobile, Iphone ou blackberry, não importa, a era Mobile chegou para ficar, integração e desenvolvolvimento aliado a mobilidade.

    Abs,

    Leonardo Rebitte
    Venturah

  3. Dion Says:

    Bacana o post, principalmente que isso no Brasil é coisa muito nova e vai demorar um pouco pra se dissiminar, uma pelo fato de que a fatia de mercado da Apple aqui é muito pequena comparada com plataforma microsoft, e hoje o desenvolvimento de app para iPhone ou iPod Touch são feitos Impreterivelmente em plataformar MAC OS.


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s