Permítanme definir primero los términos tal como los veo, no necesariamente definiciones de diccionario …
Eficiencia : esfuerzo mínimo. Se puede lograr mediante la familiaridad con la plataforma, el lenguaje y las bibliotecas. También se puede lograr mediante la aplicación del principio DRY a su código, por lo que los tiempos de respuesta durante el mantenimiento son rápidos. El uso reflexivo de la modularidad fluye de eso.
Efectividad : cumpliendo el propósito previsto. Esto generalmente se hace a través de un buen diseño de aplicaciones y entendiendo las necesidades de sus usuarios.
- Cómo desarrollar una aplicación para iPhone
- ¿Cuáles son las mejores aplicaciones de música para Android que se pueden descargar?
- ¿Cuál es el futuro del desarrollo móvil?
- ¿En qué etapa debe pensar el propietario de un sitio web de compras sobre el desarrollo de aplicaciones móviles?
- ¿Qué sistema debo usar para crear mi aplicación móvil multiplataforma? Tengo un conjunto específico de requisitos y me gustaría encontrar el sistema que mejor se adapte.
Ahora, a tu pregunta. Creo que su punto de partida no está claramente establecido. Me gustaría preguntar primero (incluso a usted mismo) las siguientes preguntas:
- ¿Por qué quieres crear una aplicación (para ganar dinero, aprender, conseguir un trabajo más tarde)?
- ¿Cuál es el presupuesto para su aplicación y tiene el dinero disponible si es necesario?
- ¿Su aplicación necesita tener una interfaz nativa o puede salirse con una más simple basada en HTML?
- ¿Necesita estar conectado a la función (por ejemplo: ¿confía en API externas, fuentes de datos, etc.?)
Para aplicaciones más simples, que no requieren apariencia nativa, HTML podría ser la mejor solución. Si puede tolerar la conectividad mientras lo usa, un sitio web alojado habilitado para dispositivos móviles funcionaría mejor a bajo precio, bajo mantenimiento y fácil administración.
Si el problema es el dinero, y HTML no funcionará, necesitará aprender 3 plataformas para el desarrollo (ahora que Microsoft intenta nuevamente hacer que la presencia móvil sea más sustancial). Java (sabor de Google) para Android, Objective C para Apple , y C # para teléfonos con Windows, tal como Al Klein había sugerido, sería su mínimo. Recomiendo primero elegir el mercado y probar primero la popularidad de su aplicación con Android o Apple, antes de migrar a otras plataformas. Deje C # para el final si lo necesita.
Utilice una plataforma de desarrollo de pago como Appmakr (https://www.appmakr.com/) para automatizar sus esfuerzos de desarrollo e implementación. Esto le costará, pero vale la pena cuando crea una aplicación paga que comenzará a recaudar dinero. En un solo disparo tienes acceso para duplicar el mercado.
Puntos finales
- Considere obtener versiones de prueba y beta anteriores con los usuarios primero, luego migre a otra plataforma.
- Compartimente su aplicación de tal manera que partes de ella se puedan generar automáticamente (sí, invierta en construir un generador).
- Cree API que se pueda reutilizar en todas las plataformas móviles para aplicaciones basadas en datos, pero vaya más allá para habilitar diseños de UI, preferencias y configuraciones y activación de componentes de aplicaciones.