Costo y proceso de desarrollo de aplicaciones móviles
Costo / proceso de desarrollo de aplicaciones para el iPhone, costo / proceso de desarrollo de aplicaciones para Android
A menudo los clientes me piden que les proporcione un costo aproximado para desarrollar una aplicación, para que puedan decidir sobre un presupuesto o acercarse a los inversores para recaudar dinero para el proyecto de aplicación.
En este artículo, voy a repasar el proceso de desarrollo de aplicaciones móviles, los diferentes requisitos de talento, y los elementos que afectan el desarrollo de aplicaciones móviles.
Proceso de desarrollo de aplicaciones móviles
Los siguientes elementos muestran el proceso típico de desarrollo de aplicaciones móviles:
- Wireframing – El wireframing es un proceso importante de construcción de una app; esto es porque construirá la base de cómo la app necesita ser diseñada y funcionar. Una cosa importante a tener en cuenta es que con las aplicaciones móviles, será mucho más lento y costoso rehacer las pantallas o reconstruir la funcionalidad que una aplicación web, por lo que es importante construir los wireframes antes de comenzar el desarrollo. Durante el wireframing, un especialista en UX de aplicaciones y un desarrollador de aplicaciones necesitan tener sesiones de descubrimiento (lluvia de ideas) con el propietario del proyecto para planificar cómo se va a diseñar y funcionar la aplicación. Para completar el wireframing, un especialista en UX de aplicaciones dibujará la navegación, las pantallas, y todos los elementos que van en las pantallas de la aplicación y anotando las funcionalidades de cada pantalla.
- Diseño de la pantalla de la aplicación – Diseñar las pantallas de la aplicación (front-end) tanto para iOS como para Android.
- Programación de la App – Programar las pantallas de la app (front-end) tanto para iOS como para Android.
- Marco de la aplicación / base de datos – Configuración del marco del lado del servidor de la aplicación (nube / back-end) y creación de la estructura de la base de datos.
- Programación de la aplicación del lado del servidor – Escribir todo el código del lado del servidor para implementar la funcionalidad del back-end.
- Desarrollo de APIs – Escribir todas las APIs que conectan las pantallas de la app con la aplicación del lado del servidor y la base de datos.
- Control de calidad de la usabilidad – Probando las pantallas de la aplicación para los errores y la fijación de cualquier problema.
- Control de calidad multiplataforma, multidispositivo, versiones del sistema operativo, resoluciones – Probar la aplicación en todas las plataformas diferentes (iPhone, Android, Windows Phone) y diferentes versiones del sistema operativo de cada plataforma (Apple iOS tiene dos versiones populares: iOS 8 y iOS 7, el sistema operativo Android tiene cinco versiones populares (Android 4.1,4.2,4.3,4.4,5.0), Diferentes resoluciones de los diferentes dispositivos móviles (entre los diferentes dispositivos de los teléfonos inteligentes, phablets y tabletas, hay bastantes resoluciones para probar y puede llevar mucho tiempo).
- Back-end QA Probar el código de back-end para el rendimiento y la seguridad.
- Configuración de la nube – Desplegar la aplicación del lado del servidor al servidor / nube.
- Enviar a las App Stores – Desplegar la aplicación en las App Stores.
Talento necesario para construir una aplicación móvil de calidad
Construir una aplicación móvil de calidad requiere muchos pasos y requiere diferentes talentos con diferentes especialidades:
- Para el wireframing, un especialista en UX (User Experience) que tenga experiencia en la construcción de pantallas de apps con la mejor experiencia de usuario. Un especialista en UX debe conocer las convenciones de la app y las reglas para mostrar la navegación y los elementos en las pantallas facilitando que los usuarios naveguen mejor por la app y encuentren lo que necesitan, en la prioridad correcta.
- Para diseñar las pantallas de la aplicación, el diseñador debe saber cómo diseñar para diferentes dispositivos: pantallas de iPhone, Android y Windows Phone. En definitiva, el Diseñador debe tener la experiencia y la visión de cómo se van a ver los diferentes objetos o elementos gráficos en pantallas de teléfonos pequeños y con diferentes resoluciones. El Diseñador también debe utilizar el tamaño correcto, los gráficos e iconos adecuados y los temas para la aplicación.
- Para programar las pantallas de la app, el Programador necesita tener experiencia en el uso del entorno Xcode con Objective-C o Swift para iOS, y Java para Android. Normalmente, los programadores se especializan en el desarrollo de iOS o en el de Android.
- Para escribir la aplicación del lado del servidor y las API, el Programador necesita tener experiencia en la escritura de código mantenible con la mejor seguridad y rendimiento.
- Para el control de calidad, el especialista en control de calidad y probador debe estar orientado al detalle y tener experiencia en la búsqueda de la funcionalidad y los problemas de diseño que normalmente no son fáciles de ver por los desarrolladores.
- El despliegue de la aplicación del lado del servidor va más allá de ser un desarrollador o un programador; requiere un programador experimentado y un especialista en la nube, a veces denominado DevOps. El DevOps necesita tener experiencia en la instalación de la aplicación, crear un entorno de servidor fiable, la redundancia de la base de datos, la copia de seguridad, la seguridad, el rendimiento y la escalabilidad de la aplicación.
- El despliegue de la aplicación en la tienda de aplicaciones suele ser una tarea sencilla.
Por lo tanto, cuando se analizan los requisitos de talento de la construcción de una aplicación, te darás cuenta de que para construir una aplicación de calidad que está bien diseñado, fácil de usar, funcional y escalable, necesitarás diferentes talentos con diferentes experiencias y especialidades, y esto puede añadir un costo sustancial al proyecto de la aplicación.
Coste aproximado de desarrollo de aplicaciones móviles
Basado en todos los talentos que se necesitan y todo el trabajo y el proceso que va en la construcción de una aplicación, he creado a continuación, una estimación del coste aproximado en la construcción de aplicaciones.
Para leer más sobre el desarrollo de aplicaciones nativas vs desarrollo de aplicaciones híbridas, haga clic en el siguiente enlace:
https://www.comentum.com/phonegap-vs-native-app-development.html
MVP: Producto Mínimo Viable
Proyecto | Pequeño MVP | Pequeña Empresa | Medio MVP | Empresa mediana | Gran MVP | Gran empresa |
Descubrimiento y Wireframing | 1,500 | $2,500 | $2,500 | $3,500 | $5,000 | $9,000 |
Diseños de pantallas de aplicaciones | $2,000 | $3,000 | $3,500 | $5,000 | $5,000 | $9,000 |
Desarrollo nativo de iOS | $9,000 | $11,000 | $37,000 | $45,000 | $60,000 | $90,000 |
Desarrollo nativo de Android | 9.000$ | 11.000$ | 37.000$ | 45.000$ | 60.000$ | 90,000 |
Programación de back-end, base de datos y APIs | $5,000 | $7,000 | $9,000 | $10,000 | $12,000 | $12,000 |
Administración de aplicaciones | N/A | $7,500 | 9.000$ | 15.000$ | 10.000$ | 20.000$ |
Aseguramiento de la calidad y perfeccionamiento de iOS | 2,000 | $2,500 | $5,000 | $6,500 | $7,000 | $9,000 |
Aseguramiento de la calidad y refinamientos Android | $2,000 | $2,500 | $5,000 | $6,500 | $7,000 | $9,000 |
Despliegue y Nube | $1,500 | $2,000 | $2,000 | $3,000 | $2,000 | $3,000 |
Total (Una Plataforma) | $21,000 | $35,500 | $68,000 | $81,000 | $101,000 | $152,000 |
Total (Android y iPhone) | $32,000 | $49,000 | $110,000 | $125,500 | $168,000 | $251,000 |
Proyecto | Pequeño MVP | Pequeña Empresa | Medio MVP | Empresa mediana | Gran MVP | Gran empresa |
Descubrimiento y Wireframing | 1,500 | $2,500 | $2,500 | $3,500 | $5,000 | $7,500 |
Diseños de pantallas de aplicaciones | $2,000 | $3,000 | $3,500 | $6,000 | $5,000 | $9,000 |
Desarrollo de Apps Híbridas con tecnología PhoneGap | $10,000 | $12,000 | $38,000 | $45,000 | $65,000 | $100,000 |
Programación de Back-end, Base de datos y APIs | $5,000 | $7,000 | $9,000 | $10,000 | $12,000 | $12,000 |
Administración de aplicaciones | N/A | $7,500 | $9,000 | $15,000 | $10,000 | $20,000 |
Aseguramiento de la calidad y refinamientos | $2,000 | $4,000 | $5,000 | $7,000 | $9,000 | $11,000 |
Despliegue y nube | $1,500 | $2,500 | $2,000 | $3,000 | $2,000 | $3,000 |
Total (Android & iPhone) | 22.000$ | 38.500$ | 69$,000 | 89,500$ | 108,000$ | 162,500$ |
Factores de coste de desarrollo de aplicaciones móviles
El coste de desarrollo de una aplicación móvil se basa en estos factores:
1. Plataformas y entorno de la app
Construir para todas las plataformas aumenta sustancialmente el coste. Esto se debe a que el iPhone de Apple utiliza el IDE Xcode y el lenguaje de programación Objective-C o Swift, Android utiliza el lenguaje de programación Java y Windows utiliza el lenguaje de programación C#.
Si el desarrollador necesita construir la app para todas las plataformas, y la app necesita ser construida usando el lenguaje de programación nativo de cada plataforma, el coste de desarrollo se duplicará o triplicará debido a la cantidad de tiempo que se necesita para construir la app usando diferentes lenguajes de programación de cada plataforma.
Si la aplicación se puede construir utilizando la tecnología de desarrollo híbrido, el desarrollador puede construirla una vez utilizando, por ejemplo, HTML5, CSS y JavaScript y utilizar PhoneGap para preparar la aplicación para todas las plataformas. Esto puede reducir el costo sustancialmente, de la construcción para todas las plataformas.
Para leer más sobre las diferencias entre el desarrollo de aplicaciones nativas y el desarrollo de aplicaciones híbridas, utilice el siguiente artículo enlazado:
Desarrollo de Apps nativas vs Desarrollo de Apps híbridas / PhoneGap
2. Personalizaciones vs uso de Widgets y Convención de Apps estándar
Cuantas más personalizaciones hagas, más tiempo te llevará desarrollar tu app.
Además, es bueno saber que el entorno de desarrollo de apps para cada plataforma proporciona ciertos widgets para construir la convención estándar como la navegación, el cambio de pantallas, las animaciones y otros elementos de interacción con el usuario de la app. Al utilizar la convención estándar, el coste de desarrollo de la app será más rentable.
3. Número de pantallas de la app
El número de pantallas tiene un impacto directo en el coste; cuantas más pantallas tenga, más trabajo supondrá la construcción de la app.
4. Complejidad de las pantallas
Se recomienda construir pantallas más limpias (y menos recargadas) con una navegación sencilla que utilice las convenciones estándar de la app. Esto proporcionará la mejor experiencia de usuario y reduce el coste de desarrollo.
Si construyes pantallas recargadas con muchos elementos de navegación complejos, el coste de desarrollo de la app será mayor
5. Comercio electrónico y compras dentro de la aplicación
Cada vez que se trabaja con dinero, el desarrollador debe tener especial cuidado con los cálculos y la seguridad.
Así pues, las compras dentro de la aplicación y el manejo de dinero añaden más tiempo al desarrollo porque se necesita tiempo extra para asegurarse de que los cálculos son precisos y la aplicación es segura.
Incluso después de completar el desarrollo, recomendaría hacer pruebas adicionales sobre las transacciones para garantizar la exactitud de los cálculos antes de salir al mercado con la aplicación.
6. Integración con las API de terceros
Cuando la app necesita comunicarse con otros servicios, el desarrollador necesita aprender e interactuar con las API de terceros.
Esto requerirá un tiempo extra para aprender las APIs de terceros e implementarlas correctamente. En muchos casos, el desarrollador no puede evaluar la cantidad de trabajo que implica la interfaz con las API de terceros hasta que pase algún tiempo aprendiendo la API y la interfaz con ella.
7. Animación compleja
Las animaciones y juegos personalizados y complicados pueden llevar un tiempo de desarrollo considerable.
Las animaciones complicadas que no proporcionan ningún propósito práctico también pueden ralentizar su aplicación y frustrar al usuario. Por lo tanto, trate de mantenerse alejado de las animaciones complicadas que no tienen ningún propósito práctico.
8. Soporte para múltiples resoluciones de pantalla móvil
Hay tres tipos de dispositivos móviles:
- Smartphones – ejemplos: Apple iPhone 3,4,5,6 o Samsung Galaxy S2, S3, S4, S5, o LG Nexus 4, 5.
- Phablets (el tamaño de la pantalla está entre Smartphone y Tablets), ejemplos: Apple iPhone 6 Plus o Motorola Nexus 6.
- Ejemplos de Tablets: Apple iPad varias versiones, mini varias versiones, Air, Samsung Galaxy Tab (varias versiones)
Todos los dispositivos anteriores tienen diferentes resoluciones de pantalla. Para las versiones más nuevas del sistema operativo de los dispositivos, hay maneras de cambiar el tamaño del contenido para que se adapte a la mayoría de las pantallas, pero construir interfaces personalizadas para soportar todas las resoluciones de pantalla puede ser muy lento y costoso.
9. Compatibilidad con todas las versiones del sistema operativo (SO) de los dispositivos
A continuación se muestra la lista de todas las versiones del SO de los dispositivos móviles y todas las versiones populares del SO. Si usted está buscando para apoyar a todas las versiones del sistema operativo de todos los dispositivos, el costo será mucho mayor.
Yo recomendaría seleccionar sólo las versiones populares del SO de los dispositivos a soportar.
- Dispositivos móviles de Apple El SO móvil de Apple se llama iOS. iOS tiene versiones que van desde la versión 1.0 hasta la 8.0 (lanzada en septiembre de 2014).
A continuación se muestra la lista de versiones populares de iOS, y los porcentajes aproximados de su cuota de mercado en febrero de 2015:- iOS 8: 80%
- iOS 7: 19%
- Dispositivos móviles de Android El sistema operativo Android tiene versiones que van desde la 2.2 hasta la 5.0 (lanzada en noviembre de 2014) En febrero de 2015, las versiones populares del sistema operativo Android son: (los porcentajes son aproximados)
- Android OS 4.4: 60%
- Android OS 4.3: 7%
- Android OS 4.2: 13%
- Android OS 4.1: 12%
- Android OS 5.0: 5%
- Dispositivos Windows Mobile Microsoft Phone OS tiene versiones que van de la 7 a la 8 (lanzada en octubre de 2012) En este momento no tengo datos suficientes para proporcionar el porcentaje aproximado de la cuota de mercado de cada versión.
10. Soporte offline
Desarrollar para la funcionalidad de soporte offline puede llevar mucho tiempo y a su vez aumentará el coste de desarrollo.
11. Continuidad / Función Handoff
La función Handoff proporciona la funcionalidad de conectar y compartir / mover información y datos entre diferentes dispositivos.
La construcción de la funcionalidad handoff puede llevar mucho tiempo y puede añadir un coste sustancial al proyecto.
La investigación para este artículo se completó el 24 de febrero de 2015; la información puede cambiar.
Leave a Reply