pianificando la stessa app sia per OSX che per iOS

5

Vorrei chiedere quale sia la migliore strategia per creare un'applicazione che sarà sviluppata sia su Mac che su iPad, in modo da fare il minimo sforzo per portarlo da una piattaforma all'altra, a partire da iPad, ad esempio, ma piuttosto cercando di farli entrambi allo stesso tempo. L'applicazione, infatti, sarebbe uno stile iPad anche sul Mac. Come dovrei pianificare il progetto? Quali sono i trucchi principali per ottenere facilmente l'obiettivo?

    
posta P5music 12.01.2012 - 13:48
fonte

3 risposte

5

Dovrai ricodificare l'interfaccia utente indipendentemente da cosa. L'interfaccia utente di OS X è abbastanza diversa dall'interfaccia utente di iOS per significare che qualsiasi tentativo minore di trasferire l'interfaccia utente diretta (come quella menzionata da Chiron) porterà a un compromesso non perfetto.

Ad esempio:

  • Gli utenti di OS X si aspettano che ci sia un insieme di menu sulla barra dei menu attraverso il quale è possibile accedere alla maggior parte delle funzionalità. Non esiste un equivalente diretto su iOS.
  • Gli utenti di OS X si aspettano finestre ridimensionabili.
  • Gli utenti di OS X si aspettano di poter aprire più finestre di documenti (se la tua app è un'applicazione basata su documenti).
  • Molti controlli di stile iOS semplicemente non funzionano bene se il tuo dispositivo di input è un mouse.
  • Alcuni dei controlli di stile di OS X hanno funzionalità più avanzate e sono anche più facili da usare per il programmatore rispetto ai loro "equivalenti" iOS (confronta NSTableView con UITableView).

Quindi, dato che è necessario riprogettare l'interfaccia utente, è necessario separare il più possibile le funzionalità dall'interfaccia utente. Ciò è in qualche modo incoraggiato in MVC comunque. Tuttavia, un modo per far rispettare questo è fisicamente separare il modello (la parte M) compilandolo come libreria statica su iOS e un framework su Mac OS X. Progettazione accurata dei controller (la parte C) utilizzando forse protocolli o delegati potrebbe permetterti di riutilizzare anche un po 'di codice.

Ad ogni modo, l'unica cosa che non dovresti mai fare (questo vale per qualsiasi app su qualsiasi piattaforma) compromette l'interfaccia utente nel nome della portabilità.

    
risposta data 11.04.2012 - 17:57
fonte
3

Non posso davvero rispondere alla tua domanda, ma potrei suggerire una nuova rotta.

Dai un'occhiata a Progetto Chameleon :

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.

È usato per sviluppare Twitterrific.

    
risposta data 12.01.2012 - 14:00
fonte
1
  • Progetta il modello per il riutilizzo. C'è ben poco che sia specifico della piattaforma su un modello di dati e dovresti essere in grado di utilizzare l'intero modello sia su iOS che su MacOS X. Tanto come possibile, ti consigliamo di includere la logica di business nel tuo modello in modo che ogni operazione data produca lo stesso risultato su entrambe le piattaforme.

  • Crea un progetto visivo che può essere riutilizzato. Utilizzare gli stessi elementi estetici (tavolozza dei colori, trame, proporzioni, terminologia) nello stesso modo in entrambe le applicazioni farà molto per facendo sentire all'utente che il tuo programma funziona allo stesso modo su entrambe le piattaforme.

  • Ottieni il massimo da ciascuna piattaforma. dimentica il riutilizzo del codice dell'interfaccia utente o addirittura il reimplementazione della stessa interfaccia utente su entrambe le piattaforme. Gli utenti vorranno che la tua app si senta uguale su entrambe le piattaforme, ma non vogliono che sia la stessa. Sfrutta lo schermo più grande, la barra dei menu e le finestre su MacOS X e l'interfaccia touch su iOS. Puoi mostrare molte informazioni contemporaneamente su MacOS X; su iOS è meglio attenersi a uno o due tipi di dati in qualsiasi momento.

risposta data 12.04.2012 - 08:39
fonte

Leggi altre domande sui tag