sábado, 20 de agosto de 2011

PhoneGap vs. Flex vs. Appcelerator vs. Corona: nuevas conclusiones

Pasada ya casi una semana desde los últimos post en los que evaluaba estas herramientas, he tenido constancia de dos hechos que me han hecho cambiar de opinión. Además, revisando la tabla del último post, creo que no he sido todo lo exacta que me habría gustado, así que en vez de modificar todo el artículo, me he decidido a hacer una nueva tabla y sacar nuevas conclusiones. Si no sabes de qué va todo esto, aquí tienes los posts anteriores relacionados

¿Qué es lo que me ha hecho cambiar de opinión? Para empezar, mi tabla anterior era demasiado “estricta” o “personalizada” y ponía características como “regulares” cuando no eran más que temas subjetivos. Por ejemplo, que a mi me parezca mejor lenguaje ActionScript que JavaScript no significa que si una herramienta usa JavaScript tenga que tener peor nota. Por esta razón, he igualado las características de las herramientas basadas en opiniones subjetivas. ¿Cuando evalúo una característica como mala? cuando supone un impedimento real para el desarrollo. Por ejemplo, el hecho de que para construir una aplicación para IOS sea necesario tener un Mac es una característica regular, pero no es impedimento, por lo que no la he puesto como roja (y antes sí).

¿Que es lo que he puesto entonces como rojo/malo/impedimento? 3 cosas nada más:

  1. El precio: Flash Builder 4 y Corona.
  2. Que la aplicación se distribuya con el código fuente: PhoneGap.
  3. Que requiera un modelo específico de dispositivos: Adobe Air mobile para Android requiere terminales de gama alta con procesador de Arm7 (gracias Erik por avisar!).

Así que mis conclusiones son distintas. Flex baja muchos puestos por el hecho de que no funciona en todos los dispositivos Android, y PhoneGap también, al permitir que cualquier pueda bajarse tu aplicación y verle todas las tripas. Entonces, ¿cuál elijo?

Primero hay que preguntarse el objetivo de la aplicación

  • Publicarla en el AppStore/Android Market con un precio por descarga (aplicación de pago). No puedes usar PhoneGap porque podrá ser “pirateada” con extrema facilidad, al incluir el código fuente. Ni deberías usar AdobeAir porque no funcionará en todos los dispositivos Android. Te queda solo Corona para juegos y Appcelerator para el resto de aplicaciones.
  • Publicarla en el AppStore/Android Market como aplicación gratuita. Puedes usar PhoneGap, siempre que no te importe que el mundo entero vea tu código. No deberías usar Adobe Air por la misma razón que el punto anterior, así que te queda Corona y Appcelerator.
  • Aplicación a medida. Puedes usar PhoneGap, tu cliente quiere que le desarrolles una aplicación a medida, no robarte el código. Puedes usar Adobe Air mobile siempre y cuando te asegures de que tu cliente va a tener terminales con el procesador Arm7, y le dejes bien claro (por escrito) que no funcionará con terminales que no lo tenga, para evitar sorpresas posteriores. Aquí puedes elegir el que quieras y usar la guía para programadores con prisa de mi anterior post.

Nada más, si quieres saber de qué va todo esto, puedes ver mi posts anteriores sobre desarrollo de aplicaciones móviles multiplataforma:

No hay comentarios: