7.5: Crear una app
- Page ID
- 67129
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)¿REALMENTE necesitas uno?
Ya hemos analizado por qué es posible que no quieras usar una app y qué tipo de valor necesitas para poder ofrecer a tu consumidor. Antes de decidirte a hacer una, ignora a todas las personas que te dicen que una app es una necesidad básica. Piense en lo siguiente:
- ¿Puedes definir en una oración lo que quieres que logre tu app?
- ¿Qué problema resuelve tu app? ¿Cómo puede tu app mejorar las cosas para tu usuario?
- ¿Qué le puedes dar a tu consumidor que no pueda obtener de otra app?
- ¿Tu mercado objetivo descarga y usa aplicaciones? ¿Usarán tu app?
- ¿Tienes suficiente contenido atractivo para que sigan regresando?
Lee más sobre sitios web receptivos en el capítulo Desarrollo y diseño web.
- ¿Te ayudará a vender muchos más productos/servicios?
- ¿Cuánto estás dispuesto a invertir? Recuerda, las aplicaciones son caras. ¿Podrías arreglártelo con solo un sitio web responsive?
Planeación
Una vez que hayas decidido que realmente necesitas una app, es el momento de meterte en el proceso de planearla.
Elegir una plataforma
Incluso antes de elegir un desarrollador de aplicaciones, necesita saber para qué sistema operativo desarrollará. Desarrollar para múltiples sistemas operativos (SO) a la vez puede resultar costoso; por lo que muchas empresas comienzan con uno y luego se expanden si la aplicación es un éxito. Generalmente, esto implica hacer estudios de mercado para averiguar qué tipo de SO tienen más probabilidades de usar sus usuarios. Los más comunes, por supuesto, son Android e iOS.
Esta investigación es importante, si construyes tu aplicación para el sistema operativo incorrecto, estás fallando incluso antes de comenzar. Por ejemplo, el iPhone es muy común en mercados desarrollados como Estados Unidos, pero Android es mucho más popular en los mercados en desarrollo y de hecho está ganando cuota de mercado de Apple.
En estos días, Android tiene la mayor participación de mercado, pero hay un argumento que hacer para desarrollar primero para iOS. Echa un vistazo a estos pros y contras (Savvy Apps Blog, 2016).
Android | iOS | |
Demografía de la audiencia | Gran plataforma compartida, común en países en desarrollo y áreas con menores ingresos | Tienden a tener mayores ingresos y gastar más por app. Puede mostrar más compromiso |
Ingresos | Más aplicaciones con publicidad | Más aplicaciones pagas |
OS versión U | Los usuarios no adoptan nuevas versiones de SO rápidamente | Los usuarios adoptan nuevas versiones rápidamente |
Características | Similar a iOS, pero puede involucrar más funciones | Similar, pero menos características |
Comience por averiguar en qué plataforma tienen más probabilidades de estar sus usuarios objetivo. Después de eso, considere los demás elementos.
Historias de usuarios
Antes de contratar a un desarrollador de aplicaciones, debes tener una descripción de una frase de lo que quieres que logre tu aplicación. A partir de eso, considerarás qué tipo de características incluirá tu app. Sin embargo, eso por sí solo no es suficiente para que tus desarrolladores sepan cómo quieres que se vea el producto final. La solución: Historias de usuarios. Una historia de usuario es una descripción breve y sencilla de una de las características de tu app. Esto debe ser dicho por el punto de vista de tu usuario, la persona que quiere usar esa función. Se ven así:
Como [tipo de usuario/persona de cliente], quiero [objetivo/objetivo — lo que quieren hacer] para que [razón/beneficio/valor].
Esto cubrirá para quién está construyendo la función, cuál es la función y por qué la está construyendo. Por ejemplo:
Como amante de la comida, quiero sacar reseñas de restaurantes para poder elegir el mejor lugar para comer.
Como persona hambrienta, quiero encontrar indicaciones para llegar al restaurante más cercano para que pueda comer ahora mismo.
Para móviles, es posible que también desee considerar dónde y cuándo sus usuarios están usando la aplicación. Su historia de usuario incluiría entonces un elemento where/ when.
Como alguien a quien le encanta cocinar, quiero encontrar recetas para mi comida favorita de restaurante para poder hacerla yo mismo en casa.
Escribe tantas historias de usuario para tu aplicación como puedas y dáselas a tu desarrollador de aplicaciones. Esto les ayudará a crear exactamente la app que deseas.
Timing
Desarrollar una aplicación puede tomar al menos tres a seis meses, dependiendo de las complejidades involucradas. El back-end tiende a tardar más tiempo que el front end en desarrollarse (ver más abajo). El tiempo puede verse afectado, entre otras cosas, por:
- presupuesto
- intención (¿es esta una aplicación a largo plazo o una pequeña campaña específica?)
- número de características
- tamaño del equipo.
Las aplicaciones de Android pueden tardar más en desarrollarse que las aplicaciones iOS. Asegúrate de tener esto en cuenta cuando decidas una fecha de finalización deseada para tu aplicación.
Front-end y back-end
Piense en el proceso de UX y cómo se verá la aplicación (front-end) antes de que comience el desarrollo. Después de tener prototipos en funcionamiento, puede pensar en qué tipo de información necesita de sus usuarios (back-end).
El desarrollo front-end implica:
- Mock ups y wireframing
- Prototipado
- Diseño y desarrollo de la interfaz de usuario
- Acceso remoto a los datos
- Almacenamiento en caché de datos (almacenamiento de datos localmente)
- sincronización de datos de aplicaciones para que se pueda acceder a la aplicación sin conexión
- Pruebas
- Despliegue.


El desarrollo back-end implica:
- Acceso seguro a datos a través de la red.
- Administración de bases de datos (incluyendo datos de usuario y otros tipos de datos), cuentas de usuario y autenticación.
- Escalando su base de datos para manejar un número creciente de usuarios y evitar que se bloquee por sobrecarga.
- Personalización de la experiencia del usuario y cómo el usuario pasa por la aplicación (relevante para el diseño de UX).
- Integración de datos, cómo los usuarios comparten información con sitios web de terceros.
- Envío de datos a dispositivos front-end (notificaciones push).
Los desarrolladores front-end y back-end necesitan colaborar porque necesitan interactuar con los servidores para enviar y recibir datos hacia y desde los servidores, lo que ocurre cuando comienzan a implementar la funcionalidad de la aplicación.
Pruebas
La creación de aplicaciones debe ser un proceso iterativo. A medida que se desarrolla la aplicación, cada elemento debe evaluarse y mejorarse en la medida de lo posible, lo que significa que prototipo algo, lo prueba, recibe comentarios y lo envía de vuelta a los desarrolladores para implementar mejoras. Incluso después de que se lanza la aplicación, el proceso continúa a medida que llegan los comentarios de los usuarios. Recuerda, tu app es un producto o al menos un punto de contacto con el consumidor que necesita ser administrado.

Antes del lanzamiento, deberá ejecutar pruebas de usabilidad, pruebas de garantía de calidad y pruebas beta cuando una muestra de su público objetivo pruebe la aplicación.