¿Debo desarrollar mi aplicación en Titanium en lugar de Swift?

Eso depende…

En general, las aplicaciones escritas con marcos multiplataforma no se sienten nativas, y a veces (pero no siempre) pueden ser notablemente lentas. Con frecuencia, tampoco tienen acceso a las últimas incorporaciones en un sistema operativo dado, o a veces no tienen acceso a las cosas a menos que estén en “la mayoría” de los sistemas operativos que admiten.

¿Funcionará para ti? Bueno, ¿cómo quieres que se sienta tu aplicación? ¿Puede señalarle una aplicación que ha escrito para iOS con Titanium? ¿Cómo se siente esa aplicación? ¿Es tan complejo como imaginas tu aplicación? ¿Las animaciones fluyen como tú quieres? ¿Es compatible con todas las funciones de iOS que desea que tenga su aplicación? ¿Impone algo (como menús de hamburguesas) que muchos usuarios de iOS encontrarán desagradable?

Si todo está bien, entonces Titanium podría funcionar para usted (siempre y cuando Apple no anuncie nada nuevo la próxima semana (WWDC) para el que desee recibir soporte más rápido, entonces el equipo de Titanium lo agregará).

El gran inconveniente es que si cambia de opinión más adelante sobre alguna característica que Titanium no admite, o no admite bien, puede sufrir MUCHO dolor. No uso Titanium, así que no puedo decirte cuál sería ese punto problemático, pero en aras de la discusión, ves alguna aplicación que tiene una increíble transición animada desde una vista de lista bien organizada de algunos datos a un gráfico completamente diferente organización (y vuelta). En Swift (u ObjC) esto es bastante simple de hacer con UICollectionView y animar un cambio del objeto de diseño. El titanio también podría tener una forma de hacerlo (creo que ha estado en iOS desde aproximadamente iOS 6), pero de nuevo por el argumento, digamos que no. Ahora tiene que decidir si vale la pena desenterrar la aplicación existente para una reescritura nativa, o si debe prescindir de la función, o tal vez, puede hacerlo como una animación personalizada de encendido y apagado que llevará un poco de tiempo código y depuración y es posible que nunca se vea exactamente como lo desea.

No estoy diciendo que TÚ te encontrarás con una característica como esa, pero estoy diciendo sin lugar a dudas que tendrás múltiples lugares donde tu cuidadoso guión gráfico del flujo de experiencia del usuario ha dejado algo que deseas agregar, o después de ti En realidad, puede usar esa aplicación para descubrir cosas que absolutamente debe tener, así como un montón que necesita con urgencia. Así son los proyectos de software. Siempre. La pregunta es si alguna de esas cosas será poco práctica en el marco que tu chico quiere.

Además, como asunto de negocios, ¿cuánto costo ahorrará en la versión de Android frente a cuánto costo (¿quizás?) Agrega a la versión de iOS? ¿Cuáles son las ganancias previstas de cada uno? Si son lo suficientemente altos, ¿es realmente más barato a largo plazo que un equipo comience a trabajar en ambos de inmediato para que pueda hacer que ambos salgan al mercado lo antes posible y no hacer uno ahora y otro después de los primeros acabados? ¿O es una categoría que no gana mucho dinero en una plataforma u otra, por lo que solo va a ganar dinero en esa plataforma si puede aprovechar la mayor parte del trabajo de la plataforma “primaria”?

No soy fanático de los entornos de desarrollo multiplataforma. Con frecuencia tiene que exprimir hasta la última gota de capacidad de su dispositivo móvil, para lograr la experiencia del usuario que el cliente desea. Esto es mucho más fácil de hacer si está desarrollando en un entorno nativo.

Lea lo que Facebook dijo, sobre por qué cambiaron al desarrollo nativo.

Bajo el capó: Reconstruyendo Facebook para iOS

El titanio no es una buena opción de todos modos, siempre Native es el rey … Titanuim o cualquier otra plataforma cruzada ahorrará su costo de desarrollo inicial con baja calidad, pero a la larga lo hará sufrir mucho.