¿Cuál es el proceso de diseño y desarrollo de una aplicación?
- bergmannconnell47q
- May 12, 2020
- 9 min read
Aunque no parezca, las aplicaciones llevan tiempo entre nosotros. Ya antes de comenzar a diseñarlas, deseamos que las conozcas: ¿Cuáles son sus tipos y características? ¿Qué diferencias hay entre ellas y con una web móvil?
Las aplicaciones —también llamadas apps— están presentes en los teléfonos desde hace tiempo; en verdad, ya estaban incluidas en los sistemas operativos de Nokia o bien Blackberry años atrás. Los móviles de esa época, contaban con pantallas reducidas y en muchas ocasiones no táctiles, y son los que ahora llamamos feature phones, en contraposición a los smartphones, más actuales.
En esencia, una aplicación no deja de ser un software. Para entender un tanto mejor el término, podemos decir que las aplicaciones son para los móviles lo que los programas son para los ordenadores de escritorio.
FIGURA seo para wordpress centenares de miles de aplicaciones libres.
Actualmente hallamos aplicaciones de todo tipo, web con wordpress , mas en los primeros teléfonos, estaban enfocadas en prosperar la productividad personal: se trataba de alarmas, calendarios, calculadoras y clientes del servicio de correo.
Hubo un cambio grande con el ingreso de iPhone al mercado, puesto que con él se produjeron nuevos modelos de negocio que hicieron de las aplicaciones algo rentable, tanto para desarrolladores para los mercados de aplicaciones, como App Store, Google Play y Windows Phone Store.
Al mismo tiempo, también mejoraron las herramientas de las que disponían diseñadores y programadores para desarrollar apps, facilitando la tarea de generar una aplicación y lanzarla al mercado, aun por cuenta propia.
desarrollador web sevilla y web móviles
Las aplicaciones comparten la pantalla del teléfono con las webs móviles, mas mientras las primeras deben ser descargadas e instaladas antes de utilizar, a una web puede accederse sencillamente empleando Internet y un navegador; sin embargo, no todas pueden verse correctamente desde una pantalla normalmente más pequeña que la de un PC de escritorio.
Las que se amoldan en especial a un dispositivo móvil se llaman «web responsivas» y son ejemplo del diseño líquido, puesto que se puede pensar en ellas como un contenido que toma la manera del contenedor, mostrando la información según sea preciso. Así, columnas enteras, bloques de texto y gráficos de una web, pueden acomodarse en el espacio de una forma diferente —o aun desaparecer— conforme a si se entra desde un teléfono, una tableta o un PC.
FIGURA 1.2.El diseño «responsivo» se amolda dependiendo del dispositivo donde es visualizado.
Quienes cuentan ya con una «web responsiva» pueden proponerse la necesidad de diseñar una aplicación, pero la contestación a si esto es o no necesario, depende de entender tanto los objetivos de negocio, como las características que diferencian las aplicaciones de las webs.
Por ejemplo, las aplicaciones pueden verse aun cuando se está sin conexión a Internet, además, pueden acceder a determinadas características de hardware del teléfono —como los sensores—, capacidades que en la actualidad están fuera del alcance de las webs. Por lo anterior, puede decirse que una aplicación ofrece una mejor experiencia de empleo, eludiendo tiempos de espera excesivos y logrando una navegación más fluida entre los contenidos.
No hay siempre y en toda circunstancia que seleccionar entre una u otra. Webs y aplicaciones no son competidoras, más bien, pueden complementarse entre ellas; por poner un ejemplo, una web puede ser útil como canal de información para motivar la descarga de la aplicación.
Primero el móvil
Es posible que cuando llegue la hora de diseñar una aplicación ya exista una web como antecedente. publicidad en motores de busqueda , la app tiene que tomar las funciones y contenidos que se han pensando para la web y adaptarlos para que tengan sentido, conforme al tamaño de pantalla y a la manera de interacción de un móvil.
En otros casos, el diseño empieza desde cero, cuando todavía no hay ni web ni aplicación, y hay que decidirse por cuál de ellas comenzar. Aquí es donde adquiere más trascendencia el concepto de mobile first, que implica plantear el proceso de diseño teniendo en cuenta el móvil primeramente.
La ventaja de esta manera de trabajar es que el meditar en el móvil como punto de partida, obliga a concentrarse en lo esencial de un producto y a hacer foco solo en lo que tiene sentido para este dispositivo.
Una vez que la aplicación está diseñada, puede preguntarse cuál es la mejor forma de llevar lo hecho para el teléfono a una pantalla de computador o a otros dispositivos, propagando y escalando el contenido y repensando la diagramación. Todos y cada uno de los dispositivos tienen usos diferentes, y en el momento de adaptar el diseño, hay que tener en cuenta las características particulares de cada uno de ellos de ellos.
Mobile firstes una propuesta de trabajo que ha surgido recientemente; una tendencia emergente que aún está por afianzarse. Actualmente, es solo una manera de encarar el proceso de diseño y como tal, puede evaluarse la comodidad que se tiene trabajando de esta forma antes de comenzar .
El proceso de diseño y desarrollo de una app
El proceso de diseño y desarrollo de una aplicación, abarca desde la concepción de la idea hasta el análisis siguiente a su publicación en las tiendas. Durante las distintas etapas, diseñadores y desarrolladores trabajan —la mayor una parte del tiempo— de forma simultánea y ordenada.
Hemos resumido las fases de este proceso solo desde la perspectiva del diseño y desarrollo, esto es, sin tener en consideración los papeles de coordinación, la participación del cliente del servicio, ni los accionistas de la empresa.
Cada una de las etapas —excepto la de desarrollo— se explica más extensamente en los capítulos siguientes, detallando procesos y metodologías para ir avanzando entre ellas.
FIGURA 1.3.El proceso de diseño abarca diferentes etapas donde diseñador y desarrollador trabajan simultáneamente, con más o bien menos carga de trabajo en dependencia del instante.
1. CONCEPTUALIZACIÓN
El resultado de esta etapa es una idea de aplicación, que tiene presente las necesidades y problemas de los usuarios. La idea responde a una investigación preliminar y a la posterior comprobación de la aptitud del término.
Ideación
Investigación
Formalización de la idea
2. DEFINICIÓN
En este paso del proceso se describe con detalle a los usuarios para quienes se diseñará la aplicación, utilizando metodologías como «Personas» y «Viaje del usuario». También aquí se sientan las bases de la funcionalidad, lo que determinará el alcance del proyecto y la complejidad de diseño y programación de la app.
Definición de usuarios
Definición funcional
3. DISEÑO
En la etapa de diseño se llevan a un plano tangible los conceptos y definiciones anteriores, primero en forma de wireframes, que dejan crear los primeros prototipos para ser probados con usuarios, y posteriormente, en un diseño visual acabado que será proveído al desarrollador, en forma de archivos separados y pantallas modelo, para la programación del código.
Wireframes
Prototipos
Test con usuarios
Diseño visual
4. DESARROLLO
El programador se encarga de dar la vida a los diseños y crear la estructura sobre la cual se apoyará el funcionamiento de la aplicación. Cuando existe la versión inicial, dedica gran parte del tiempo a corregir errores funcionales para asegurar el correcto desempeño de la aplicación y la prepara para su aprobación en las tiendas.
Programación del código
Corrección de bugs
5. PUBLICACIÓN
La aplicación es finalmente puesta a disposición de los usuarios en las tiendas. Luego de este paso trascendental se realiza un seguimiento a través de analíticas, estadísticas y comentarios de usuarios, para evaluar el comportamiento y desempeño de la app, corregir fallos, efectuar mejoras y actualizarla en futuras versiones.
Lanzamiento
Seguimiento
Actualización
Tipos de aplicaciones según su desarrollo
A nivel de programación, existen varias formas de desarrollar una aplicación. Cada una de ellas tiene diferentes características y restricciones, especialmente desde el punto de vista técnico.
Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el género de aplicación que se escoja, condicionará el diseño visual y la interacción.
APLICACIONES NATIVAS
Las aplicaciones nativas son aquellas que han sido desarrolladas con el software que ofrece cada sistema operativo a los programadores, llamado genéricamente Software Development Kito SDK. Así, Android, iOS y Windows Phone tienen uno diferente y las aplicaciones nativas se diseñan y programan específicamente para cada plataforma, en el lenguaje empleado por el SDK.
Este género de aplicaciones se descarga e instala desde las tiendas de aplicaciones —con ciertas excepciones en el caso de Android, que vamos a ver en el capítulo «Lanzando la app»— sacando buen partido de las diferentes herramientas de promoción y marketing de cada una de ellas.
Las aplicaciones nativas se actualizan frecuentemente y en esos casos, el usuario debe regresar a descargarlas para conseguir la última versión, que en ocasiones corrige fallos o añade mejoras.
Una característica en general menospreciada de las apps nativas, es que pueden hacer uso de las notificaciones del sistema operativo para enseñar avisos importantes al usuario, incluso cuando no se esté usando la aplicación, como los mensajes de Whatsapp, por poner un ejemplo.
FIGURA 1.4.Las aplicaciones nativas dejan aprovechar el sistema de notificaciones.
Además, no requieren Internet para marchar, por lo que ofrecen una experiencia de uso más fluida y están realmente integradas al teléfono, lo que les permite usar todas las características de hardware del terminal, como la cámara y los sensores (GPS, acelerómetro, giróscopo, entre otros muchos).
A nivel de diseño, esta clase de aplicaciones tiene una interfaz basada en las guías de cada sistema operativo, logrando mayor congruencia y consistencia con el resto de aplicaciones y con el propio SO. Esto favorece la usabilidad y favorece directamente al usuario que encuentra interfaces familiares.
APLICACIONES WEB
La base de programación de las aplicaciones web —también llamadas webapps—es el HTML, juntamente con JavaScript y CSS, herramientas ya conocidas para los programadores web.
En este caso no se emplea un SDK, lo que permite programar de forma independiente al sistema operativo en el cual se usará la aplicación. Por eso, estas aplicaciones pueden ser fácilmente usadas en diferentes plataformas sin mayores inconvenientes y sin necesidad de desarrollar un código diferente para cada caso en particular.
Las aplicaciones web no precisan instalarse, ya que se visualizan utilizando el navegador del teléfono como un sitio web normal. Por esta misma razón, no se distribuyen en una tienda de aplicaciones, sino se comercializan y promocionan de forma independiente.
Al tratarse de aplicaciones que marchan sobre la web, no es necesario que el usuario reciba actualizaciones, ya que siempre y en toda circunstancia estará viendo la última versión. Pero, a diferencia de las aplicaciones nativas, precisan de una conexión a Internet para funcionar apropiadamente.
FIGURA 1.5.Facebook cuenta tanto con una webapp como con una aplicación nativa.
Adicionalmente, tienen ciertas limitaciones y también inconvenientes en factores importantes como gestión de memoria y no permiten aprovechar al máximo la potencia de los diferentes componentes de hardware del teléfono.
Las aplicaciones web acostumbran a tener una interfaz más genérica y también independiente de la apariencia del sistema operativo, con lo que la experiencia de identificación del usuario con los elementos de navegación y también interacción, suele ser menor que en el caso de las nativas.
APLICACIONES HÍBRIDAS
Este tipo de aplicaciones es una especie de combinación entre las 2 precedentes. La manera de desarrollarlas es similar a la de una aplicación web —usando HTML, CSS y JavaScript—, y cuando la aplicación está terminada, se compila o empaqueta de forma tal, que el resultado final es tal y como si se tratase de una aplicación nativa.
Esto deja casi con un mismo código obtener diferentes aplicaciones, por servirnos de un ejemplo, para Android y iOS, y distribuirlas en cada una de sus tiendas.
A diferencia de las aplicaciones web, estas permiten acceder, usando librerías, a las capacidades del teléfono, tal y como lo haría una app nativa.
FIGURA 1.6.Netflix tiene una aplicación híbrida que se ve prácticamente igual en iOS y en Android.
Las aplicaciones híbridas, también tienen un diseño visual que no se identifica en gran medida con el del sistema operativo. Sin embargo, hay formas de emplear controles y botones nativos de cada plataforma para apegarse más a la estética propia de cada una.
Existen ciertas herramientas para desarrollar este tipo de aplicaciones. Apache Cordova es una de las más populares, pero hay otras, como Icenium , que tienen exactamente la misma finalidad.
¿CUÁL DEBERÍAS USAR?
Dadas las características de cada una de las aplicaciones, decidirse por una u otra estará determinado por unos pocos factores fundamentales y por la manera en que afectan finalmente la experiencia de empleo. Cuando la disponibilidad de la app sin Internet, la posibilidad de utilizar notificaciones y el acceso a los recursos de hardware del teléfono sean importantes, una aplicación nativa será la opción más indicada.
Si ninguna de estas cosas es verdaderamente esencial para la aplicación, quizás sea más fácil diseñar una aplicación web, si es que ya se dispone del conocimiento para ello, heredado del desarrollo de sitios web. En este caso, el costo de desarrollo es más bajo y la forma de trabajar un poco más ágil.
Independientemente de esto, las aplicaciones nativas son las que ofrecen una mejor experiencia de uso y sobre todo, rendimiento. Ciertas apps como Facebook o LinkedIn, que ya antes eran híbridas, han pasado a ser nativas por esta razón. De manera adicional, ellas responden más a las guías de diseño de cada sistema operativo.
Por lo anterior, nos enfocaremos en las aplicaciones nativas. De aquí en adelante, y por el resto de los capítulos que quedan por venir, vamos a estudiarlas, conocerlas y a ver qué las hace diferentes.
Para obtener más información sobre los costos de desarrollo de aplicaciones, puede comunicarse con nosotros de forma directa en la sección de
Fuente:
Comments