jueves, 24 de mayo de 2018

APLICACIONES

“AÑO DEL DIÁLOGO Y LA RECONCILIACIÓN NACIONAL”



INGENIERÍA DE SISTEMAS Y TELEMÁTICA

ELECTIVO

APLICACIONES


AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin


DOCENTE
ING. PORRO CHULLI, Marco Aurelio


BAGUA GRANDE - AMAZONAS
2018



***********************************************************

DEFINICIÓN
Una aplicación (también llamada app) es simplemente un programa informático creado para llevar a cabo o facilitar una tarea en un dispositivo informático. Cabe destacar que aunque todas las aplicaciones son programas, no todos los programas son aplicaciones. Existe multitud de software en el mercado, pero sólo se denomina así a aquel que ha sido creado con un fin determinado, para realizar tareas concretas. No se consideraría una aplicación, por ejemplo, un sistema operativo, ni una suite, pues su propósito es general.

Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y se usan para facilitar o permitir la ejecución de ciertas tareas en las que un analista o un programador ha detectado una cierta necesidad. Pero las aplicaciones también pueden responder a necesidades lúdicas, además de laborales (todos los juegos, por ejemplo, son considerados aplicaciones). Se suele decir que para cada problema hay una solución, y en informática, para cada problema hay una aplicación.

Naturalmente, el campo de las aplicaciones es tan extenso, y las funciones tan dispares, que se han creado numerosas clasificaciones, según varios criterios. Así, por ejemplo, dependiendo del uso que se le vaya a dar, podemos tener aplicaciones profesionales o personales. También podemos hablar de aplicaciones para Windows, Linux, Android, Apple, PC, móvil, según el sistema operativo o la plataforma que vayamos a usar. Según su finalidad, pueden ser de entretenimiento, de negocios, empresariales, de sonido, gráficas, de edición, web, didácticas... e incluso según la rama de las ciencias en el que se usen podemos decir que hay aplicaciones de ingeniería, de telecomunicaciones, matemáticas... y un largo etcétera.

En general, una aplicación se diseña para ser usada con uno o varios sistemas operativos, siendo hasta cierto punto dependiente de estos. Pero también existen aplicaciones diseñadas en exclusiva para el uso con un programa o tipo de programas (ej: barras de los navegadores web). Hablamos en este caso de addons, pequeñas aplicaciones que añaden nuevas funcionalidades a ese programa concreto. El primer paso siempre es detectar una necesidad en los usuarios que pueda ser cubierta, para eso se suele hacer un estudio previo en el mercado. Si se ve la oportunidad entran en juego los programadores, quienes realizan la propia aplicación, diseñándola y codificándola... El siguiente y último paso será la distribución de esa aplicación. Como veis el proceso no difiere de cualquier otro producto: investigación de mercado, fabricación y distribución.

Las aplicaciones pueden ser desde pequeñísimos programas de apenas unas líneas de código, hasta grandes obras de ingeniería informática, con miles de horas de trabajo detrás. El tamaño, sin embargo, no define el éxito de una aplicación, sino justamente que cubra las necesidades del usuario. La historia de las aplicaciones está llena de miles de grandes aplicaciones que han sido substituidas por otras a priori mucho menos elaboradas, simplemente porque eran más rápidas, más intuitivas, más estables o cumplían mejor su función.

CARACTERÍSTICAS
  • Código abierto.
  • Núcleo basado en el Kernel de Linux.
  • Adaptable a muchas pantallas y resoluciones.
  • Utiliza SQLite para el almacenamiento de datos.
  • Ofrece diferentes formas de mensajería.
  • Navegador web basado en WebKit incluido.
  • Soporte de Java y muchos formatos multimedia.
  • Soporte de HTML, HTML5, Adobe Flash Player, etc.
  • Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software.
  • Catálogo de aplicaciones gratuitas o pagas en el que pueden ser descargadas e instaladas (Google Play).
  • Bluetooth.
  • Google Talk desde su versión HoneyComb, para realizar videollamadas.
  • Multitarea real de aplicaciones.
PROCESO DE DISEÑO Y DESARROLLO

1. Conceptualización


El resultado de esta etapa es una idea de aplicación, que tiene en cuenta las necesidades y problemas de los usuarios. La idea responde a una investigación preliminar y a la posterior comprobación de la viabilidad del concepto.

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, usando metodologías como «Personas» y «Viaje del usuario». También aquí se sientan las bases de la funcionalidad, lo cual 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 permiten crear los primeros prototipos para ser probados con usuarios, y posteriormente, en un diseño visual acabado que será provisto 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 vida a los diseños y crear la estructura sobre la cual se apoyará el funcionamiento de la aplicación. Una vez que existe la versión inicial, dedica gran parte del tiempo a corregir errores funcionales para asegurar el correcto desempeño de la app y la prepara para su aprobación en las tiendas.


Programación del código
Corrección de bugs


5. Aplicació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 errores, realizar mejoras y actualizarla en futuras versiones.

Lanzamiento
Seguimiento
Actualización

TIPOS DE APLICACIONES

A nivel de programación, existen varias formas de desarrollar una aplicación. Cada una de ellas tiene diferentes características y limitaciones, especialmente desde el punto de vista técnico.
Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el tipo de aplicación que se elija, condicionará el diseño visual y la interacción.

