2011-01-08 9 views
7

Estoy actualizando una de mis aplicaciones y tengo un dilema:¿Debo usar las nuevas características de iOS 4 en mi aplicación? ¿y por qué?

En los lugares que quería añadir iOS 4 características únicas que no tenía más remedio que ponerlas en práctica sólo para los dispositivos compatibles - ningún dilema aquí.

El dilema es cuando tengo 2 formas de lograr el mismo efecto, una en la "vieja manera" y otra en una "nueva manera". Un buen ejemplo es utilizar bloques para la animación, puedo usar esta sintaxis:

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

que será apoyado en IOS sólo el 4,0. o utilice la antigua manera que será compatible con todas las versiones, incluyendo 4. (Hay muchos otros ejemplos similares).

¿Qué hace y por qué?

Los bloques son realmente geniales, pero tendré que escribir más código si quiero admitir versiones anteriores? ¿Qué gano al usarlos en esa situación?

+1

Simplemente va a tener que hacer una llamada, independientemente de si vale la pena si es compatible con las versiones anteriores de iOS. ¿Cuántos de sus clientes siguen usando dispositivos que no son compatibles con iOS 4 y qué tan importante es su negocio en relación con la cantidad adicional de esfuerzo de codificación que se necesitaría? Nadie más puede responder esta pregunta por ti. –

Respuesta

9

En general, la regla es admitir la versión más baja del sistema operativo que proporciona las capacidades que le permiten entregar el producto que desea. Hice que todas mis aplicaciones requirieran iPhone OS 3.0 aproximadamente un mes después de que se lanzara porque tenía que admitir copias y pegas personalizadas, así como el correo electrónico dentro de la aplicación. Para la versión gratuita de una de mis aplicaciones, quería probar iAds, por lo que hice solo 4.0.

Las posibilidades de mejoras de código internas que proporciona un nuevo sistema operativo son un poco más complicadas de establecer. Como señala Joe, el tiempo que pasas luchando contra una forma antigua de hacer las cosas, que podría salvarse moviéndote a una nueva versión del sistema operativo, es hora de que no estés solucionando errores o agregando esa nueva característica nueva. En algún momento, la elegancia de una nueva forma de hacer las cosas (como bloques y GCD) es demasiado convincente como para ignorarla, aunque puede que no agregue directamente nuevas funciones a su aplicación.

En la Mac, muchos desarrolladores mantienen soporte para la versión actual del sistema operativo más la anterior lanzada por Apple (Snow Leopard y Leopard, en este momento). Solo cuando sale un nuevo sistema operativo dejan de admitir la versión anterior. Otros, como Wil Shipley, abogan por saltar a bordo del nuevo sistema operativo exclusivamente de inmediato e ignorar las versiones anteriores. El argumento aquí es que las personas que no pagarán por las nuevas versiones del sistema operativo de Apple o que no mantienen sus sistemas actualizados tienen muchas menos probabilidades de comprar su aplicación de terceros.

He visto esto también en iOS. Por ejemplo, realicé una prueba de anuncios orientados a diferentes versiones en torno al lanzamiento de 3.0 (cuando los usuarios de iPod touch aún tenían que pagar sus actualizaciones de sistema operativo). Mientras que las descargas de una versión gratuita de mi aplicación fueron relativamente consistentes entre los usuarios de 2.x frente a los 3.x, casi ningún usuario de 2.x pagó la aplicación, mientras que los usuarios de 3.x lo hicieron.

Nadie se quejó entre mis usuarios de pago sobre el cambio temprano a 3.Sin embargo, sí (sí hablaron bien sobre las nuevas funciones) y solo dos personas se han quejado de que mi versión gratuita está en 4.0 solo, en comparación con 56,000 que se han actualizado sin problemas. Si bien me daría un poco de tiempo para un período de transición, creo que pasar a las nuevas versiones del sistema operativo relativamente poco después de su lanzamiento. En este momento, estoy en el proceso de hacer todo lo mío 4.0 solo para que pueda modernizar la base de código.

Finalmente, una última ventaja que obtiene al utilizar la nueva versión del sistema operativo es que se vuelve mucho más atractivo para Apple, que siempre desea promocionar aplicaciones utilizando nuevas funciones en sus nuevos dispositivos y versiones de sistema operativo.

0

Con la nueva forma de animación puede usar un bloque para completar, en lugar de tener que crear un método separado, es mucho más claro si tiene varias animaciones que necesitan hacer algo al finalizar. También es más fácil de leer, porque no está tan disperso. Es probable que haya alguna ventaja técnica, pero no sé sobre ese lado de las cosas.

1

Si está tratando de ganar dinero vendiendo su software, debe admitir tantas versiones del sistema operativo como sea posible, y la forma más sencilla de hacerlo es escribir un código que se ejecutará en todos versiones - por lo tanto, use el estilo antiguo de bloques de animación.

+0

@Joe Blow: ¿Eres un troll? Porque seguro que no suena como el verdadero negocio. –

+0

Los comentarios de Joe Blow tienen sentido en un contexto de decisión comercial. ¿Pasar 10 horas probando en dispositivos viejos es probable que genere más ingresos que pasar 10 horas en su próxima gran idea de aplicación para el sistema operativo actual? Si no tiene nuevas ideas de aplicaciones, entonces tal vez sí. – hotpaw2

+0

@Joe Blow: Quiero encontrarte irritante, pero de alguna manera tu acto es realmente divertido. ¡¡¡Me has inspirado para volver a mis NUEVAS IDEAS MUSICALES INCREÍBLES! – MusiGenesis

2

¿Cuál es su objetivo para desarrollar esta aplicación?

Si se trata de ingresos (o fama de altos conteos de descargas), observe el tamaño y el poder adquisitivo del segmento de mercado adicional versus los costos de desarrollo (y prueba y garantía de calidad y soporte).

Los propietarios de dispositivos antiguos y los usuarios de sistemas operativos antiguos son (1) una minoría (verifique los análisis del número actual, del orden del 10% o menos y disminuyan), y (2) compren menos aplicaciones en promedio que personas con los últimos dispositivos y versiones de sistema operativo. Para aplicaciones que no son exitosas, este pequeño porcentaje adicional de descargas potenciales puede no valer la pena para la prueba adicional del dispositivo y el tiempo de QA que requiere el apoyo de estos clientes, y mucho menos el esfuerzo de desarrollo.

Si está realizando una aplicación para fines benéficos o de aprendizaje, siga adelante y done sus horas de esfuerzo al 1 chico (u otro pequeño número) al que le gustan las aplicaciones nuevas para su dispositivo anterior. Es un buen conjunto de habilidades si quiere pasar a usar alguna característica nueva en la última versión del sistema operativo justo cuando sale, unas semanas antes de que la mayoría de los usuarios actualice el sistema operativo de su dispositivo para que coincida.

Cuestiones relacionadas