2011-01-08 14 views
7

sto aggiornando una delle mie applicazioni e ho un dilemma:Devo usare iOS 4 nuove funzionalità nella mia app? e perché?

In alcuni punti ho voluto aggiungere iOS 4 caratteristiche uniche non avevo altra scelta, ma per la loro attuazione solo per i dispositivi supportati - nessun dilemma qui.

Il dilemma è quando ho 2 modi per ottenere lo stesso effetto, uno nel "vecchio modo" e uno in un "nuovo modo". Un buon esempio sta usando i blocchi per l'animazione, posso usare questa sintassi:

[UIView animateWithDuration:2 animations:^{ 
    self.segmentedControl.alpha=0; 
}]; 

che sarà supportato in iOS solo 4.0. o usa il vecchio modo che sarà supportato in tutte le versioni, tra cui 4. (Ci sono molti altri esempi simili.)

Cosa fai e perché?

I blocchi sono davvero fantastici ma dovrò scrivere più codice se voglio supportare le versioni precedenti? Cosa guadagno dal loro utilizzo in quella situazione?

+1

Dovrai effettuare una chiamata anche se non vale la pena supportare le versioni precedenti di iOS. Quanti dei tuoi clienti stanno ancora utilizzando dispositivi che non supportano iOS 4 e quanto è importante il loro business rispetto alla quantità extra di sforzo di codifica che richiederebbe? Nessun altro può rispondere a questa domanda per te. –

risposta

9

Generalmente, la regola è di supportare la versione più bassa del sistema operativo che fornisce le funzionalità che consentono di consegnare il prodotto desiderato. Ho fatto in modo che tutte le mie applicazioni richiedessero iPhone OS 3.0 circa un mese dopo il lancio perché avevo bisogno di supportare la copia e incolla personalizzata e l'e-mail in-application. Per la versione gratuita di una delle mie applicazioni, volevo provare iAds, quindi ho realizzato solo la versione 4.0.

Le possibilità per i miglioramenti del codice interno forniti da un nuovo sistema operativo sono un po 'più complesse per rendere le regole. Come sottolinea Joe, il tempo trascorso a lottare contro un vecchio modo di fare le cose, che potrebbe essere salvato passando a una nuova versione del sistema operativo, è il momento di non correggere bug o aggiungere la prossima nuova grande funzionalità. Ad un certo punto, l'eleganza di un nuovo modo di fare le cose (come blocchi e GCD) è troppo convincente da ignorare, anche se potrebbe non aggiungere direttamente nuove funzionalità alla tua applicazione.

Sul Mac, molti sviluppatori mantengono il supporto per la versione corrente del sistema operativo più il precedente rilasciato da Apple (Snow Leopard e Leopard, al momento). Solo quando esce un nuovo sistema operativo rilasciano il supporto per la versione precedente. Altri, come Wil Shipley, sostengono di saltare a bordo del nuovo sistema operativo solo immediatamente e ignorano le vecchie versioni. L'argomento qui è che le persone che non pagheranno per le nuove versioni del sistema operativo Apple o che non manterranno aggiornato il proprio sistema avranno meno probabilità di acquistare l'applicazione di terze parti.

Ho visto anche su iOS. Ad esempio, ho eseguito un test di annunci mirati a versioni diverse attorno al lancio di 3.0 (quando gli utenti di iPod touch dovevano ancora pagare per gli aggiornamenti del sistema operativo). Mentre i download di una versione gratuita della mia applicazione erano relativamente coerenti tra gli utenti 2.x vs 3.x, quasi nessun utente 2.x ha pagato per l'applicazione mentre gli utenti 3.x lo hanno fatto.

Nessuno si è lamentato tra i miei utenti paganti del passaggio anticipato a 3.0 (hanno parlato bene delle nuove funzionalità, però) e solo due persone si sono lamentate della mia versione gratuita in versione 4.0, rispetto a 56.000 che sono state aggiornate senza problemi. Mentre darei un po 'di tempo per un periodo di transizione, credo che passerò alle nuove versioni del SO poco dopo il loro lancio. In questo momento, sono in procinto di creare tutto ciò che è mio solo 4.0 in modo da poter modernizzare il codice base.

Infine, un ultimo vantaggio derivante dall'utilizzo della nuova versione del sistema operativo è che diventi molto più attraente per Apple, che desidera sempre promuovere le applicazioni utilizzando le nuove funzionalità nei nuovi dispositivi e nelle versioni del sistema operativo.

0

Con il nuovo modo di animazione è possibile utilizzare un blocco per il completamento, piuttosto che dover creare un metodo separato, è molto più pulito se si dispone di più animazioni che devono eseguire qualcosa al completamento. Inoltre è più facile da leggere, perché non è così diffuso. Ci sarà sicuramente un vantaggio tecnico, ma non conosco questo aspetto delle cose.

1

Se stai cercando di fare soldi vendendo il software, con tutti i mezzi si dovrebbe supportare il maggior numero versioni del sistema operativo il più possibile, e il modo più semplice per farlo è quello di scrivere un pezzo di codice che verrà eseguito su tutti i versioni - quindi, usa il vecchio stile dei blocchi di animazione.

+0

@Joe Blow: sei un troll? Perché sicuramente non sembra il vero affare. –

+0

I commenti di Joe Blow hanno senso in un contesto di decisione aziendale. Stai spendendo 10 ore di test su vecchi dispositivi che potrebbero produrre più entrate rispetto a 10 ore di spesa per la tua prossima grande idea per l'attuale sistema operativo? Se hai zero nuove idee per le app, allora forse sì. – hotpaw2

+0

@Joe Blow: voglio trovarti irritante, ma in qualche modo il tuo atto è in realtà un po 'divertente. Mi hai ispirato a tornare al mio STAGGERING, INCREDIBILE NUOVE IDEE MUSICALI !!!!!!! – MusiGenesis

2

Qual è il tuo obiettivo per lo sviluppo di questa app?

Se sono le entrate (o la fama derivante da un elevato numero di download), esaminare le dimensioni e il potere di acquisto del segmento di mercato aggiuntivo rispetto ai costi di sviluppo (e di test e QA e supporto).

I vecchi possessori di dispositivi ei vecchi utenti del sistema operativo sono (1) una minoranza (controlla l'analisi per il numero corrente, dell'ordine del 10% o meno e lasciando cadere) e (2) acquistano in media meno app che persone con gli ultimi dispositivi e versioni del sistema operativo. Per le app non blockbuster, questa piccola percentuale aggiuntiva di download potenziali potrebbe non valere la pena di effettuare test supplementari sui dispositivi e QA che supportano questi clienti, e ancor meno lo sforzo di sviluppo.

Se si sta facendo un'app per beneficenza o di apprendimento, quindi andare avanti e donare le ore di impegno al 1 ragazzo (o altro piccolo numero) a cui piacciono le nuove app per il loro vecchio dispositivo. È una buona abilità da avere se si vuole passare all'utilizzo di alcune funzionalità super nuove nell'ultima versione del SO così come esce, poche settimane prima che la maggior parte degli utenti aggiorni il sistema operativo del proprio dispositivo.

Problemi correlati