Diseño y Desarrollo de Una App
Diseño y Desarrollo de Una App
Diseño y Desarrollo de Una App
El desarrollo de aplicaciones para dispositivos móviles requiere tener en cuenta las limitaciones de
estos dispositivos. Los dispositivos móviles funcionan con batería y las principales características
que se deben considerar son: gran variedad de tamaños de pantalla, datos específicos de software
y hardware como también distintas configuraciones. El desarrollo de aplicaciones móviles requiere
el uso de entorno de desarrollo integrados.
Las aplicaciones móviles pueden aprovechar mucho más el contexto en el que se ejecutarán, sobre
todo si se comparan con las aplicaciones tradicionales. Ello se debe a diferentes factores, entre los
que se encuentran las capacidades actuales en hardware de los dispositivos, o la capacidad de
acceder a la información del usuario a la que el propio dispositivo tiene acceso. Los dispositivos
actuales aportan mucha información sobre el entorno del usuario. Por ejemplo, aportan
información sobre la posición geográfica del mismo, lo cual permite desarrollar aplicaciones
basadas en la localización, conocidas como (LBS o servicios basados en localización), un ejemplo de
tales aplicaciones es el Waze. Así mismo, existen otras informaciones (como por ejemplo,
orientación, presión, luz, etc.). La posibilidad de grabar imágenes, vídeos, y audio también aportan
información sobre el entorno del contexto del usuario (por ejemplo, aplicaciones que reaccionan
al habla o las de realidad aumentada).11
Las aplicaciones móviles suelen ser probadas, en primer lugar, usando emuladores, y más tarde se
ponen en el mercado en periodo de prueba. Actualmente, un gran número de empresas se dedica
a la creación profesional de aplicaciones. Aun así, han surgido páginas web como Mobincube,
donde un usuario común puede crear aplicaciones de manera gratuita y sin conocimiento de
programación; y plataformas como Yeeply, que te ayuda a encontrar desarrolladores y hacer de
guía para crear tu app móvil.12
A. Conceptualización
La aplicación parte de una idea que permita cubrir una necesidad o facilitar una actividad en el
mundo real de un determinado sector de población en función de sus necesidades y problemas. La
idea debe responder a las exceptivas factibles y concretas, lo que implica la necesidad de realizar
un análisis prospectivo de la viabilidad del concepto que se quiere crear.
B. Definición
a. Interacción y patrones.
b. Diseño visual:
* Identidad visual.
* Retícula de maquetado.
* Animación de la App
b. Apps híbridas (nativas de diseño y navegación compartida): los diseños de flujos, navegación y
gráficos comparten un porcentaje elevado de elementos en común lo que permite reducir
tiempos y costes pero resulta indispensable seguir la normativa, con la menor desviación posible,
tanto de Apple, como de Google, Windows y Blackberry, para no romper la experiencia y
navegabilidad intuitiva de los usuarios de cada plataforma.
c. Diseño de aplicaciones nativas específicas para cada plataforma: requiere diseñar tantas veces
como plataformas a programar. No obstante, algunos elementos son comunes y reutilizables, pero
implica un mayor coste de diseño y desarrollo, si bien es el más óptimo y el que más aprovecha las
funcionalidades de aplicaciones y dispositivos.
* Adaptación por padding: en las hojas de estilo CSS3 para HTML y HTML5, el atributo padding
es el que crea un espacio por dentro de la caja a la que se aplica sin que se toque o supere su
borde, con objeto de adaptarse a la superficie de visualización. No tiene apenas coste de diseño
pues se puede construir en su mayoría por programación.
* Diseño específico: es lo ideal para, pero dependerá mucho de los requisitos de la app. Implica
rediseñar cada pantalla para obtener el rendimiento de las tabletas. Lógicamente tiene un coste
de diseño específico.
Finalizada esta etapa es conveniente realizar diversos test con usuarios y dispositivos con el
objetivo de conocer el comportamiento de la aplicación y mejorar aspectos de usabilidad.
D. Desarrollo
El programador, en función del tipo de aplicación diseñada se encarga de dar vida a los diseños y
crear la estructura sobre la cual se apoyará el funcionamiento de la aplicación, creando el código
funcional mediante un lenguaje de programación. Existen varios lenguajes de programación entre
los que destacan:
* Para Android: inicialmente Java, también Visual Basic y Basic4Android que es un desarrollo
posterior especialmente indicado para desarrolladores de Android.
* Para IOS: Objective-C, Python y, últimamente, Swift que es un novedoso lenguaje mucho más
veloz y versátil que los citados anteriormente.
En 2014 llegó una herramienta para crear aplicaciones para Android o iOS sin programar,
CreaTusApps. Dejó de ser necesario usar entornos de programación para realizar aplicaciones
móviles.
E. Publicación
Una aplicación se publica tras un período de pruebas, su correcto y estable funcionamiento, sin
errores de usabilidad y diseño, y cumpliendo las políticas y requerimientos de las tiendas. Durante
toda la vida útil de la aplicación, es necesario un seguimiento analítico, estadístico y de
comentarios de usuarios. El fin es evaluar el comportamiento y funcionalidad de la app, detectar y
corregir errores, y realizar mejoras o actualizaciones.
d. Por la edad de destino de los usuarios del contenido: El App Store establece una clasificación
del contenido por tramos de edades de “4+, 9+, 12+ y 17+”, que limita el acceso a la descarga de
dicha aplicación.
Distribución
Tiendas de aplicaciones
Existen diferentes tipos de tiendas para descargar aplicaciones, estas pueden ser creadas por el
mismo sistema operativo o por independientes. Las tiendas organizan las aplicaciones y cada una
tiene normas diferentes de retribución y publicación. Para la distribución de aplicaciones móviles
existen diferentes plataformas distribuidoras:
Google Play
Google Android.
La App Store fue el primer servicio de distribución de aplicaciones, siendo lanzada el 10 de julio de
2008. En 2016, el CEO de Apple, Tim Cook, anunció que existen 2.000.000 aplicaciones disponibles
para dispositivos con iOS.15 Desde su creación en 2008, más de un millón de aplicaciones
estuvieron disponibles en el App Store. Numerosas empresas utilizan este canal para distribuir las
aplicaciones colaborativas, de gestión y de productividad a los usuarios externos e internos.
Apple transformó el mercado de las aplicaciones para dispositivos móviles, estrenándose con un
pequeño catálogo de solamente 500 aplicaciones y logrando en cuatro días 10 millones de
aplicaciones descargadas.
En julio de 2012, Apple creó App Store Volume purchasing for business. Disponible únicamente en
EE. UU., este programa permite a las empresas comprar aplicaciones en grandes cantidades con el
fin de distribuirlas a sus colaboradores a través de códigos promocionales. Es posible también
integrar en esta tienda "business to business", aplicaciones desarrolladas por terceros y que no
son publicadas en el App Store clásico.
Windows Store
La Windows Store es la plataforma de distribución de Microsoft para los dispositivos que cuentan
con el sistema operativo móvil Windows Phone. Fue lanzado en octubre de 2010. Para octubre de
2012, contaba con 120 000 aplicaciones disponibles.16 En mayo de 2013 Microsoft anunció que ya
contaba con 145 000 aplicaciones en Windows Phone Store17
BlackBerry World
Las aplicaciones para los dispositivos BlackBerry se encuentran disponibles mediante descarga a
través del servicio BlackBerry World (antes BlackBerry App World). Fue lanzada el 1 de abril de
2009. En julio de 2011 se reportaron tres millones de descargas al día.[cita requerida]
Amazon Appstore
La Amazon Appstore es una aplicación móvil de distribución de software disponible para los
dispositivos con sistema operativo Android. Fue lanzada en marzo de 2011, contando con 3 800
aplicaciones.18
F-Droid
F-Droid es un repositorio de aplicaciones para Android que incluye únicamente software libre y de
código abierto. Fue fundado en 2010 por Ciaran Gultnieks.
Origen de las aplicaciones móviles
Investigando sobre sus orígenes, no existe un criterio único aceptado por la comunidad
tecnológica sobre el origen de las aplicaciones como tal. Sin embargo, se pueden situar en las
primeras aplicaciones de videojuegos, de tonos de llamada, calendario y agenda implementados
en los teléfonos celulares o móviles de segunda generación de los años 90. Eran los denominados
teléfonos básicos de pantallas reducidas, la mayoría de ellas no táctiles.7
El popular Tetris fue el primer juego instalado en el año 1994 en un teléfono móvil de manufactura
danesa, el Hagenuk mt-2000. Tres años más tarde, Nokia lanzó el juego de mayor aceptación hasta
el momento el Snake cuyo desarrollo se basa en Arcade Blockade. Este juego y sus variantes fue
preinstalado en más de 350 millones de dispositivos móviles de la marca finlandesa. El modelo
6110 fue el primer videojuego que permitía el uso compartido de dos jugadores utilizando el
puerto infrarrojo. A día de hoy (2017) aún perdura una variante del mismo, Arrow, desarrollado
por la empresa francesa Ketchapp.
# 1 Interfaz simple
Cualquiera que sea la funcionalidad, cuanto más fácil se entregue, mejor, y no perderá usuarios.
Esa es una de las cualidades esenciales que ayudan a las aplicaciones móviles populares a reunir y
mantener un público fiel.
Se trata de las dos principales plataformas en las que se debe estar presente. El desarrollo
multiplataforma ahorra los presupuestos iniciales, permite la entrada temprana en el mercado y
logra de manera efectiva la siguiente tercera característica
# 3 Seguridad
Como es lógico la seguridad es vital para el éxito de una aplicación ya sea de uso empresarial o
para particulares. Temas importantes como la confidencialidad de los datos está protegida en el
nivel legal pero también existen otros aspectos que atienden a la importancia de la seguridad
como puede ser el acceso a información sensible de cada usuario.
Ten en cuenta que una aplicación móvil de empresa necesitará un ciclo continuo de desarrollo y
por lo tanto de actualizaciones periódicas. Cuenta con un equipo preparado para dar ese
mantenimiento y esas nuevas funcionalidades que hagan crecer la APP. Todo el contenido que
ofrezcas a través de una aplicación móvil de empresa deberá ser actualizado y relevante para tu
usuario o de lo contrario con el tiempo perderá su valor. Nuevas correcciones, funcionalidades,
desarrollos, servicios y un largo etcétera harán más valioso tu producto y por lo tanto tu APP.
El objetivo de una aplicación móvil de empresa es estar abierto a todo tipo de usuarios. Ofrecer la
posibilidad de tener un canal de comunicación directo y ágil. Por lo tanto esta será la mayor
funcionalidad de tu aplicación y lo que más deberás cuidar a la hora de crear una APP. Incluye
medios de contacto más allá del email o las redes sociales. La notificación o chat directo a través
de la APP será muy valioso para tu usuario. Incluso una opción para llamar será muy valorada.
Procura que todo tipo de comunicación usuario-empresa sea mucho más rápido y ágil posible, con
un número mínimo de toques en pantalla para lograr comunicarse.
# 7 Opciones de personalización
A todo el mundo le gusta tener sus aplicaciones y herramientas lo más personalizadas posibles y
por lo tanto esto no es una excepción. Configuraciones como las fuentes, los colores, tamaño de
letra etc es muy valorado por los usuarios, permítelo. Permite que tus usuarios puedan jugar y
configurar la APP como deseen.
Existen muchas estrategias para exprimir el potencial de ventas gracias a tu APP de empresa. En
este artículo te lo contamos.
# 8 El sistema de búsqueda
Se le da poco valor a esta utilidad sin embargo es la más práctica para la mayoría de usuarios que
odian dar más de 3 toques para encontrar algo que buscan en una APP. Desde Bluumi te
aconsejamos que crees el sistema más fácil e intuitivo posible para localizar lo que se quiera
dentro de una aplicación móvil de empresa. Evita lo complejo. Y si tu contenido ofrecido lo es,
trata de facilitar su búsqueda. Una palabra: Accesibilidad.
# 9 Analítica
Hoy en día no se debe hacer nada que no se pueda medir. La analítica es vital para el buen
funcionamiento de cualquier tarea y las aplicaciones móviles no son menos. Esta característica te
permitirá rastrear a tus usuarios y obtener la información completa sobre su comportamiento.
Con estos datos es como lograrás medir el éxito de tu APP y seguir evolucionándola.
# 10 Interoperabilidad
Las aplicaciones móviles de empresa pueden ser parte de una estrategia tecnológica. Es decir, no
se limitan sólo a su operatividad individual. Puedes integrar el funcionamiento de tu APP con la
plataforma logística de un negocio, con el sistema de reservas de un restaurante o con el
funcionamiento de otros productos como es el caso del IoT (Internet of Things). Puedes integrar
software y hardware. Esta interoperabilidad puede ser una característica muy valorada por tus
usuarios. También beneficiosa para el funcionamiento de tu negocio: pedir los platos en un
restaurante, la colada en una tintorería o una pizza a domicilio.
Parece que con solamente chasquear los dedos vamos a conseguir alguien que se encargue
del desarrollo de aplicaciones móviles y en un periquete vamos a tener nuestro proyecto hecho
realidad. Pero hacer aplicaciones no es tan fácil, por eso si tienes una idea de app en mente antes
de ponerte manos a la obra, mejor que conozcas lo más básico sobre los dos sistemas operativos
dominantes, Android e iOS.
En este artículo queremos exponer las bases técnicas o más básicas al hacer una app Android o
una app iOS, conocer las peculiaridades de cada sistema operativo y como afecta a los
desarrolladores de aplicaciones que trabajan con cada uno de ellos.
Comenzamos con el sistema operativo con mayor cuota de mercado y con más apps móviles
desarrolladas. Y también con más número de aplicaciones en las stores. Un vistazo rápido a las
características del SO y cómo se configura el desarrollo de apps móviles Android.
Características básicas
Atendiendo al propio Google, creador de Android, las características técnicas de este sistema
operativo y que lo configuran son las siguientes:
Es un sistema operativo de Código abierto. Esto significa que puedes adaptarlo a tus
necesidades. Existen pues muchos más desarrolladores y mucha mas documentación para
los profesionales.
La mayoría de smartphones y tablets que no son Apple, corren con alguna de las versiones del
sistema operativo de Android. Desde KitKat, pasando por Lollipop y la más reciente Marshmallow.
Los dispositivos más conocidos que utilizan Android son los siguientes:
Nexus
Samsung
Sony
Huawei
Etc.
Al desarrollar apps móviles para este sistema operativo debemos tener en cuenta todos estos
dispositivos. Es posible que cada uno tenga unas dimensiones distintas. Tendremos que ajustar
nuestro desarrollo de apps móviles al standard. Sólo así aseguraremos que la app sea visible y
usable.
Herramientas necesarias
La forma más fácil y directa para empezar a desarrollar apps móviles para Android es descargando
el Android SDK y el IDE de Eclipse (vea los Recursos). El desarrollo Android puede realizarse desde
ordenadores Microsoft® Windows®, Mac OS X o Linux, dada su naturaleza de código abierto.
Teniendo en cuenta el coste base para un desarrollador Android que va a empezar a trabajar.
Licencia de desarrollador Android: 25 dólares. Esta cuota se paga una vez en la vida.
Ordenador para poder desarrollar: 300 euros de media. Aunque sirve cualquier ordenador.
El sistema operativo que se lleva la plata es el creado por Steve Jobs en Apple. Aunque nació antes
que Android, y tenía mucha más cuota de mercado que este, iOS ha ido perdiendo potencia y
usuarios.
Características básicas
El segundo de la carrera por el mercado móvil sigue luchando por hacerse un hueco. Algunos datos
del SO móvil de Cupertino:
iOS es una variante del Mac OS X, que es el sistema operativo para computadoras de la
marca Apple y, al igual que él, está basado en Unix.
Aunque sea un sistema operativo privado y exclusivo para sus dispositivos, Apple libera su
SDK para que este pueda ser mejorado por desarrolladores de apps.
Las versiones anteriores a iOS 8 no permiten el uso de la Plataforma Java y Adobe Flash. En cambio
iOS usa HTML5 como una alternativa a Flash. No obstante a partir de iOS 8 ya se permite el uso de
Adobe Flash, pero los usuarios de un iPhone, iPod Touch o iPad con una versión anterior a iOS 8 se
quedan fuera de esta actualización. Debes tenerlo en cuenta para los casos de desarrollo de apps
para iOS.
iPhone 4, 5, 6, etc.
Herramientas necesarias
El Kit de desarrollo de software o SDK esta disponible para terceros y desarrolladores desde marzo
del 2008, permitiendo así a los desarrolladores hacer aplicaciones para el iPhone y iPod Touch, así
como probarlas en el iPhone simulator” Aunque solo es posible utilizar el app en los dispositivos
después de pagar la cuota del iPhone Developer Program.
Xcode es el programa utilizado en el iPhone SDK. Estas aplicaciones, como las de Mac OS X, están
escritas en Objective-C.
Los desarrolladores pueden poner un precio por encima del mínimo ($0.99 dólares) a sus
aplicaciones para distribuirlas y venderlas en el App Store, de donde recibirán el 70 % del dinero
que ingrese la aplicación. Por otro lado, el desarrollador puede lanzar la aplicación gratis, y así no
obtendría ni pagaría nada, excepto por la cuota de miembro/desarrollador.
Ordenador para poder desarrollar: Hace falta usar un ordenador Mac, la gama más baja es Mac
mini (nuevo 549 euros)
A final de cuentas, el coste final del desarrollo de aplicaciones móviles para Android e iOS por lo
general es muy similar a ojos del que encarga el desarrollo. Las posibles diferencias residirán en el
exceso o escasez de demanda. Ante la gran cantidad de desarrolladores Android el precio final
puede ser más competitivo. Siempre habrá algún desarrollador que rebaje un poco más el precio,
mientras que en el caso del desarrollo iOS será siempre más estable.
Los 3 tipos de aplicaciones móviles: ventajas e inconvenientes
El mercado de las aplicaciones móviles no para de crecer. Son muchas las empresas que no
quieren dejar pasar la oportunidad de unirse a este negocio y crear una aplicación que de
respuesta a sus necesidades. Sin embargo, la mayoría desconocen qué tipos de aplicaciones
móviles existen y cuál es la mejor para ellos.
En anteriores posts hemos hablado sobre las ventajas de tener una aplicación para tu empresa, y
hemos dado información sobre cuánto cuesta crear una app. Para completar esta guía, definimos
en profundidad qué tipos de aplicaciones móviles hay y te damos algunos consejos para que
selecciones la que mejor le vaya a tu empresa o startup.
1. App nativas
Una aplicación nativa es la que se desarrolla de forma específica para un determinado sistema
operativo, llamado Software Development Kit o SDK. Cada una de las plataformas, Adroid, iOS o
Windows Phone, tienen un sistema diferente, por lo que si quieres que tu app esté disponible en
todas las plataformas se deberán de crear varias apps con el lenguaje del sistema operativo
seleccionado.
Por ejemplo:
Además las aplicaciones nativas no necesitan conexión a internet para que funcionen.
La descarga e instalación de estas apps se realiza siempre a través de las tiendas de aplicaciones
(app store de los fabricantes). Esto facilita el proceso de marketing y promoción que explicaremos
en próximos posts y que es vital para dar visibilidad a una app.
Está claro que si el coste no es un obstáculo en tu empresa, o tienes la certeza de que tu app será
rentable, la mejor opción será siempre el desarrollo de una aplicación nativa para cada plataforma
(iOS, Android y Windows Phone). Si tu presupuesto es limitado, las aplicaciones web tienen
también grandes ventajas para tu negocio.
2. Web App
Una aplicación web o webapp es la desarrollada con lenguajes muy conocidos por los
programadores, como es el HTML, Javascript y CSS. La principal ventaja con respecto a la nativa es
la posibilidad de programar independiente del sistema operativo en el que se usará la aplicación.
De esta forma se pueden ejecutar en diferentes dispositivos sin tener que crear varias
aplicaciones.
Las aplicaciones web se ejecutan dentro del propio navegador web del dispositivo a través de una
URL. Por ejemplo en Safari, si se trata de la plataforma iOS. El contenido se adapta a la pantalla
adquiriendo un aspecto de navegación APP.
¿Puede considerarse esto una APP? En realidad la gran diferencia con una aplicación nativa
(además de los inconvenientes que se muestran en la tabla) es que no necesita instalación por lo
que no pueden estar visibles en app store y la promoción y comercialización debe realizarse de
forma independiente. De todas formas se puede crear un acceso directo que sería como “instalar”
la aplicación en el dispositivo.
Las apps web móviles son siempre una buena opción si nuestro objetivo es adaptar la web a
formato móvil.
Una aplicación híbrida es una combinación de las dos anteriores, se podría decir que recoge lo
mejor de cada una de ellas. Las apps híbridas se desarrollan con lenguajes propios de las webabpp,
es decir, HTML, Javascript y CSS por lo que permite su uso en diferentes plataformas, pero
también dan la posibilidad de acceder a gran parte de las características del hardware del
dispositivo. La principal ventaja es que a pesar de estar desarrollada con HTML, Java o CSS, es
posible agrupar los códigos y distribuirla en app store.
PhoneGap es es uno de los frameworks más utilizados por los programadores para el desarrollo
multiplataforma de applicaciones híbridas. Otro ejemplo de herramienta para desarrollar apps
híbridas es Cordova.
¿Tienes previsto modificar las acciones de la aplicación móvil o incorporar más funciones
en el futuro?
Android
iOS
Después de Android, iOS (el sistema operativo de Apple) es el segundo más popular.
Debido a que los equipos Apple tienen precios altos, un porcentaje menor del mercado los
posee.
Windows Phone
El tercer sistema operativo más popular es Windows Phone. Aunque tiene un porcentaje
minúsculo de usuarios, ha venido creciendo muy fuerte en el último año.
LENGUAJES DE PROGRAMACIÓN
Java
Swift
Swift es un lenguaje que apareció en 2014 para ser el lenguaje oficial de los sistemas
operativos de Apple. Antes de Swift, Objective C era el lenguaje oficial. Aunque Objective
C se sigue utilizando, Apple planea reemplazarlo completamente con Swift en el futuro.
C# / C++
El lenguaje que se utiliza para desarrollar aplicaciones para los dispositivos móviles de
Windows es C#. Aunque también se puede utilizar un lenguaje más complejo como C++ (el
cuál es la base de C#).
TIPOS DE APLICACIONES MÓVILES
Nativas
Web
Las aplicaciones web realmente son sitios web que, en muchas maneras, se ven y se sienten
como aplicaciones nativas, pero no son implementadas como tales. Son ejecutadas a través
de un navegador y son escritas comúnmente en HTML5.
Híbridas
Las aplicaciones híbridas son una combinación de aplicación nativa y aplicación web. Y,
debido a eso, muchas personas las denominan aplicaciones web de forma errónea.