planejando o mesmo aplicativo para OSX e iOS

5

Eu gostaria de perguntar qual é a melhor estratégia para criar um aplicativo que será desenvolvido tanto no Mac quanto no iPad, então fazer um esforço mínimo para portá-lo de uma plataforma para outra, a partir do iPad, por exemplo, mas sim tentando fazer as duas coisas ao mesmo tempo. O aplicativo, na verdade, também seria do tipo iPad no Mac. Como devo planejar o projeto? Quais são os principais truques para obter facilmente o objetivo?

    
por P5music 12.01.2012 / 13:48
fonte

3 respostas

5

Você terá que recodificar a interface do usuário, não importa o quê. A interface do usuário do OS X é diferente o suficiente para a interface do usuário do iOS para significar que qualquer tentativa menor de portar a interface do usuário direta (como a mencionada pelo Chiron) resultará em um comprometimento menos que perfeito.

Por exemplo:

  • Os usuários do OS X esperam que haja um conjunto de menus na barra de menus por meio dos quais você pode acessar a maior parte da funcionalidade. Não há equivalente direto no iOS.
  • Os usuários do OS X esperam janelas redimensionáveis.
  • Os usuários do OS X esperam poder abrir várias janelas de documentos (se o aplicativo for um aplicativo baseado em documentos).
  • Muitos controles de estilo do iOS simplesmente não funcionam bem se o dispositivo de entrada for um mouse.
  • Alguns dos controles de estilo do OS X têm uma funcionalidade mais rica, além de serem mais fáceis para o programador usar do que seus "equivalentes" do iOS (compare o NSTableView com o UITableView).

Portanto, considerando que você precisa reformular sua interface do usuário, é necessário separar a funcionalidade da interface do usuário o máximo possível. Isso é de certa forma encorajado no MVC. No entanto, uma maneira de impor isso é separar fisicamente o modelo (a parte M) compilando-o como uma biblioteca estática no iOS e uma estrutura no Mac OS X. Design cuidadoso dos controladores (a parte C) usando talvez protocolos ou delegados pode permitir que você reutilize algum código lá também.

De qualquer forma, a única coisa que você nunca deve fazer (isso se aplica a qualquer aplicativo em qualquer plataforma) é comprometer a interface do usuário em nome da portabilidade.

    
por 11.04.2012 / 17:57
fonte
3

Não consigo responder à sua pergunta, mas posso sugerir uma nova rota.

Dê uma olhada no Projeto Camaleão :

If you're an iOS developer, you're already familiar with UIKit, the framework used to create apps for the iPhone, iPod and iPad. Chameleon is a drop in replacement for UIKit that runs on Mac OS X. In many cases, your iOS code doesn't need to change at all in order to run on a Mac.

This new framework is a clean room implementation of the work done by Apple for iOS. The only thing Chameleon has in common with UIKit are the public class and method names. The code is based on Apple's documentation and does not use any private APIs or other techniques disallowed by the Mac App Store.

É usado para desenvolver o Twitterrific.

    
por 12.01.2012 / 14:00
fonte
1
  • Projete o modelo para reutilização. Há muito pouco específico de plataforma sobre um modelo de dados e você deve ser capaz de usar o modelo inteiro no iOS e no MacOS X. Tanto quanto possível, você desejará incluir a lógica de negócios em seu modelo para que qualquer operação produza o mesmo resultado em qualquer plataforma.

  • Crie um design visual que possa ser reutilizado. Usar os mesmos elementos estéticos (paleta de cores, texturas, proporções, terminologia) da mesma maneira em ambos os aplicativos ajudará muito. fazendo com que o usuário sinta que seu programa funciona da mesma maneira em ambas as plataformas.

  • Aproveite ao máximo cada plataforma. Esqueça a reutilização do código da interface do usuário ou até mesmo a reimplementação da mesma interface em ambas as plataformas. Os usuários querem que seu aplicativo sinta o mesmo em ambas as plataformas, mas eles não querem que ele seja o mesmo. Aproveite a tela maior, barra de menus e janelas no MacOS X e a interface de toque no iOS. Você pode mostrar muitas informações ao mesmo tempo no MacOS X; no iOS, é melhor manter um ou dois tipos de dados a qualquer momento.

por 12.04.2012 / 08:39
fonte