1. 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 Kit o 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 utilizado por el SDK.
Este tipo de apps se descarga e instala desde las tiendas de aplicaciones —con ciertas excepciones en el caso de Android, que veremos 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 volver a descargarlas para obtener la última versión, que a veces corrige errores o añade mejoras.
Una característica generalmente menospreciada de las apps nativas, es que pueden hacer uso de las notificaciones del sistema operativo para mostrar avisos importantes al usuario, aun cuando no se esté usando la aplicación, como los mensajes de Whatsapp, por ejemplo.


Además, no requieren Internet para funcionar, por lo que ofrecen una experiencia de uso más fluida y están realmente integradas al teléfono, lo cual les permite utilizar todas las características de hardware del terminal, como la cámara y los sensores (GPS, acelerómetro, giróscopo, entre otros).
A nivel de diseño, esta clase de aplicaciones tiene una interfaz basada en las guías de cada sistema operativo, logrando mayor coherencia y consistencia con el resto de aplicaciones y con el propio SO. Esto favorece la usabilidad y beneficia directamente al usuario que encuentra interfaces familiares.

2. Web

La base de programación de las aplicaciones web —también llamadas webapps— es el HTML, conjuntamente con JavaScript y CSS, herramientas ya conocidas para los programadores web.
En este caso no se emplea un SDK, lo cual permite programar de forma independiente al sistema operativo en el cual se usará la aplicación. Por eso, estas aplicaciones pueden ser fácilmente utilizadas en diferentes plataformas sin mayores inconvenientes y sin necesidad de desarrollar un código diferente para cada caso particular.
Las aplicaciones web no necesitan instalarse, ya que se visualizan usando el navegador del teléfono como un sitio web normal. Por esta misma razón, no se distribuyen en una tienda de aplicaciones, sino que se comercializan y promocionan de forma independiente.
Al tratarse de aplicaciones que funcionan sobre la web, no es necesario que el usuario reciba actualizaciones, ya que siempre va a estar viendo la última versión. Pero, a diferencia de las apps nativas, requieren de una conexión a Internet para funcionar correctamente.

Adicionalmente, tienen algunas restricciones e 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 suelen tener una interfaz más genérica e independiente de la apariencia del sistema operativo, por lo que la experiencia de identificación del usuario con los elementos de navegación e interacción, suele ser menor que en el caso de las nativas.

3. Híbridas

Este tipo de aplicaciones es una especie de combinación entre las dos anteriores. La forma de desarrollarlas es parecida a la de una aplicación web —usando HTML, CSS y JavaScript—, y una vez que la aplicación está terminada, se compila o empaqueta de forma tal, que el resultado final es como si se tratara de una aplicación nativa.
Esto permite casi con un mismo código obtener diferentes aplicaciones, por 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 como lo haría una app nativa.


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 usar controles y botones nativos de cada plataforma para apegarse más a la estética propia de cada una.
Existen algunas herramientas para desarrollar este tipo de aplicaciones. Apache Córdova es una de las más populares, pero hay otras, como Icenium, que tienen la misma finalidad.

RESUMEN

Una aplicación (también llamada app) es simplemente un programa informático creado para llevar a cabo o facilitar una tarea en un dispositivo informático. Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y se usan para facilitar o permitir la ejecución de ciertas tareas en las que un analista o un programador han detectado una cierta necesidad. También podemos hablar de aplicaciones para Windows, Linux, Android, Apple, PC, móvil, según el sistema operativo o la plataforma que vayamos a usar. En general, una aplicación se diseña para ser usada con uno o varios sistemas operativos, siendo hasta cierto punto dependiente de estos. Pero también existen aplicaciones diseñadas en exclusiva para el uso con un programa o tipo de programas (ej: barras de los navegadores web). Hablamos en este caso de addons, pequeñas aplicaciones que añaden nuevas funcionalidades a ese programa concreto. Las aplicaciones pueden ser desde pequeñísimos programas de apenas unas líneas de código, hasta grandes obras de ingeniería informática, con miles de horas de trabajo detrás. Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el tipo de aplicación que se elija, condicionará el diseño visual y la interacción.


SUMMARY

An application (also called an app) is simply a computer program created to carry out or facilitate a task on a computing device. The applications arise from some concrete need of the users, and are used to facilitate or allow the execution of certain tasks in which an analyst or a programmer have detected a certain need. We can also talk about applications for Windows, Linux, Android, Apple, PC, mobile, depending on the operating system or the platform that we are going to use. In general, an application is designed to be used with one or several operating systems, being to some extent dependent on them. But there are also applications designed exclusively for use with a program or type of programs (eg web browser bars). We speak in this case of addons, small applications that add new features to that specific program. The applications can range from very small programs of just a few lines of code, to large works of computer engineering, with thousands of hours of work behind. Although at first sight this does not seem to concern the designer, the reality is that the type of application that is chosen, will condition the visual design and interaction.


RECOMENDACIONES

  • Las aplicaciones nativas son las que ofrecen una mejor experiencia de uso y sobre todo, rendimiento. Algunas apps como Facebook o LinkedIn, que antes eran híbridas, han pasado a ser nativas por este motivo. Adicionalmente, ellas responden más a las guías de diseño de cada sistema operativo.
  • 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.
  • Cuando la disponibilidad de la app sin Internet, la posibilidad de usar 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.



Ejemplo de aplicaciones en Android


Link de nuestras diapositivas



No hay comentarios:

Publicar un comentario