facultad de sistemas mercantiles ingeniera en sistemas e informática

Anuncio
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES”
FACULTAD DE SISTEMAS MERCANTILES
INGENIERA EN SISTEMAS E INFORMÁTICA
TRABAJO DE TITULACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO
DE INGENIERIA EN SISTEMAS E INFORMÁTICA.
TEMA:
Estudio comparativo entre plataformas ANDROID e IOS para el
desarrollo de aplicaciones móviles inteligentes para el centro de
capacitación y asesoramiento informático (CCAINFOR) - Ibarra
AUTOR:
Tnlgo. Tixicuro Chiza Marlon Javier
ASESOR:
Ing. Eduardo Fernández. Mgs.
AMBATO – ECUADOR
2015
CERTIFICACIÓN DEL ASESOR
En calidad de asesor del presente trabajo de investigación, certifico que la tesis
cuyo título es “Estudio comparativo entre plataformas ANDROID e IOS para
el desarrollo de aplicaciones móviles inteligentes para el centro de
capacitación y asesoramiento informático
(CCAINFOR) -
Ibarra”,
elaborada por Tixicuro Chiza Marlon Javier, cumple con los requisitos
metodológicos y científicos que la Universidad Regional Autónoma de los
Andes UNIANDES exige, por lo tanto autorizo su presentación para los trámites
pertinentes.
Atentamente,
_________________________
Ing. Eduardo Fernández. Mgs.
Asesor
DECLARATORIA DE LA AUTORÍA
Ante las autoridades de la Universidad Regional Autónoma de los Andes
declaro que el contenido del presente proyecto cuyo título es
“Estudio
comparativo entre plataformas ANDROID e IOS para el desarrollo de
aplicaciones móviles inteligentes para el centro de capacitación y
asesoramiento informático
(CCAINFOR) -
Ibarra” presentado como
requisito previo a la obtención del título de INGENIERIA EN SISTEMAS E
INFORMATICA es original, de mi autoría y total responsabilidad.
Además autorizo a la Universidad Regional Autónoma de los Andes
(UNIANDES) para que pueda emplear el presente trabajo como apoyo para
futuras investigaciones relacionadas con el tema planteado.
Atentamente,
Tnlgo. Marlon Javier Tixicuro Chiza.
C.I. 1003624093
DEDICATORIA
Dedico este trabajo con todo mi amor y cariño:
A Dios por brindarme salud y vida llenarme de bendiciones y mucha sabiduría
para poder alcanzar todos los objetivos que me he propuesto en esta etapa de
mi vida.
A mi madre Magdalena Chiza, a mi padre Francisco Tixicuro quienes me dieron
la vida, la educación por ser un apoyo incondicional y por tenerme paciencia en
los buenos y malos momentos académicos y en mi vida diaria, se han
convertido en mi motivo y razón de vida para poder llegar a esta instancia de
mis estudios, ya que ellos siempre han estado presentes apoyándome.
A mi hermano Juan Tixicuro por su ayuda y apoyo moral en los momentos
buenos y malos de nuestras vidas.
A mi novia Katherine
Ramos
quien con su apoyo constante y amor
incondicional ha sido amiga y compañera inseparable, fuente de sabiduría,
calma y consejo en todo momento.
Marlon Tixicuro
AGRADECIMIENTO
A, la Universidad Regional Autónoma de los Andes (UNIANDES) y a sus
catedráticos que me impartieron en las aulas todos los conocimientos y
mostraron también sus valores permitiendo así una formación integral en mi y
en varios de sus alumno por eso mil gracias a ustedes mis maestros.
De manera muy especial quiero agradecer al Ing. Eduardo Fernández. Mg,
asesor de elaboración de trabajo de titulación quien supo realizar su trabajo
con mucho profesionalismo y ser una persona amable y paciente, también a
mis maestros que por años impartieron sus conocimientos y que por ultimo
aportaron con criterios, consejos y conocimientos y tiempo valiosos para
culminar este trabajo. Para todos ustedes mi gratitud y respeto.
A mi familia, mi novia y amigos/as importantes en mi vida, como también no
serlo en esta una de mis etapas, la de estudiante y ahora profesional muchas
gracias por estar siempre allí en el momento y tiempo exactos.
Marlon Tixicuro.
ÍNDICE GENERAL
INTRODUCCIÓN .............................................................................................. 1
Antecedentes de la investigación .................................................................. 1
Planteamiento del problema .......................................................................... 3
Identificación de la línea de investigación ..................................................... 3
Justificación del tema .................................................................................... 4
OBJETIVOS: ..................................................................................................... 5
Objetivo General............................................................................................ 5
Objetivos Específicos .................................................................................... 5
CAPITULO I ...................................................................................................... 6
FUNDAMENTO TEÓRICO CONCEPTUAL DE LA PROPUESTA..................... 6
1.1.
Aplicaciones web ........................................................................... 6
1.2.
Estructura De Las Aplicaciones Web ............................................. 7
1.3.
Lenguajes de Programación .......................................................... 7
1.4.
Clasificación de las Aplicaciones Web ........................................... 8
1.5.
Procesador de textos en Línea ...................................................... 8
1.6.
Aplicaciones móviles o App ........................................................... 9
1.7.
Mobile Sistemas Operativos ........................................................ 12
1.8.
Android SDK ................................................................................ 14
1.9.
Sistemas Operativos.................................................................... 16
1.10.
Lenguajes de Programación SDK ................................................ 16
1.11.
Netbeans ..................................................................................... 20
1.12.
Apache. ....................................................................................... 21
1.13.
Propiedades de Apache ............................................................. 22
1.14.
Mysql ........................................................................................... 25
1.15.
Características Técnicas de MySql .............................................. 26
1.16.
Php .............................................................................................. 27
1.17.
Java............................................................................................. 28
CAPITULO II ................................................................................................... 30
METODOLOGÍA DE LA INVESTIGACIÓN ..................................................... 30
Bibliográfica ................................................................................................. 31
De campo .................................................................................................... 31
Las técnicas ................................................................................................ 31
Población y Muestra .................................................................................... 31
Histórico – Lógico ........................................................................................ 32
Analítico – Sintético ..................................................................................... 32
Inductivo – Deductivo .................................................................................. 32
CAPITULO III .................................................................................................. 47
DESARROLLO DE LA PROPUESTA .......................................................... 47
3.1.
Tema:................................................................................................. 47
3.2.
Descripción de la propuesta ........................................................ 47
3.3.
Desarrollo de la Propuesta .......................................................... 47
3.3.1.
Metodología de Desarrollo ........................................................... 47
3.3.2.
Análisis Previo ............................................................................. 48
3.3.3.
Diseño ......................................................................................... 49
3.3.4.
Desarrollo .................................................................................... 50
3.3.5.
Pruebas ....................................................................................... 62
3.3.6.
Implementación ........................................................................... 63
3.3.7.
Validación de la propuesta........................................................... 65
CONCLUSIONES Y RECOMENDACIONES................................................... 67
Conclusiones ............................................................................................... 67
Recomendaciones ....................................................................................... 68
ÍNDICE DE TABLAS
Tabla 1, Marco Mostral……………………………………………….…………… 32
Tabla 2, Pregunta 2……………………………………….……………………….. 33
Tabla 3, Pregunta 3……………………………………….……………………….. 34
Tabla 4, Pregunta 4……………………………………….……………………….. 35
Tabla 5, Pregunta 5……………………………………….……………………….. 36
Tabla 6, Pregunta 6……………………………………….……………………….. 37
Tabla 7, Pregunta 1……………………………………….……………………….. 38
Tabla 8, Pregunta 2……………………………………….……………………….. 39
Tabla 9, Pregunta 3……………………………………….……………………….. 40
Tabla 10, Pregunta 4…..………………………………….……………………….. 41
Tabla 11, Pregunta 5…..………………………………….……………………….. 42
Tabla 12, Pregunta 6…..………………………………….……………………….. 43
ÍNDICE DE GRÁFICOS
Gráfico 1, Pregunta 1…………………………………….………………..……….. 33
Gráfico 2, Pregunta 2…………………………………….……………………..….. 34
Gráfico 3, Pregunta 3…………………………………….………………………… 35
Gráfico 4, Pregunta 4…………………………………….……………………….... 36
Gráfico 5, Pregunta 5…………………………………….……………………..….. 37
Gráfico 6, Pregunta 6…………………………………….…………………..…….. 38
Gráfico 7, Pregunta 1…………………………………….………………..……….. 39
Gráfico 8, Pregunta 2…………………………………….………………..……….. 40
Gráfico 9, Pregunta 3…………………………………….………………..……….. 41
Gráfico 10, Pregunta 4…………………………………….……………………….. 42
Gráfico 11, Pregunta 5…………………………………….……………………….. 43
Gráfico 12, Pregunta 6…………………………………….……………………….. 44
Gráfico 13, Desarrollo de plataformas ANDROID e IOS……………………….. 48
Gráfico 14, Diagrama de entrada y salida de datos...….……………………….. 50
Gráfico 15, Desarrollo de Aplicaciones…. ……..……….……………………….. 63
RESUMEN EJECUTIVO
Análisis comparativo entre las plataformas de desarrollo de aplicaciones
móviles para los sistemas operativos android y ios para esto se utilizó el
método científico con las técnicas de observación y técnicas de estudios de
caso en la creación de prototipos para ambas plataformas de desarrollo que
permitieron dar resultados de manera cuantitativa y cualitativa a la
investigación. Se utilizó los siguientes materiales, en elementos hardware: 2
computadores, 1 tablet y en elementos software: Eclipse, SDK de android,
Netbeans, Mysql, Xcode Framework.
Mediante los parámetros de medición, se obtuvo los siguientes puntajes:
Android 93,75% y iOS con 77,5%, siendo el de mayor productividad en la
implementación de aplicaciones la plataforma Android con una equivalencia de
Muy bueno. Aplicando en el desarrollo de dos aplicaciones móviles, con este
último en una aplicación Nativa para Android, el mismo que cuenta con un
diseño de ambientes amigables y es de fácil uso para el usuario.
Se concluye que la plataforma de desarrollo Android mejora la productividad en
la implementación de aplicaciones porque en el desarrollo de la mayor parte de
los parámetros establecidos obtuvo un mayor desempeño.
Se recomienda para la realización de proyectos en aplicaciones móviles utilizar
la plataforma Android ya que ofrece un conjunto de herramientas que facilitan
la implementación de aplicaciones, brinda una extensa documentación y existe
una gran comunidad de desarrolladores.
EXECUTIVE SUMMARY
Comparative analysis between the platforms of mobile application development
for android and ios operating systems for this the scientific method was used
with observational techniques and case studies techniques to create prototypes
for both development platforms that allowed to results quantitative and
qualitative research way . The following materials were used in hardware
elements: 2 computers , one tablet and software elements : Eclipse, Android
SDK , Netbeans , Mysql , Xcode Framework.
By the measurement parameters , the following scores were obtained: 93.75 %
Android and iOS with 77.5 %, the highest productivity in the Android application
deployment platform with an equivalence of Very Good . Applied in the
development of two mobile applications, with the latter in a native app for
Android, featuring the same design environment friendly and easy to use for the
user.
We conclude that Android development platform improves productivity in
deploying applications
development because most
of the established
parameters obtained higher performance .
It is recommended for projects in mobile applications using the Android platform
and offers a set of tools that facilitate the deployment of applications , provides
extensive documentation and there is a large community of developers .
INTRODUCCIÓN
Antecedentes de la investigación
El desarrollo de aplicaciones móviles originariamente tuvo amplias barreras
correspondidas a la velocidad de procesamiento y a las restricciones técnicas de
su hardware, mismas que limitaban la ejecución e instalación de aplicaciones de
mediana complicación.
Hace algunos años estos dispositivos se utilizaban elementalmente para realizar
llamadas, escribir mensajes de texto (SMS) y divertir al usuario con el uso de
juegos sencillos.
Debido al progreso del hardware de los dispositivos móviles, su rango de uso se
ha desarrollado a varios campos, como el multimedia, el uso de sensores, el uso
de servicios web y la navegación por Internet. Estas capacidades han generado
una petición de aplicaciones que admitan hacer uso de ellas de modo sencillo e
intuitivo, llevando así a los dispositivos móviles a cubrir necesidades que antes
sólo lo hacía un computador.
La visión de los terminales móviles inteligentes ha disparado una revolución en los
últimos años en lo que concierne a la utilización y concepción de Internet.
Hoy es amplia la utilización de dispositivos móviles inteligentes y su conveniente
uso ha autorizado optimizar la gestión de los tiempos de labor e incrementar el
rendimiento, todo ello ayudado de una gran portabilidad, característica esencial de
los dispositivos móviles, que ha autorizado que ellos sean parte de nuestra vida
diaria.
Nuestro país no ha emprendido aún por explotar en gran medida esta tecnología,
es por ello que no se ha visto el gran ahorro de tiempo y bienestar que puede
ofrecer en varias áreas de labor.
1
La pagina de StatConter (http://gs.statcounter.com) en su artículo menciona que
“Con relación al movimiento de la colaboración en el mercado mundial de los
sistemas operativos para dispositivos móviles a febrero del 2013, según el informe
de StatCounter Android se lleva el 15,2% a la alza, frente al 14,5% de RIM a la
baja, Symbian con el 30,7% a la baja, seguida de cerca por iOS con el 24,6%. El
alza proyectada que presenta Android dentro de estas estadísticas es elevada y
llevaría a pensar que es un sistema operativo que a corto plazo ocupará una
cuota de gran calidad en el mercado.
Este fenómeno ha comenzado a brotar en Estados Unidos donde, las estadísticas
según el informe de Nielsen, indican que Android ocupa el 31% de colaboración
mientras el periodo de Enero del 2013 a Marzo del 2013.” De la misma manera,
iOS está conservando gran acogida de los usuarios, tal es el caso de Europa, que
según
el
estudio
de
StatCounter
publicado
en
su
pagina
(http://gs.statcounter.com) menciona en uno de sus artículos que recoge el 43%
de mercado de sistemas operativos para dispositivos móviles. Es por este motivo
que se puede percibir una tendencia actual de una gran cantidad de aplicaciones
móviles desarrolladas para las plataformas android y iOS. Así como las
aplicaciones, las herramientas para el desarrollo de las mismas han ido creciendo
casi a la par, mejorando la experiencia que brindan a los desarrolladores e
incluyendo paulatinamente las nuevas versiones de APIS para estos sistemas
operativos.
Esta variedad de sistemas operativos y plataformas de desarrollo existentes
consienten mantener un alto grado de competitividad en el mercado, lo cual es
bueno para los consumidores, sin embargo es de gran impacto para las personas
y empresas que consagran sus esfuerzos a la implementación de aplicaciones y
servicios para dispositivos móviles. Para estos últimos, es muy compleja la tarea
de escoger una plataforma sobre la cual puedan realizar el desarrollo de un
producto software logrando una máxima productividad en la implementación,
adaptándolo cada vez a las necesidades cambiantes de los clientes
2
Planteamiento del problema
El Centro de Capacitación y Asesoramiento Informático “CCAINFOR” es una
microempresa nacida de la iniciativa de su gerente propietario, el cual en base a
sus
habilidades de desarrollo de aplicaciones móviles así como Web, de
escritorio
y mas, inicia sus actividades en el año 2008 desarrollando las
aplicaciones antes mencionados e implantando directamente en el ámbito local a
través de gestiones a varias instituciones .De las visitas realizadas a la micro
empresa y también en base a las conversaciones mantenidas con su gerentepropietario, se han podido detectar las siguientes dificultades al momento de
elegir un sistema operativo viable para el desarrollo de sus aplicaciones móviles
inteligentes, así tenemos:
•
El desconocimiento de las arquitecturas en las plataformas de los
sistemas operativos para el desarrollo de aplicaciones móviles
inteligentes.
•
Limitado conocimiento en lenguajes y entornos de programación
restringe el correcto desarrollo de las aplicaciones móviles inteligentes
en sus respectivos sistemas operativos.
•
Desconocer las restricciones que tienen cada una de las plataformas
para desarrollar aplicaciones cumpliendo con los objetivos de los
usuarios.
Estos problemas afectados con la distribución e implantación, están causando un
resultado negativo en la microempresa, primordialmente en el ámbito mercantil,
ya que está produciendo una incapacidad, debido a la poca recuperación del
capital de trabajo así como a la des actualización de aplicaciones móviles.
Identificación de la línea de investigación
El presente trabajo investigativo se enmarca en la línea denominada:
•
Desarrollo de software y programación de sistemas
3
Justificación del tema
Al conocer con exactitud los resultados derivados por este proyecto admitirá
conocer que brindan cada una de las plataformas de desarrollo de aplicaciones
móviles en los sistemas operativos ANDROID y IOS.
También accederá mantener un alto grado de competencia en el mercado, lo cual
es bueno para los desarrolladores y micro empresas que dedican sus esfuerzos a
la implementación de aplicaciones y servicios para dispositivos móviles podrán
elegir una plataforma sobre la cual puedan ejecutar el desarrollo de un producto
software logrando una máxima productividad en la implementación de una
aplicación, con la cabida de adaptarlo a las necesidades cambiantes de los
clientes consumidores.
Los procesos más notables que se realizarán para el análisis comparativo se
ejecutaran mediante pruebas en prototipos en las dos plataformas android y
IOS. Con esta premisa es que al analizar el proceso comercial de la micro
empresa “CCAINFOR” se puede deducir que necesita de una renovación y sobre
todo de una forma alterna de llegar al cliente frecuente o para capturar nuevos
usuarios en este mercado tan competitivo. Es por ello que se propone que la
micro empresa inicie un proceso complementario de comercialización, esta forma
de hacer negocio se la denomina comercio electrónico y se lo hará a través de un
portal web. Esto significa que la propuesta implica a la micro empresa empiece
también a vender sus aplicaciones por Internet, lo cual significa algunos cambios
en cuanto al proceso de ventas y también sobre los aspectos promocionales.
Todo lo mencionado es muy positivo para la micro empresa y para el estudiante
debido a que se está atacando su problema relacionado con la disminución de
desarrollo de aplicaciones, esto significa que la propuesta planteada como
solución a la problemática es viable y sobre todo de gran utilidad para
“CCAINFOR” por lo tanto se justifica plenamente su realización
4
OBJETIVOS:
Objetivo General
Realizar un estudio comparativo entre plataformas ANDROID e IOS para el
desarrollo de aplicaciones móviles inteligentes para el centro de capacitación y
asesoramiento informático (CCAINFOR) - Ibarra
Objetivos Específicos
•
Estudiar las plataformas de desarrollo para dispositivos móviles
inteligentes.
•
Analizar la plataforma de desarrollo de aplicaciones para los sistemas
operativos ANDROID y IOS.
•
Determinar los parámetros de comparación para obtener una mayor
productividad en el desarrollo de aplicaciones para los sistemas
operativos ANDROID y IOS.
•
Seleccionar la plataforma de desarrollo en base a los parámetros de
comparación establecidos y a pruebas realizadas en los prototipos.
5
CAPITULO I
FUNDAMENTO TEÓRICO CONCEPTUAL DE LA PROPUESTA
1.1.
Aplicaciones web
La Autora (Romina, 2012) indica que: “Aplicaciones Web no son más que las
herramientas de ofimática procesadores de texto, hojas de cálculo) de la Web 2.0
que se ma nejan simplemente con una conexión a Internet, y en estos casos cabe
la opción de utilizar el ordenador sólo como forma de acceso a la aplicación
remota”.
Según Wikipedia. En la ingeniería software se denomina aplicación Web a
aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor
Web a través de Internet o de una intranet mediante un navegador. En otras
palabras, es una aplicación software que se codifica en un lenguaje soportado por
los navegadores Web (HTML. JavaScript. Java, etc.] en la que se confía la
ejecución al navegador.
(Romina, 2012) nos dice “Como consecuencia, los archivos (documentos de
trabajo, cartas personales, currículos. etc.) pueden dejarse guardados en un
servidor que ofrece la herramienta ofimática junto a los de muchos otros usuarios.
Las aplicaciones Web son populares debido a lo práctico del navegador Web
como cliente ligero, así como a la facilidad para actualizar y mantener
aplicaciones Web sin distribuir e instalar software a miles de usuarios potenciales.
Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea y la
propia Wikipedia que son ejemplos bien conocidos de aplicaciones Web.
Es importante mencionar que una página Web puede contener elementos que
permiten una comunicación activa entre el usuario y la información. Esto permite
que el usuario acceda a los datos de modo interactivo, gracias a que la página
responderá a cada una de sus acciones, como por ejemplo rellenar y enviar
6
formularios, participar en juegos diversos y acceder a gestores de base de datos
de todo tipo”.
1.2.
Estructura De Las Aplicaciones Web
(Romina, 2012) Nos señala que aunque existen muchas variaciones posibles, una
aplicación Web está normalmente estructurada como una aplicación de trescapas. En su forma más común, el navegador Web ofrece la primera capa y un
motor capaz de usar alguna tecnología Web dinámica (ejemplo: PHP. Java
Servlets o ASP, ASP. NET. CGI. ColdFusion. embPerl. Python (programming
languagel o Ruby on Rails) constituye la capa intermedia. Por último, una base de
datos constituye la tercera y última capa.
El navegador Web manda peticiones a la capa de media que ofrece servicios
valiéndose de consultas y actualizaciones a la base de datos y a su vez
proporciona una interfaz de usuario.
1.3.
Lenguajes de Programación
Según,
(Romina,
2012)
Existen
numerosos
lenguajes
de
programación
empleados para el desarrollo de Aplicaciones Web, entre los que destacan:
 PHP
 ASP/ASP.NET
 Java, con sus tecnologías Java Servlets y JavaServer Pages (JSPI
 Perl
 Ruby
 Python
 HTML
 XML
ASP no es un lenguaje de programación en sí mismo, sino una arquitectura de
desarrollo Web en la que se pueden usar por debajo distintos lenguajes (por
ejemplo VB.NET o C# para A5P.NET o VBScript/JScript para ASP).
7
1.4.
Clasificación de las Aplicaciones Web
Las herramientas Web se pueden clasificar de la siguiente manera:
•
Procesador de Textos en línea.
•
Hojas de Cálculo en línea.
•
Presentación de Diapositivas.
•
Aplicaciones y servicios \mashups].
•
Editor de diagramas y otras representaciones gráficas.
•
Exportación a formato PDF.
•
Calculadora virtual.
•
Calendario.
1.5.
Procesador de textos en Línea
(Romina, 2012) explica que: Se trata de herramientas de procesamiento de texto,
cuya plataforma está en línea y por tanto se puede acceder desde cualquier
computadora conectada. Esta aplicación permite acceder, editar, reformatear y
compartir documentos.
Una de sus cualidades es posibilitar la creación de contenidos de manera
colectiva y colaborativa. Múltiples usuarios pueden editar texto de manera
simultánea, quedando un registro histórico de sus modificaciones.
Aunque se pueden importar/exportar documentos desde y para Microsoft Word
(DOC), también se cuenta con la posibilidad de trabajar con otros formatos como
PDF. ODT. SXW. RTF. HTML, TXT, entre otros.
Sitios Web destacados:
•
http://thinkfree.com
•
http://docs.google.com
•
www.ajaxwrite.com
8
Writely, aplicación que acaba de ser comprada por Google, ofrece un procesador
de texto en línea. Es gratuito, permite compartirlos documento con otros usuarios
e incluso publicar automáticamente en Blogger.
1.6.
Aplicaciones móviles o App
El Autor (Chiles, 2012) nos dice que:”Toda persona con un dispositivo móvil utiliza
Apps. Las aplicaciones son el segmento más rentable y de mayor crecimiento
parte de la industria del comercio móvil. Mobile Apps son aplicaciones de software
para teléfonos inteligentes y tabletas que se pueden descargar desde el App
Store y se instalan en el dispositivo.
App y las Compras In App (IAP) están generando suficientes ingresos para
algunos desarrolladores y empresas para ganarse la vida y obtener ganancias.
Algunas personas pagan para Aplicaciones, otros compran cosas dentro de ellas,
y algunas personas lo hacen ambos.
Descarga de una aplicación es una compra o adquisición de contenido. La
mayoría de las aplicaciones populares son gratuitos. Apoyan a otro modelo de
negocio relacionado o utilizar el modelo de negocio freemium para generar
ingresos.
Aplicaciones se descargan por los compradores móviles. Un comprador móvil es
una persona que utiliza un dispositivo móvil a la investigación de bienes y
servicios, así como realizar compras. Un comprador móvil es un comprador móvil,
pero un comprador móvil no es necesariamente un comprador móvil.
Las aplicaciones son aplicaciones de software diseñadas para un dispositivo móvil
que utiliza un sistema operativo móvil (OS). Un sistema operativo móvil le permite
instalar aplicaciones en los dispositivos móviles, l-os dispositivos móviles son
ordenadores de mano que se pueden utilizar sin ajuste de ellos hacia abajo. Los
teléfonos celulares, teléfonos inteligentes, tabletas, y asistentes digitales
personales (PDA) son los dispositivos móviles. Smartphones y tablets permiten
descargar e instalar aplicaciones desde el App Store.
Las aplicaciones pueden ser clasificados según el tipo de software, el modelo de
negocio, y el tipo de uso. Un tipo de software de aplicaciones es la categoría
amplia de la función de los programas. Un modelo de negocio aplicaciones se
9
refiere a las opciones de pago y las razones para su descarga e instalación. El
tipo de uso es como se vende y se clasifica en una App Store la aplicación.
Tipos de software para aplicaciones incluyen la utilidad, productividad, redes
sociales, entretenimiento y juegos. Hay tres modelos de negocio para
Aplicaciones, gratis, freemium.y de la prima. Cada tienda App clasifica más
aplicaciones en función de su uso y la función de mostrar a los compradores de
móviles. Las aplicaciones pueden ser comprados y descargados de tiendas de
aplicaciones. El sistema operativo y el tipo de dispositivo de determinar qué se
utiliza App Store. Hay diferentes tiendas de aplicaciones para distintos
dispositivos y del sistema operativo”.
(Chiles, 2012) nos indica que: Por ejemplo, el sistema operativo Android de
Google utiliza la Google Play Store; Sin embargo, hay otras tiendas de
aplicaciones que son compatibles con los dispositivos Android. Por ejemplo, la
tableta Kindle Fire de Amazon utiliza el sistema operativo Android, pero
Aplicaciones sólo se pueden comprar en la App Store de Amazon, ya que utiliza
una versión especial de Android exclusiva de la marca Kindle de dispositivos
móviles.
Tipos de software de la aplicación se refieren a la utilidad de la forma en que se
utiliza, en lugar de la clasificación de marketing de una tienda de aplicaciones.
Utilidad, la productividad, las redes sociales, el entretenimiento y los juegos son el
tipo de aplicaciones disponibles para los dispositivos móviles.
Segun (Chiles, 2012) indica que: La utilidad Apps soporte utilizando el propio
dispositivo móvil. Son administradores de archivos, antivirus y aplicaciones de
copia de seguridad. Aplicaciones de servicios públicos están diseñados para
ayudar a su dispositivo móvil un rendimiento óptimo.
A las redes sociales App le permite conectarse a su cuenta de redes sociales con
su dispositivo móvil. Dependiendo de las características de la aplicación puede
conectarse con sus amigos, aficionados y seguidores para compartir información,
comunicarse y entablar entre sí de la actividad en línea. Aplicaciones de redes
10
sociales son generalmente libres y con el apoyo de los ingresos por publicidad en
algunos casos.
Un videojuego es un juego electrónico que desempeña el uso de un dispositivo de
entrada para manipular los datos en una pantalla de video. Aplicaciones móviles
permiten a los usuarios jugar juegos de video con los dispositivos de entrada en
ellos y mostrar el juego en la pantalla de vídeo. Aplicaciones de videojuegos son
el tipo más popular y rentable de la aplicación.
Aplicaciones de entretenimiento son los reproductores de música y vídeo, así
como los lectores de libros. Servicios de streaming de música y otras aplicaciones
proporcionan a sus clientes. Servicios de vídeo proporcionan aplicaciones para
streaming y otra reproducción de vídeo por parte de sus clientes también.
Aplicaciones de productividad le permiten producir información. Esto incluye la
modificación de él también. Aplicaciones que le permiten crear o modificar
documentos, audio, video o imágenes son aplicaciones de productividad.
Aplicaciones libres son los más populares. De carga para la descarga e
instalación de una aplicación es una barrera importante para la compra.
Compradores
móviles
instalan aplicaciones
gratuitas. Ellos
no compran
Aplicaciones regularidad.
Android fue fundada en 2003 por un grupo de desabolladores. Google lo compró
en 2005. En 2007 Google formó la Open Handset Alliance para crear estándares
para el código de Android. Android 1.0 fue lanzado en 2008. El HTC Dream es el
primer dispositivo móvil Android.
Android ha crecido hasta convertirse en el sistema operativo más popular en el
mundo. Android Jelly Bean 4.1 fue lanzado en julio de 2012. Key Lime pastel de la
versión 5.0 se produce después de Jelly Bean. Aplicaciones para dispositivos
móviles Android se puede descargar desde la tienda Play Google y varias otras
tiendas de aplicaciones.
11
Google establece sus propias normas y revisa aplicaciones antes de ser puestos
en el Google Play Store. Esto no garantiza la calidad de una aplicación.
Apple utiliza ¡OS para sus dispositivos móviles y la integra en otras cosas como el
Apple TV. Comenzó como el iPhone OS en 2007 y ha llegado a ser conocido
como Internet o sistema operativo iOS desde entonces. Las aplicaciones pueden
ser descargadas e instaladas desde App Store de Apple en exclusiva.
Apple iOS fue el líder de la industria durante muchos años. Sin embargo, ya que
la pérdida de su líder, Steve Jobs, ha estado plagado de bugs y fallos de
seguridad. iOS se acredita a menudo con el auge de la tableta y la popularidad de
los teléfonos inteligentes. IPad de Apple
1.7.
Mobile Sistemas Operativos
El autor (Chiles, 2012) manifiesta que: “Sistemas operativos móviles (OS) de
permitirle instalar aplicaciones desde una tienda de aplicaciones en su dispositivo
móvil. Los fabricantes de dispositivos por lo general incluyen el acceso a la App
Store oficial del OS como un componente del dispositivo. Alternativamente, se
puede acceder a través de un navegador web o la aplicación instalada por usted.
Hay otras tiendas de aplicaciones, dependiendo del sistema operativo y el
dispositivo móvil.
Google Android OS y Apple Internet Operating System (IOS) son los más
populares sistemas operativos para teléfonos inteligentes y tabletas. Windows
Phone y Blackberry son otros sistemas operativos notables para los teléfonos
inteligentes también. Windows Phone y Blackberry no se centran en el mercado
de las tablets.
Los fabricantes de dispositivos móviles, empresas de desarrollo de software de
OS, y los desabolladores de terceras partes hacen Apps. Correo electrónico,
gestores de contactos y calendarios son aplicaciones preinstaladas comunes de
los fabricantes. Google, Apple, Microsoft y Blackberry hacen pre-instalados y
aplicaciones descargares también.
12
Android es el sistema operativo más popular. Es propiedad de Google. El código
se basa en el código de Linux de código abierto. Apple, Microsoft y Blackberry OS
de se basan en código propietario. Apple es un sistema completamente cerrado”.
F.l sistema operativo Android es el más popular en el mundo. Alimenta los
dispositivos más móviles. Cada versión tiene un número y un nombre. Jelly Bean
fue la primera versión optimizada para tablets.
Dispositivos Android van desde los modelos de nivel de entrada de gama baja
para los productos premium de alta gama. Los modelos de gama baja
generalmente tienen acceso a la GetJar App Store en lugar de la Google Play
Store. El Getlar App Store tiene un montón de aplicaciones gratuitas.
Android fue fundada en 2003 por un grupo de desabolladores. Google lo compró
en 2005. En 2007 Google formó la Open Handset Alliance para crear estándares
para el código de Android. Android 1.0 fue lanzado en 2008. El HTC Dream es el
primer dispositivo móvil Android.
Android ha crecido hasta convertirse en el sistema operativo más popular en el
mundo. Android Jelly Bean 4.1 fue lanzado en julio de 2012. Key Lime pastel de la
versión 5.0 se produce después de Jelly Bean. Aplicaciones para dispositivos
móviles Android se puede descargar desde la tienda Play Google y varias otras
tiendas de aplicaciones.
Para (Chiles, 2012) Google establece sus propias normas y revisa aplicaciones
antes de ser puestos en el Google Play Store. Esto no garantiza la calidad de una
aplicación.
Apple utiliza ¡OS para sus dispositivos móviles y la integra en otras cosas como el
Apple TV. Comenzó como el iPhone OS en 2007 y ha llegado a ser conocido
como Internet o sistema operativo iOS desde entonces. Las aplicaciones pueden
ser descargadas e instaladas desde App Store de Apple en exclusiva.
Apple iOS fue el líder de la industria durante muchos años. Sin embargo, ya que
la pérdida de su líder, Steve Jobs, ha estado plagado de bugs y fallos de
13
seguridad. iOS se acredita a menudo con el auge de la tableta y la popularidad de
los teléfonos inteligentes. IPad de Apple
1.8.
Android SDK
Según (Sanderson 2, 2012), el kit de desarrollo de software de android (software
development kit o SDK) incluye un conjunto de herramientas de desarrollo,tales
como un debugger, librerías, un emulador, documentación, código de ejemplo y
tutoriales. Está soportado en Sistemas Operativos Windows, Linux y Mac.
El entorno de desarrollo (integrated development environment o IDE) oficialmente
soportado es Eclipse conjuntamente con el plugin ADT proporcionado por Google.
Desde noviembre del 2007 a septiembre del 2008 han ido surgiendo nuevas
actualizaciones del SDK siendo la última la 18, la cual soluciona algunos errores
de las anteriores y añade nuevas funcionalidades y cambios en las APIs.
En cuanto a las herramientas del SDK se tiene:
•
Android Eclipse Views.- El plugin de Android para Eclipse añade un
número de vistas para poder debugar la aplicación. Una de las más
importantes es el LogCat, un visor de logs del dispositivo que puede ser
filtrado en 5 categorias:
V — Verbose (Prioridad más baja)
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Alta prioridad)
•
Emulator Console.- Algunas funciones en tiempo real del emulador, como
el envió de SMS, pueden ser accedidas usando la consola del emulador
mediante telnet a localhost y puerto, normalmente, 5554.
14
•
Android Debug Bridge (ADB).- Proporciona acceso a funciones del
emulador, incluido el redireccionamiento de puertos.
•
Dalvik Debug Monitor Service (ddms).- La "Dalvik Debug Monitor
Service" es un herramienta integrada con la "Dalvik Virtual Machine", y nos
permite administrar los procesos que corren en una instancia de
emulador/dispositivo y nos asiste en la depuración de ellos. Podemos usar
esta herramienta para terminar la ejecución de un proceso, seleccionar un
determinado proceso para depurar, generar reportes a partir de información
de bitácoras, examinar el "heap" y la información de "thread, tomar
fotografías de la pantalla del emulador/dispositivo y mucho más.
•
Android Debug Bridge (adb).- La herramienta "adb" nos permite instalar
nuestras
aplicaciones
(archivos
".apk")
en
una
instancia
de
emulador/dispositivo y accesar una instancia de emulador/dispositivo
usando comandos de línea. También podemos utilizarlo para enlazar un
depurador estándar al código de una aplicación que esté corriendo en una
instancia de emulador/dispositivo.
•
Android Asset Packaging Tool (aapt).- La herramienta "aapt" te permite
crear archivos ".apk", los cuales contienen las imágenes binarias de tu
código y recursos de tus aplicaciones.
•
Android Interface Description Language (aidl).- Te permite generar
código para una interface de interproceso, tal como la que un servicio
podría utilizar.
•
sqlite3.- Esta herramienta ha sido incluida para comodidad de los
desarrolladores. Nos provee acceso a los archivos de datos "SQLite"
creados y usados por las aplicaciones Android.
15
•
Mksdcard.- Esta herramienta nos ayuda a crear una imagen de disco que
podemos usar con el emulador, para simular la presencia de una tarjeta de
almacenamiento externa (tal como una tarjeta "SD").
•
Dx.- La herramienta "dx" convierte los archivos de "bytecode"43 estándar
(".class") en archivos "Android bytecode" (".dex").
1.9.
Sistemas Operativos
Para (Sanderson 2, 2012), El SDK se encuentra disponible para los siguientes
sistemas operativos:
•
Linux (Todas las Distribuciones)
•
Windows
•
Mac OS X
1.10. Lenguajes de Programación SDK
El autor (Sanderson 2, 2012), manifiesta que: Para trabajar con Android el
lenguaje de programación más óptimo es Java, ya que la mayoría de programas
para Android están escritos en este lenguaje y utilizan las API de la biblioteca
Java 5 Standard Edition (SE).
Android también utiliza un compilador estándar Java para compilar el código
fuente, lo que lo hace que Java sea un lenguaje completamente integrado en
Android.
Opcionalmente se puede desarrollar en C o C++ utilizando un NDK (Kit de
Desarrollo Nativo) para incrementar velocidad en el funcionamiento de las
aplicaciones ejemplo en el desarrollo de juegos.
Eclipse.- Es una herramienta para el programador diseñada principalmente para
el desarrollo de aplicaciones Java, facilitando al máximo la gestión de proyectos
colaborativos mediante el control de versiones', es posible también con
subversión, exportar e importar proyectos.
16
Cocoa Touch.- es un framework que permite el desarrollo de aplicaciones nativas
para Mac OS X. En el caso de iOS el framework se llama "Cocoa Touch" que
incluye reconocimiento gestual, animaciones y una librería distinta para la interfaz
de usuario; el cual se usa en dispositivos Apple como el iPhone, el iPod Touch y
el iPad.
Tambien (Sanderson 2, 2012) señala que: Principalmente, el lenguaje en el que
se programa con esta biblioteca es Objective-C, lenguaje orientado a objetos,
aunque también es posible programar con otros lenguajes de programación.
El entorno de desarrollo que Apple proporciona es Xcode. Este entorno de
desarrollo es gratuito, y proporciona muchas ayudas de productividad. Aun así,
algunos programadores para tener un mayor control prefieren utilizar directamente
las GNU Compiler Collection.
Por el contrario Xcode sólo está disponible para Mac OS X. Sin embargo, se
puede acceder al ambiente de programación usando otras herramientas, tales
como Clozure CL, LipsWorks, Object Pascal, Python, Perl, Ruby y AppleScript
con la ayuda programas de interconexión como PasCocoa, PyObjC, CamelBones,
RubyCocoa y D/Objective-C Bridge .
Symfony.- es un completo framework diseñado para optimizar el desarrollo de las
aplicaciones web basado en el patrón Modelo Vista Controlador. Para empezar,
separa la lógica de negocio, la lógica de servidor y la presentación de la
aplicación web. Proporciona varias herramientas y clases encaminadas a reducir
el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las
tareas más comunes, permitiendo al desarrollador dedicarse por completo a los
aspectos específicos de cada aplicación. El resultado de todas estas ventajas es
que no se debe reinventar la rueda cada vez que se crea una nueva aplicación
web.
Symfony está desarrollado completamente en PHP 5.3. Ha sido probado en
numerosos proyectos reales y se utiliza en sitios web de comercio electrónico de
17
primer nivel. Symfony es compatible con la mayoría de gestores de bases de
datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server. Se puede
ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas
Windows.
Más rápido y menos codicioso: En el mundo de TI, no es raro que la gente se
refiere al rendimiento de una aplicación... una vez que lleguen al final del
proyecto! Es decir, una vez que todo ha sido diseñado tanto en lo funcional y los
niveles de tecnología. Y a menos que usted tome todo menos una vez más, la
optimización del rendimiento no es precisamente una tarea fácil. Por otro lado,
Symfony2 fue concebido desde el principio para ser rápido y para favorecer el
rendimiento. A modo de comparación, Symfony2 es aproximadamente 3 veces
más rápido que la versión 1,4 o de 1,10 Zend Framework, teniendo hasta 2 veces
menos memoria.
Flexibilidad ilimitada: Sean cuales sean sus necesidades, Symfony2 será
adaptable. Su dependencia del inyector y el despachador de eventos que sea
totalmente configurable, con cada uno de los ladrillos son totalmente
independientes. A 3-en-1 marco, de todo tipo
• Línea indentada Stack completo (versión completa): se quiere desarrollar una
aplicación compleja y que necesita muchas funcionalidades.
• Ladrillo por ladrillo: a construir su estructura de acuerdo con las funciones que
usted necesita
• Microframework: como un independiente, Symfony2 también se puede utilizar
para desarrollar una funcionalidad específica en uno de sus proyectos. Sin tener
que reconstruir todo y sin necesidad de instalar todo el marco, pero sólo el ladrillo
concreto que usted necesita.
El autor (Sanderson 2, 2012) indica que: La permanencia es también algo que se
relacione con apoyo a largo plazo. Hoy en día, este apoyo es proporcionado por
Sensio naturalmente. Pero también hay todo un ecosistema que ha crecido
18
alrededor de Symfony desde su lanzamiento: la comunidad (listas de correo, IRC,
etc) y las empresas de servicios de muchos otros que han invertido en el marco.
Por último, también es con miras a un desarrollo sostenible que Symfony se
distribuye bajo licencia Open Source MIT, que no impone restricciones y permite
el desarrollo de código abierto, así como aplicaciones propietarias.
Ampliable: Desde el más pequeño ladrillo a la base completa en sí, todo lo que
se presenta como un "paquete" (o plug-in en el lenguaje Symfony) en Symfony2.
Cada paquete está destinado para añadir funcionalidad al marco, por supuesto, y
cada paquete también puede ser reutilizada en otro proyecto o compartida con el
resto de la comunidad. En cualquier caso, el sistema de haces permite que todo
cambio dentro de Symfony, incluyendo el propio núcleo. Uso de contratos de la
interfaz del sistema entre los ladrillos, el comportamiento del marco así puede ser
cambiado a voluntad, sin necesidad de reconfiguración completa.
Estable y sostenible: Desarrollado por los Laboratorios Sensio, las principales
versiones de Symfony son soportados por 3 años por la empresa. E incluso de
por vida en cuanto a las cuestiones relacionadas con la seguridad se refiere. Para
mayor estabilidad, las versiones menores del contrato Symfony2 y la interfaz
también están garantizadas y la compatibilidad entre todas las versiones
secundarias se llevará a cabo en el API definido por las interfaces públicas.
La alegría de desarrollo: En un entorno altamente funcional, Symfony2 también
garantiza un cierto nivel de comodidad para los desarrolladores. Al cuidar de una
serie de tareas desagradables (desarrollo de funcionalidades de menor
importancia, por ejemplo), Symfony2 permite a los desarrolladores centrarse en
los aspectos más destacados reales de una aplicación y para ambos
completamente validar su papel y mejorar su productividad. Entre las
herramientas de Symfony diseñados para que el vida de un desarrollador mucho
más fácil, está la barra de herramientas de depuración web legendario, así como
soporte nativo para entornos de desarrollo, páginas de error detallados o incluso
de seguridad nativa.
19
Facilidad de uso: Completamente flexible para satisfacer las necesidades de los
profesionales y usuarios avanzados por igual, Symfony2 es también muy
accesible. Abundante documentación, la comunidad y el apoyo profesional, y
"incrustados" mejores prácticas dentro del marco (las mejores prácticas que se
aplican de forma nativa sin necesidad de ser conscientes de ellos o entenderlos)
permiten que un principiante se sienta muy rápidamente a gusto con Symfony.
1.11. Netbeans
El autor (Sanderson 2, 2012) indica que: es un entorno de desarrollo integrado
libre, hecho principalmente para el lenguaje de programación Java. Existe
además un número importante de módulos para extenderlo. NetBeans IDE2 es un
producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de
usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en
todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans
en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir
de un conjunto de componentes de software llamados módulos. Un módulo es un
archivo Java que contiene clases de java escritas para interactuar con las APIs de
NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las
aplicaciones construidas a partir de módulos pueden ser extendidas agregándole
nuevos módulos. Debido a que los módulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma NetBeans pueden
ser extendidas fácilmente por otros desarrolladores de software.
El NetBeans IDE es un IDE de código abierto escrito completamente en Java
usando la plataforma NetBeans. El NetBeans IDE soporta el desarrollo de todos
los tipos de aplicación Java (J2SE, web, EJB y aplicaciones móviles). Entre sus
20
características se encuentra un sistema de proyectos basado en Ant, control de
versiones y refactoring.
NetBeans IDE 6.5, la cual fue publicada el 19 de noviembre de 2008, extiende las
características existentes del Java EE (incluyendo Soporte a Persistencia, EJB 3 y
JAX-WS). Adicionalmente, el NetBeans Enterprise Pack soporta el desarrollo de
Aplicaciones empresariales con Java EE 5, incluyendo herramientas de desarrollo
visuales de SOA, herramientas de esquemas XML, orientación a web servicies
(for BPEL), y modelado UML. El NetBeans C/C++ Pack soporta proyectos de
C/C++, mientras el PHP Pack, soporta PHP 5.
Modularidad. Todas las funciones del IDE son provistas por módulos. Cada
módulo provee una función bien definida, tales como el soporte de Java, edición,
o soporte para el sistema de control de versiones. NetBeans contiene todos los
módulos necesarios para el desarrollo de aplicaciones Java en una sola descarga,
permitiéndole al usuario comenzar a trabajar inmediatamente.
Sun Studio, Sun Java Studio Enterprise, y Sun Java Studio Creator de Sun
Microsystems han sido todos basados en el IDE NetBeans.
Desde julio de 2006, NetBeans IDE es licenciado bajo la Common Development
and Distribution License (CDDL), una licencia basada en la Mozilla Public License
(MPL). En octubre de 2007, Sun anunció que NetBeans desde entonces se
ofrecerá bajo licenciamiento dual de Licencia CDDL y la GPL versión 2.
1.12. Apache.
Según (Kabir, 2010) Apache, es el número uno de los servidores Web de todo el
mundo. Más del 50% de los servidores de la Red utilizan Apache, de acuerdo con
una encuesta desarrollada por Netcraft (www.netcraft.co.uk/Survey/). Si está
barajando la idea de montar un servidor Apache, sepa que está en el lugar
indicado. Este capítulo le mostrará cómo hacerlo.
21
En los primeros días de la Red, NCSA (National Center for Supcr Computing
Applications) creó un servidor Web que se convirtió en el número uno de los
servidores Web a principios de 1995. De todas formas, por esa misma época el
proyecto de NCSA cayó en el olvido. Los usuarios de dicho servidor comenzaron
a intercambiar los parches que tenían y en breve se die¬ron cuenta de que había
que crear un foro que se encargase de la administra¬ción de dichos parches.
Había nacido Apache Group. Utilizaron el código del servidor Web de NCSA y
crearon un nuevo servidor al que llamaron Apache. Procedente del código fuente
de NCSA y de una gran colección de parches, el servidor Apache se ha
convertido en la comidilla de la comunidad de Internet. Apenas le ha llevado tres
años convertirse en el servidor por excelencia del mercado.
Para el Autor (Kabir, 2010), Cualquiera que sepa cómo participar en el desarrollo
del servidor o de sus módulos, puede hacerlo, aunque es verdad que el grupo
tiene la última palabra a la hora de decidir qué se incluye en la distribución
estándar conocida como Servidor Web Apache. De esta forma se ha conseguido
que sean miles las personas que trabajan en el desarrollo de nuevas propiedades,
corrección de errores, puertos para las nuevas plataformas, etc. Cuando se envía
el nuevo código a Apache Group, sus miembros investigan todos los detalles, lo
someten a todo tipo de test y comprueban su calidad. Si están satisfechos con los
resultados, incluyen el código en la versión que se distribuye.
Ahora que ya sabemos algo más sobre la historia de Apache, vamos a conocer
sus propiedades.
1.13. Propiedades de Apache
También (Kabir, 2010) señala que: Una de las características más importantes de
Apache es que se utiliza en casi todas las plataformas. Al principio únicamente
funcionaba con los servi-dores Web Unix, pero la situación cambió. En la
actualidad Apache no sólo funciona con todas las versiones de Unix sino que
también lo hace con Win-dows 95/NT, Amiga y OS/2.
22
El autor (Kabir, 2010) manifiesta sobre las características: Apache tiene otras
muchas características, como la indexación de directorios, uso de sobrenombres
con las carpetas, negociación de contenidos, informes configurables sobre los
errores HTTP, Ejecuciones SctUID o Programas CGI, administración de recursos
para los procesos emparentados, mapas de imagen para los servidores,
reescritura de URL, corrección de URL y manuales online.
Entre sus principales propiedades tenemos las siguientes:
•
Admite la última versión del protocolo HTTP/1.1 (Apache es uno de los
primeros servidores Web que trabajó con este protocolo). Es completamente compatible con el nuevo estándar HTTP/1.1 y con su versión anterior HTTP/1.0. Está preparado para hacerse cargo de todas las nuevas
propiedades que tenga que ofrecer este protocolo. Por ejemplo, antes de
HTTP/1.1 un explorador Web tenía que esperar la respuesta del servidor
Web antes de poder enviar otra petición. Con esta nueva versión esto ya
no hace falta. Un explorador Web puede enviar peticiones en paralelo, con
lo que se ahorra ancho de banda al no tener que incluir una cabecera en
todas y cada una de las solicitudes. Con este sistema las respuestas a las
peticiones del usuario aparecerán antes en la pantalla de su explorador.
•
Simplicidad, aún con las potentes configuraciones basadas en ficheros, ni
servidor Apache no dispone de una interfaz gráfica. Tiene tres archivos de
configuración (en texto plano) que se pueden utilizar para ajustar los
parámetros del servidor. Todo lo que necesitará será un editor de textos. Si
lo desea, puede simplificar aún más la configuración uniendo los tres
archivos en uno sólo.
•
Puede trabajar con CGI. El servidor Apache utiliza el módulo mod_cgi. íistá
compilado con la versión 1.1 de CGI y entre las características que ofrece
se encuentra la personalización de las variables de entorno o la búsqueda
de errores, propiedad que tanto cuesta a otros servidores.
•
Admite servidores virtuales. Apache es también uno de los primeros
servidores Web que puede trabajar con direcciones IP y con nombres
virtuales.
23
•
Admite la autenticación HTTP. Apache también puede trabajar con la
autenticación básica de la Red. Además está preparado para asimilar los
mensajes basados en la autenticación, algo que cada vez es más popular y
que los servidores van a tener que implementar. Para sus autenticaciones,
Apache utiliza archivos de contraseñas. DBM, SQL o llamadas a
programas externos especializados en la materia.
•
Integra Perl. Perl se ha convertido en el lenguaje de programación por
excelencia de la programación de scripts en CGI. Y posiblemente uno de
los factores que ha influido para que ocurriese esto ha sido Apache. Por
medio del módulo mod Perl podrá cargar scripts CGI programados en Perl
en la memoria del ordenador y utilizarlos tantas veces como desee. Este
proceso elimina los problemas de inicio tan asociados con los lenguajes de
interpretación (entre los que se encuentra Perl).
•
Cuenta con un servidor Proxy. Puede convertir su servidor Apache en uno
Proxy. Pero ha de tener en cuenta que el módulo que utiliza para ello no
admite la función inversa ni el protocolo HTTP/1.1. Ya se está trabajando
en la actualización de este módulo.
•
Puede trabajar con SSI. Apache dispone de una serie de anexos para el
servidor que mejoran la flexibilidad del desarrollado de sitios Web.
Utilizando los comandos eXtendcd Server Side Include en su servidor
Apache, podrá hacer lo mismo que con SSI y más.
•
Admite SSL. Debido a las leyes y restricciones del Copyright sobre la
exportación e importación de productos de los EE.UU., Apache no es
compatible con SSL. Pero hay una gran cantidad de parches para Apa-che
(Apache-SSL), además de versiones comerciales del producto, que permite
que pueda trabajar con este sistema de seguridad.
•
Capacidad para registrar las acciones de los usuarios. Por medio de las
cookies HTTP un módulo de Apache, llamado mod_usertrack puede
registrar los movimientos de los usuarios según se mueven por el sitio Web
Apache.
•
Trabaja con FastCGI. Es verdad que no todo el mundo escribe COI en Perl.
Entonces, ¿cómo pueden hacer que sus aplicaciones sean más rápidas?
Con una solución de Apache: el módulo mod t'cgi, gracias al cual se puede
24
implementar un entorno FaslCGI dentro de Apache y ha-cer que sus
aplicaciones vayan mucho más rápido.
•
Admite Java Servlets. Java Scrvlets es un módulo experimental en esta-do
alpha (modjserv) para Apache. Cuando salga oficialmente, logrará que
Apache ejecute las aplicaciones en Java propias del servidor. De esta
forma podrá trabajar con multitarea.
1.14. Mysql
El Autor (Thibaud, 2006 ) señala que: MySQL es un sistema de administración de
bases de datos relaciónales (SGBDR) rápido, robusto y fácil de usar. Se adapta
bien a la administración de datos en un entorno de red, especialmente en
arquitecturas cliente/servidor. Se proporciona con muchas herramientas y es
compatible con muchos lenguajes de programación. Es el más célebre SGBDR
del mundo Open Source, en particular gracias a su compatibilidad con el servidor
de páginas Web Apache y el lenguaje de páginas Web dinámicas PHP.
En ciertos casos, es práctico o necesario adquirir una licencia comercial. Los
casos prácticos reflejan la necesidad de un soporte por parte del editor o la
voluntad de apoyar el trabajo de la empresa MySQL AB en el desarrollo y el
soporte de MySQL. Los casos para los que es necesaria una licencia comercial se
resumen así:
•
Si el programa resultado del uso de MySQL no respeta a su vez el sistema
de licencia GPL y está compilado con código MySQL.
•
Si el programa creado no se distribuye bajo licencia GPL y sólo funciona
con el SGBDR MySQL.
•
Si MySQL se redistribuye sin el código fuente a pesar de su licencia GPL.
La compra de una licencia permite instalar una o más instancias de MySQL en un
mismo equipo. El número de microprocesadores no influye en el precio de las
licencias y las conexiones clientes al servidor tampoco están limitadas.
Si se utiliza MySQL con un servidor Web como Apache o Internet Information
Server (IIS), no se requiere ninguna licencia aunque el servidor Web sea un
25
sistema comercial. Esta cláusula es vigente aunque el sitio Web albergado sea un
sitio comercial.
1.15. Características Técnicas de MySql
Para el autor (Thibaud, 2006), La lista siguiente presenta las principales
características del servidor MySQL:
•
Está escrito en C/C++ y probado con numerosos compiladores.
•
Funciona en muchos sistemas operativos.
•
Soporta muchas API como C, C++, PHP, Perl, Eiffel, Python, Java, Tel.
•
Las utilidades clientes y de administración utilizan los sockets TCP/IP, los
sockets Unix o los canales con nombre NT (Named Pipes).
•
Dispone de un driver ODBC (Open DataBase Connectivity) para Windows
lo que le aporta compatibilidad con la mayoría de lenguajes disponibles en
este sistema operativo.
•
Dispone de un driver ADO vía OLEDB en Windows para un mejor
rendimiento que ODBC.
•
Es totalmente multithread, lo que aumenta enormemente el rendimiento del
servidor. MySQL está previsto para funcionar en entornos multiprocesador.
•
Dispone de un sistema de administración de la memoria extremadamente
potente. La cantidad de memoria tiene una incidencia directa sobre el
rendimiento de MySQL. Si un servidor presenta fallos de rendimiento, suele
bastar con añadir memoria RAM para mejorar sensiblemente su
rendimiento.
•
Se puede interrogar con el lenguaje SQL, lo que garantiza una mejor
compatibilidad con otros SGBDR. Todos los scripts SQL escritos para otro
SGBDR que respeten el SQL estándar pueden utilizarse con MySQL.
•
Soporta muchos tipos de columnas de tipos numérico, fecha y hora,
cadena de texto. MySQL soporta también columnas de gran tamaño como
las columnas de tipos texto y binario.
•
Dispone de un sistema potente de administración de usuarios y sus
privilegios.
26
•
Es capaz de administrar bases de datos de gran tamaño. Ciertas empresas
lo utilizan actualmente con bases de datos de unas 60 000 tablas y
alrededor de 5 000 000 000 de registros.
•
Una tabla puede contener hasta 32 índices y cada índice puede estar
constituido por un máximo de 16 columnas.
•
Es posible instalar varias instancias de servidor MySQL. Cada instancia es
completamente independiente y gestiona sus propias bases de datos.
1.16. Php
Según el Autor (Cobo, 2005) señala que: PHP es un lenguaje interpretado del
lado del servidor que se caracteriza por su potencia, versatilidad, robustez y
modularidad. Los programas escritos en PHP son embebidos directamente en el
código HTML y ejecutados por el servidor web a través de un intérprete antes de
transferir al cliente que lo ha solicitado un resultado en forma de código HTML
puro. Al ser un lenguaje que sigue la corriente open source, tanto el intérprete
como su código fuente son totalmente accesibles de forma gratuita en la red.
Por su flexibilidad, PHP resulta un lenguaje muy sencillo de aprender;
especialmente para programadores familiarizados con lenguajes como C, Perl o
Java, debido a las similitudes de sintaxis entre ellos.
Por supuesto, es un lenguaje multiplataforma; los programas funcionan igual
sobre diferentes plataformas, trabajando sobre la mayoría de servidores web y
estando preparado para interactuar con más de 20 tipos de bases de datos. No
obstante, al ser un lenguaje inicialmente concebido para entornos Unix, es sobre
este sistema operativo sobre el que se pueden aprovechar mejor sus
prestaciones.
En comparación con otro tipo de tecnologías similares, PHP resulta más rápido,
independiente de la plataforma y más sencillo de aprender y utilizar.
Todas estas características han hecho de este lenguaje uno de los que mayor
crecimiento ha experimentado en los últimos años, desde su aparición en 1994.
Es de destacar especialmente la facilidad para la conectividad con sistemas
gestores de bases de datos a través de un gran número de funciones
especializadas. En este libro en concreto se analizará la conectividad con el
27
sistema gestor MySQL. Esa facilidad de conexión ha hecho que PHP sea
actualmente uno de los lenguajes más utilizados para la generación de páginas
dinámicas,
no solo
personales
sino también portales
de empresas
y
organizaciones.
Inicialmente diseñado para realizar poco más que contadores y libros de visita de
páginas, en la actualidad PHP permite realizar una multitud de tareas útiles para
el desarrollo web. Por ejemplo, dispone, entre otras, de:
Inicialmente diseñado para realizar poco más que contadores y libros de visita de
páginas, en la actualidad PHP permite realizar una multitud de tareas útiles para
el desarrollo web. Por ejemplo, dispone, entre otras, de:
•
Funciones de correo electrónico que pueden ser utilizadas para programar
completos sistemas de correo electrónico vía web.
•
Funciones de administración y gestión de bases de datos específicas para
la mayoría de gestores comerciales y funciones para conexiones ODBC
con bases de datos en sistemas Microsoft.
•
Funciones de gestión de directorios y ficheros, incluso para la transferencia
mediante FTP.
•
Funciones de tratamiento de imágenes y librerías de funciones gráficas
•
Funciones de generación y lectura de cookies.
•
Funciones para la generación de documentos PDF.
A la innumerable cantidad de funciones predefinidas en PHP deben añadirse, por
supuesto todas aquellas funciones propias de cada programador, y que pueden
ser reutilizadas e intercambiadas a través de foros específicos con otros
programadores.
1.17. Java
El autor (Saney, 2001) señala que: “Java apareció en el mercado como el
lenguaje de referencia de los años siguientes. En efecto, Java es el primer
lenguaje de programación realmente universal, permitiendo desarrollar, de forma
rápida, todos los tipos de aplicaciones que antes necesitaban otros lenguajes de
programación específicos. Java es empleado, tanto para desarrollar aplicaciones
28
distribuidas para la gestión de datos como para programar applets que hagan
aparecer texto en una página Web. Por otra parte, Java permite, de la misma
manera, realizar prototipos funcionales de forma muy rápida, eliminando la
necesidad de recurrir a otras utilidades específicas para esta fase del desarrollo.
Otra ventaja de Java es la asombrosa claridad de su sintaxis. En la mayoría de
los programas Java, las líneas de código son más comprensibles que las líneas
de los comentarios. Java reemplaza, de una forma muy ventajosa, lenguajes de
programación tan distintos como BASIC o C++. Del primero, Java tiene la
simplicidad, y del segundo la eficacia. Por otra parte, Java ofrece una seguridad a
toda prueba. A más a más, Java es, muy probablemente, el lenguaje de
programación que posee menos idiosincrasias, cosa que hace muy fácil su
aprendizaje. La coherencia de Java y su compactibilidad son ejemplares. Así, un
programa que necesita 400 líneas de código en C++ se puede escribir, muy
probablemente en Java, en una cincuentena de líneas. Por estas razones, es
deseable que Java pase a ser el primer lenguaje de programación no sólo por el
número de usuarios sino también por ser el primer lenguaje aprendido por los
nuevos programadores”.
29
CAPITULO II
METODOLOGÍA DE LA INVESTIGACIÓN
CCAINFOR (Centro de Capacitación y Asesoramiento Informático) es una micro
empresa que nace de las habilidades en el desarrollo de aplicaciones web,
aplicaciones móviles y todo en cuanto lo que se refiere en el área de informática,
facilitando y dando asesorías para una mejor toma de decisiones a sus clientes y
ayudándolos en la capacitación al público en general, con una visión comercial de
su gerente el Sr. Dany Javier Sanchez Carrera , su origen data del 2008 en la
ciudad de Ibarra, provincia de Imbabura, donde comienza con la asesoría y
capacitación informática, desarrollo de páginas web, aplicaciones móviles,
sistemas informáticos y todo lo referente a esta rama.
Enfocándose y teniendo como especialidad la creación de páginas y aplicaciones
web, CCAINFOR decide enfocarse a la creación de aplicaciones móviles
inteligentes, y así dar a sus clientes una mejor opción de negocios. Es así que
“CCAINFOR” empieza con el desarrollo de Apps (Aplicaciones Móviles
Inteligentes) utilizando varias plataformas para el desarrollo con los sistemas
operativos ANDOID e IOS.
Misión
Somos una microempresa dedicada a la comercialización y distribución de
productos informáticos, desarrollo de aplicaciones informáticas de gestión,
aplicaciones web, aplicaciones móviles inteligentes, soluciones en Internet,
servicio técnico, mantenimiento de equipos, sistemas informáticos, asesoría
informática y capacitaciones. Ofreciendo una solución global a empresas,
profesionales, administraciones y usuarios particulares, a todo el territorio
nacional.
Visión
Planeamos ser un referente en el mercado nacional en la sección de las TIC, y
para ello conseguiremos todos los refuerzos que ofrecemos vigentemente
extendiendo los que vayan naciendo debido a la insuficiencia de cambio
30
estimulado por las evoluciones tecnológicas. Esto es así ya que somos una
empresa en persistente innovación ya que el sector de la tecnología así lo
requiere.
Bibliográfica: Radica en la recopilación de información evidente en libros revistas
e internet, se la emplea para la obtención del denominado marco teórico que es el
que fundamenta científicamente la propuesta de solución. En este caso concreto
la investigación bibliográfica se orienta a las herramientas de desarrollo de la
aplicación web, como por ejemplo: Android SDK, XCode, Eclipse, Android Studio,
Netbeans, Apache, MySQL, PHP, Google Play.
De campo: Esta indagación se realiza en el mismo lugar en donde se muestran
los indicios de la problemática, si bien es cierto en este caso en particular se
efectuara en dicha microempresa. Este proceso investigativo se lo desarrollo
llevando a cabo unas encuestas y entrevistas.
Las técnicas que se destinaran en el proceso de indagación son; la encuesta
está delegada de llevar a cabo a los clientes de la microempresa (CCAINFOR) así
como el personal de desarrollo de la misma; tomando en cuenta que del mismo
modo se efectuará una entrevista al gerente-propietario para conseguir sus
criterios relacionados a la problemática y a la solución de la misma.
Los instrumentos investigativos que localizamos asociados a las técnicas son;
los cuestionarios que se manipularán para las encuestas orientadas a los clientes
y al personal de desarrollo, también la guía de entrevistas para el gerente de la
empresa.
Población y Muestra
La población que se encuentra implicada en la problemática que esta descrita al
inicio del presente trabajo con su respectiva indagación se encuentra detallada
de la siguiente forma:
31
Función
Número
Gerente (CCAINFOR)
1
Clientes
30
Desarrolladores
3
TOTAL
34
Tabla 1, Marco Muestral.
Fuente: Población y muestra
Elaborado por: Marlon Tixicuro.
Se define como la muestra, a un porcentaje de la población, pero en este caso
como la población es muy pequeña la misma se convierte en la muestra.
La investigación de campo sé llevó a cabo utilizando los siguientes métodos:
Histórico – Lógico: Los antecedentes de desarrollo de aplicaciones en
la
microempresa es muy trascendental para la realización de el diagnostico de la
problemática, es por esta razón por la cual se empleó este método investigativo
que nos transportará a una deducción lógica de la problemática.
Analítico – Sintético: Este par dialectico fue muy útil, el momento de elaborar el
fundamento científico que sustenta la solución del problema.
Inductivo – Deductivo: En el desarrollo del trabajo investigativo se induce una
solución particular para deducir una solución general a la problemática.
32
Resultados de la encuesta realizada a los desarrolladores de CCAINFOR
Pregunta Nº1. ¿Usted utiliza aplicaciones móviles?
Respuesta
Para
Frecuencia
procesos
de
negocios
(e-
Porcentaje %
8%
bussiness)
Comercio electrónico
17%
Educación o aprendizaje en línea
17%
Juegos en una aplicación o en línea
25%
Aplicaciones
en
general
para
una
0%
plataforma específica
Desarrollo web
25%
Multimedia
8%
TOTAL
100%
Tabla 2, Pregunta 1.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Para
Comercio
procesos de
electrónico
negocios (e17%
bussiness)
8%
Multimedia
8%
Desarrollo
web
25%
Aplicaciones
en general
para una
plataforma
específica…
Juegos en
una Educación o
aplicación oaprendizaje
en línea
en línea
17%
25%
Grafico 1, Pregunta 1.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Grafico N° 1 Aplicaciones Móviles. Fuente: Investigación propia
Se deduce fácilmente que el mayor desarrollo de aplicaciones se inclina por los
juegos en aplicación o también en línea, esto significa que el mayor potencial se
encuentra reflejado claramente en los resultados.
33
Pregunta Nº2. En el desarrollo de aplicaciones móviles, ¿usted siempre sigue las
tendencias de vanguardia?
Respuesta
Frecuencia
Porcentaje %
Totalmente de acuerdo
2
67%
Medianamente de acuerdo
1
33%
Indiferente
0
0%
En desacuerdo
0
0%
Totalmente en desacuerdo
0
0%
TOTAL
3
100%
Tabla 3, Pregunta 2.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Medianam
ente de
acuerdo
33%
En
desacuerd
o
0%
Indiferente
0%
Totalment
eTotalment
en
desacuerd
e de
oacuerdo
0% 67%
Grafico 2, Pregunta 2.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Se manifiesta que en el desarrollo de aplicaciones móviles es un factor primordial
la vanguardia que van de la mano con las nuevas tecnologías esto, significa que
sirve para la ejecución de aplicaciones más novedosas y por ende más
comerciales.
34
Pregunta Nº3. Al desarrollar aplicaciones móviles, ¿considera usted la fiabilidad,
facilidad de uso, confiabilidad, desempeño y el soporte como indicadores de
calidad?
Respuesta
Frecuencia
Porcentaje %
Totalmente de acuerdo
1
67%
Medianamente de acuerdo
2
33%
Indiferente
0
0%
En desacuerdo
0
0%
Totalmente en desacuerdo
0
0%
TOTAL
3
100%
Tabla 4, Pregunta 3.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Medianame
nte de
acuerdo
33%
Indiferente
0%
Totalmente
En
en
desacuerdo
desacuerdo
0%
0%
Totalmente
de acuerdo
67%
Grafico 3, Pregunta 3.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Manifiesta claramente que los desarrolladores se encuentran totalmente de
acuerdo en que el diseño de aplicaciones sean fáciles de usar tengan mucha
confiabilidad y tengan mucha calidad, Esto significa que el desarrollo está de
acuerdo a normas calidad, para un fácil uso del usuario.
35
Pregunta Nº4. ¿El desarrollo de la aplicación siempre esta apegado al costo
proyectado y se finaliza cuando ya no hay presupuesto?
Respuesta
Frecuencia
Porcentaje %
Totalmente de acuerdo
3
100%
Medianamente de acuerdo
0
0%
Indiferente
0
0%
En desacuerdo
0
0%
Totalmente en desacuerdo
0
0%
TOTAL
3
100%
Tabla 5, Pregunta 4.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Indiferente
En
0%
desacuerdo
0%
Median
amente
de
acuerd
o
0%
Totalmente
de acuerdo
100%
Totalmente
en
desacuerdo
0%
Grafico 4, Pregunta 4.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Es evidente el resultado de un total acuerdo que en el desarrollo de las
aplicaciones móviles siempre se está pegado a un costo proyectado, esto significa
que se debe trabajar y tomar en cuenta el presupuesto manejado por los
desarrolladores.
36
Pregunta Nº5. ¿En qué plataforma
usted ha desarrollado más cantidad de
aplicaciones móviles?
Respuesta
Frecuencia
Porcentaje %
Android
2
67%
IOS
1
33%
Otros
0
0%
TOTAL
3
100%
Tabla 6, Pregunta 5.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Otros
0%
IOS
33%
Android
67%
Grafico 5, Pregunta 5.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Se concluye claramente que la plataforma donde se ha desarrollado la mayor
cantidad de aplicaciones móviles es en Android, esto significa que las
aplicaciones IOS
37
Pregunta Nº6. ¿Qué tipo de servicios son los más utilizados en las aplicaciones
que usted desarrolla?
Respuesta
Frecuencia
Porcentaje %
Redes sociales
28%
Descarga de archivos
27%
Correo electrónico
0%
Web y bases de datos
18%
Multimedia (video, audio, animación)
27%
Otros
0%
servicios;
impresión,
localización y búsqueda
TOTAL
100%
Tabla 7, Pregunta 6.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Multimedia
(video, audio, a
nimación)
27%
Redes sociales
28%
Web y bases
de datos
18%
Otros servicios;
impresión, loca
lización y
búsqueda
0%
Descarga de
archivos
27%
Correo
electrónico
0%
Grafico 6, Pregunta 6.
Fuente: La Encuesta desarrolladores.
Elaborado por: Marlon Tixicuro.
Se induce que los servicios que más se utiliza son las redes sociales seguidas de
las aplicaciones de descargas de archivos, esto significa que actualmente las
redes sociales están marcando tendencia en el mercado y por lo tanto son las
más
utilizadas.
38
Resultados de la encuesta realizada a los clientes de CCAINFOR
Pregunta Nº1. ¿Usted utiliza aplicaciones móviles?
Respuesta
Frecuencia
Porcentaje %
Si
26
87%
No
4
13%
TOTAL
30
100%
Tabla 8, Pregunta 1.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
No
13%
Si
87%
Grafico 7, Pregunta 1.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
Se deduce visiblemente que la mayoría de clientes si utiliza aplicaciones móviles,
esto significa que las aplicaciones móviles son tendencia en la actualidad.
39
Pregunta Nº2. ¿Cuántas aplicaciones tienes actualmente instaladas en tu móvil?
Respuesta
Frecuencia
Porcentaje %
1-5
10
52%
5 - 10
14
37%
10 - mas
2
11%
TOTAL
26
100%
Tabla 9, Pregunta 2.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
( 10 - mas )
11%
(1-5)
37%
( 5 - 10 )
52%
Grafico 8, Pregunta 2.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
Se ratifica plenamente que los clientes usan una cantidad considerable de
aplicaciones móviles, esto significa que se han vuelto muy esenciales en nuestros
dispositivos móviles y tablets ya que nos puede servir de mucha ayuda según
para lo que sean desarrollados.
40
Pregunta Nº3. ¿Qué tipo de licenciamiento tienen las aplicaciones móviles
utilizadas?
Respuesta
Frecuencia
Porcentaje %
Software bajo licencia
11
42%
Software gratis
15
58%
TOTAL
26
100%
Tabla 10, Pregunta 3.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
Software
bajo
licencia
42%
Software
gratis
58%
Grafico 9, Pregunta 3.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
Manifiesta notoriamente que las aplicaciones móviles en su mayoría es preferido
por sus clientes de forma gratuita, es significa que las aplicaciones móviles que no
tienen ningún tipo de costo son las más ejecutadas por los usuarios
41
Pregunta Nº4. En general ¿cómo eliges las aplicaciones que quieres tener?
Respuesta
Frecuencia
Porcentaje %
Las busco personalmente
11
42%
Me
las
recomiendan
amigos, 9
35%
No las busco, cuando la veo, me la 6
23%
conocidos
instalo
Otros
0
0%
TOTAL
26
100%
Tabla 11, Pregunta 4.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
No las
busco, cuan
do la
veo, me la
instalo
23%
Otros
0%
Las busco
personalme
nte
42%
Me las
recomienda
n
amigos, con
ocidos
35%
Grafico 10, Pregunta 4.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
Es evidente que la mayoría de aplicaciones móviles descargadas es porque a los
usuarios se las recomiendan, esto quiere decir que ciertamente las personas que
ejecutan las aplicaciones les gustan estar en vanguardia de la tecnología y probar
aplicaciones recomendadas.
42
Pregunta Nº5. ¿Qué plataforma cree usted que tiene más aplicaciones?
Respuesta
Frecuencia
Porcentaje %
ANDROID
12
54%
IOS
14
46%
TOTAL
26
100%
Tabla 12, Pregunta 5.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
ANDROID
46%
IOS
54%
Grafico 11, Pregunta 5.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
Si bien es cierto de ratifica por una mínima diferencia que la plataforma IOS tiene
más aplicaciones que la plataforma ANDROID, podemos notar que las
aplicaciones móviles de IOS de cierta manera tienen mayor variabilidad en los
desarrollos.
43
Pregunta Nº6. ¿Qué plataforma piensa usted que presenta las mejores
aplicaciones?
Respuesta
Frecuencia
Porcentaje %
ANDROID
13
50%
IOS
12
46%
OTROS
1
4%
TOTAL
26
100%
Tabla 13, Pregunta 6.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
OTROS
4%
ANDROID
50%
IOS
46%
Grafico 12, Pregunta 6.
Fuente: La Encuesta clientes.
Elaborado por: Marlon Tixicuro.
En este caso la gran mayoría manifiesta a favor de ANDRIOD respecto a calidad,
esto significa que las aplicaciones móviles de ANDROID llaman mucha más la
atención
de
los
usuarios
que
44
las
utilizan
y
las
descargan.
Entrevista al Gerente, El Sr. Dany Javier Sánchez Carrera
¿Desde su punto de vista que se necesita para cubrir las necesidades de los
clientes?
Creo que cada plataforma tiene sus cosas buenas y malas. Android está ya muy
maduro y hay un montón de gente desarrollando librerías Open Source para
poder hacer una gran cantidad de funcionalidades de una forma fácil y rápida. En
iOS el codebase está muy estable y con cada versión sacan cosas nuevas.
Windows Phone está empezando pero tiene un gran entorno de desarrollo y el
uso de C# hace que escribir código sea una delicia. Y un buen código de Web
Mobilebien optimizado puede ser una muy buena solución para muchos casos.
¿Cuáles son los recursos que la comunidad de desarrolladores de estas
plataformas móviles (ANDROID e IOS) pone al alcance de los usuarios y de
otros desarrolladores?
Hay muchísimo movimiento y lo mejor de todo es que desde el principio se ha
promovido la fislosofía del Open Source y el compartir. El caso claro lo tenemos
en Square que ha hecho una grandísima labor liberando multitud de librerías de
las cuales nos aprovechamos todos los desarrolladores, como por ejemplo
ActionBarSherlock, Retrofit o ViewPagerIndicator.
En el caso concreto de Android es muy interesante la comunidad que ha surgido
en Google+ (sí, esa red social que está desierta) en la que es habitual charlar no
sólo con desarrolladores de todo el mundo sino estar en contacto directo con los
propios desarrolladores de Google que nos mantienen al día con las últimas
novedades o nos ayudan con estupendos manuales. Si eres desarrollador
Android hay que estar en google+ y seguir a Roman Nurik, Rich Hyndman, Chet
Haase, Matias Duarte, Juhani Lehtimäki, Fernando Cejas.
45
¿Cree usted que una aplicación móvil puede expandirse o mejorar
fácilmente?
La moda ahora son los pagos in-app. Aplicaciones gratuitas que se pueden
mejorar o expandir mediante micropagos. Es un sistema que funciona muy bien
puesto que es más fácil convencer a los usuarios para que paguen por algún
contenido adicional cuando ya conocen tu app, la usan e incluso puede que la
consideren imprescindible que simplemente viéndola en la tienda de aplicaciones.
En ese momento es difícil convencer que esa app que tienen ahí les va a ser lo
suficientemente útil como para pagar 1 dólar.
46
CAPITULO III
DESARROLLO DE LA PROPUESTA
3.1.
Tema:
Estudio comparativo entre plataformas ANDROID e IOS para el desarrollo de
aplicaciones móviles inteligentes para el centro de capacitación y asesoramiento
informático (CCAINFOR) - Ibarra
3.2.
Descripción de la propuesta
La propuesta consiste en realizar un estudio comparativo enfocado a las
plataformas ANDROID e IOS y saber la factibilidad de desarrollo para las
aplicaciones móviles inteligentes.
3.3.
Desarrollo de la Propuesta
La propuesta planteada como solución al problema descrito en el capítulo inicial,
consiste en realizar el Estudio de plataformas ANDROID e IOS para el desarrollo
de aplicaciones móviles inteligente, este estudio ha sido elaborado tomando en
cuenta los siguientes pasos:
3.3.1. Metodología de Desarrollo
Para el desarrollo de este sistema de información se ha elegido la metodología de
cascada o lineal, ya que su enfoque metodológico ordena rigurosamente las
etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe
esperar a la finalización de la inmediatamente anterior; siendo las siguientes
etapas, Análisis de requisitos, Diseño del Sistema, Diseño del Programa,
Codificación, Pruebas, Implantación y Mantenimiento.
47
3.3.2. Análisis Previo
La determinación de una plataforma de desarrollo para dispositivos móviles
inteligentes que se va a utilizar para la implementación de una aplicación software
que servirá para la comparación; para la creación de dicha aplicación vamos en
primer lugar a instalar JDK que es un componente de Java que nos permitirá
ejecutar el simulador y desarrollador del Android Studio posteriormente instalado,
en IOS el desarrollador que utilizaremos es el XCODE una aplicación
independiente que su lenguaje de programación es el lenguaje C, a continuación
abriremos un nuevo proyecto siguiendo los pasos respectivamente como nos
indicara el asistente, la aplicación de la calculadora básica se elaborara con las
funciones respectivas a cada plataforma de desarrollo, así como “accions” y los
campos de texto a cada botón se asignara una acción la cual dependerá de las
operaciones que el usuario solicite, en esta aplicación tomaremos en cuenta los
cuatro botones principales los cuales serán asignado respectivamente como
suma, resta, multiplicación y división a continuación asignaremos dos botones que
serán: borrar todo e igual, siguiendo el lenguaje de programación de cada
plataforma asignaremos a cada botón mediante código las funciones respectivas
para que al final los resultados de cada una de las operaciones solicitadas por el
usuario sean mostrada en un campo de igual manera dependiendo de la
plataforma de desarrollo (un campo de texto). Para luego cargar en los
simuladores y poder distribuir la aplicación.
Desarrollo en plataformas ANDROID e IOS
Facilidad de
programación
Número de
lineas de
programación
Facilidad de
diseño
Grafico 13, Desarrollo de plataformas ANDROID e IOS.
Fuente: Análisis previo.
Elaborado por: Marlon Tixicuro.
48
Mayor
cobertura de
ejecución
3.3.3. Diseño
Realizar en las plataformas ANDROID e IOS la carga de N números en los cuales
se ejecutaran las operaciones básicas de las matemáticas que son: Suma, Resta
Multiplicación, División mostrando adicionalmente un botón como es el “borrar
todo”, así quedando como resultado una calculadora básica
controles para su correcta ejecución.
Diagrama de flujo
49
con todos los
Diagrama de entrada y salida de datos
Grafico 14, Diagrama de entrada y salida de datos
Fuente: Diseño
Elaborado por: Marlon Tixicuro.
3.3.4. Desarrollo
Desarrollo de Aplicación (Calculadora básica) en ANDROID
La aplicación consta de las siguientes funciones
Suma
Multiplicación
División
Resta
50
Borrar todo
package com.example.micalculadora;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if
it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Double numero1,numero2,resultado;
String operador;
public void onClickIgual(View miView)
{
51
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
numero2 = Double.parseDouble(tv.getText().toString());
if(operador.equals("+"))
{
resultado= numero1+numero2;
}
else if(operador.equals("-"))
{
resultado= numero1-numero2;
}
else if(operador.equals("*"))
{
resultado= numero1*numero2;
}
else if(operador.equals("/"))
{
resultado= numero1/numero2;
}
tv.setText(resultado.toString());
}
public void onClickSuma(View miView)
{
operador="+";
onClickOperacionCapturaNumero1(miView);
}
public void onClickResta(View miView)
{
operador="-";
onClickOperacionCapturaNumero1(miView);
}
52
public void onClickMultiplicacion(View miView)
{
operador="*";
onClickOperacionCapturaNumero1(miView);
}
public void onClickDivision(View miView)
{
operador="/";
onClickOperacionCapturaNumero1(miView);
}
public void onClickOperacionCapturaNumero1(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
numero1 = Double.parseDouble(tv.getText().toString());
tv.setText("");
}
public void onClickLimpia(View miView)
{
numero1=0.0;
numero2=0.0;
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText("");
}
public void onClickBtn1(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "1");
}
public void onClickBtn2(View miView)
53
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "2");
}
public void onClickBtn3(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "3");
}
public void onClickBtn4(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "4");
}
public void onClickBtn5(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "5");
}
public void onClickBtn6(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "6");
}
public void onClickBtn7(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "7");
}
public void onClickBtn8(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
54
tv.setText(tv.getText() + "8");
}
public void onClickBtn9(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "9");
}
public void onClickBtn0(View miView)
{
TextView tv = (TextView) findViewById(R.id.txtNumero) ;
tv.setText(tv.getText() + "0");
}
}
55
Desarrollo de Aplicación (Calculadora básica) en X CODE (IOS)
La aplicación consta de las siguientes funciones
Suma
Multiplicación
División
Resta
Borrar todo
@interface Calculadora : NSObject {
float operandol; float operando2; char operadorActual;
>
@property
float
operandol,operando2;
@property
operadorActual;
-(void) inicializarOperacion; @end
@interface Calculadora (operacionesMatematicas)
-(float) realizarOperacion;
-(float) evaluarOperador:(float) valor;
-(float) sumar;
-(float) restar;
-(float) multiplicar;
-(float) dividir;
@end
@implementation Calculadora
@synthesize operadorActual, operandol, operando2;
56
char
-(void) inicializarOperacion {
operandol = operando2 = 0.0; operadorActual =
@implementation Calculadora (operacionesMatematicas)
-(float) evaluarOperador: (float) valor {
float multiplicador, resultado; resultado = 0.0;
multiplicador = 10;
if (operadorActual == '<§') {
operandol *= multiplicador; operandol += valor;
resultado = operandol;
>
else {
operando2 *= multiplicador; operando2 += valor;
resultado = operando2;
>
return resultado;
>
interface Calculadora : NSObject
{
float operando 1;
float operando2;
char operadorActual;
}
@property float operando1,operando2;
@property char operadorActual;
-(void) inicializarOperacion;
@end
@interface Calculadora (operacionesMatematicas)
-(float) realizarOperacion;
-(float) evaluarOperador:(float) valor;
-(float) sumar;
-(float) restar;
-(float) multiplicar;
57
-(float) dividir;
@end
@implementation Calculadora
@synthesize operadorActual, operandol, operando2;
-(void) inicializarOperacion
{
Operando1 = operando2 = 0.0;
operadorActual =’@’;
}
@end
@implementation Calculadora (operacionesMatematicas)
-(float) evaluarOperador: (float) valor
{
float multiplicador, resultado;
resultado = 0.0;
multiplicador = 10;
if (operadorActual == '@')
{
operando1 *= multiplicador;
operando1 += valor;
resultado = operando1;
}
else
{
operando2 *= multiplicador;
operando2 += valor;
resultado = operando2;
}
return resultado;
}
58
(float) realizarOperacion
{
float resultado = 0.0;
switch (operadorActual)
{
case '+':
resultado = [self sumar]; break;
case '-':
resultado = [self restar];
break;
case '*':
resultado = [self multiplicar]
break;
case '/':
resultado = [self dividir];
break;
}
return resultado;
}
#import <Cocoa/Cocoa.h>
#import "Calculadora.h"
@interface CalculadoraGUIAppDelegate :
NSObject <NSApplicationDelegate> {
NSWindow *window;
NSTextField * pantalla;
NSButton *botonl, *boton2, *boton3, *boton4, *boton5, *boton6,
*boton7, *boton8, *boton9, *boton0, *botonlgual;
NSButton
*opcradorMas,
*operado
Menos,
*opcradorPor,
*operadorEntre, *operadorC; Calculadora *miCalculadora;
}
@property (assign) IBOutlet NSWindow
59
*window;
@property (assign) IBOutlet NSButton *botonl, *boton2, *boton3,
*boton4,
*boton5,
*boton6,
*boton7,
*boton8,
*boton9,*boton0,
*botonlgual;
@property
(assign)
IBOutlet
NSButton
*operadorMas,
*operadorMenos, *operadorPor, *operadorEntre, *opcradorC;
@property (assign) IBOutlet NSTextField
*pantalla;
@propcrty (assign) Calculadora*MiCalculadora;
-(IBAction) clicBotonNumero: (id) sender;
-(IBAction) clicBotonOperador: (id) sender;
-(IBAction) clicBotonC: (id) sender;
-(IBAction) clicBotonlgual: (id) sender;
@end
@synthesize
window,
boton1,
boton2,
boton3,
boton4,
boton5,
boton6, boton7,
botor8, boton9, boton0, operadorMas, botonlgual;
@synthesize operadorMenos, operadorPor, operadorEntre, operadorC,
pantalla, miCalculadora;
(void)applicationDidFinishLaunching:(NSNotification
*)aNotification {
miCalculadora = [Calculadora new];
[miCalculadora inicializarOperacion];
NSString *acumuladorString = [NSString st ringWithFormat:@ "%.4f"
, 0.00];
[pantalla setStringValue:acumuladorString];
}
-(IBAction) clicBotonNumero: (id) sender
{
NSString *nombreBoton = [sender title];
float valor;
valor = [miCalculadora evaluarOperador:
60
[nombreBoton floatValue]];
NSString *resultadoString = [NSString stringWithFormat:@ "%.4f",
valor];
[pantalla setStringValue:resultadoString];
}
-(IBAction) clicBotonOperador: (id) sender
{
NSString *nombreBoton = [sender title];
[miCalculadora
setOperadorActual:[nombreBoton characterAtlndex:0]];
}
-(IBAction) clicBotonlgual: (id) sender
{
float valor;
valor = [miCalculadora realizarOperacion];
NSString
*resultadoString
=
[NSString
stringWithFormat:@"%.4f",
valor];
[pantalla setStringValue:resultadoString];
[miCalculadora inicializarOperacion];
[miCalculadora setOperandol:valor];
-(IBAction) clicBotonC:(id) sender
[miCalculadora inicializarOperacion];
NSString *acumuladorString = [NSString stringWithFormat:@"%.4f",
0.00];
[pantalla setStringValue:acumuladorString];
}
(BOOL)
applicationShouldTerminateAfterLastWindowClosed:(NSApplication
*)sender
{
return YES; }
61
Grafico 15, Desarrollo de Aplicación
Fuente: Desarrollo.
Elaborado por: Marlon Tixicuro.
3.3.5. Pruebas
Las pruebas permanentes durante el desarrollo de la aplicaciones móviles
(calculadoras básicas) efectivamente forman un factor trascendental de
perfeccionamiento continuo, el software desarrollado ha sido sometido a una.
Caja Negra: Esta prueba esencialmente permitió verificar la idoneidad de los
resultados, se aplicó para validar los resultado de las operaciones que consta en
la calculadora básica tanto en Android como en IOS se analizó los procesos, así
como también
la validez de los resultados mostrados al momento de su
ejecución.
62
3.3.6. Implementación
Distribuir una Aplicación Móvil (Calculadora Básica ANDROID) – MARKET
•
Una vez que ya has realizado la aplicación, lo normal es crear una
cuenta de desarrollador en el Android Market, y lo primero de todo, es
pasar por el pago
•
Crear una cuenta en Google Checkout y abonar la tarifa de 25 $ para
toda la vida (para desarrollar para Apple hay que abonar 100 $ al año).
Después del pago ya tenemos acceso a las pantallas para subir
aplicaciones.
•
El formulario, actualmente, se encuentra dividido en 3 secciones:
•
La parte de “assets“, donde se sube el .apk, las imágenes
promocionales, un icono enorme que ahora mismo no sirve para nada,
un gráfico promocional, que es el más grande que se ve en la aplicación
del Android Market.
•
La parte de “listing details” con la descripción de la aplicación en los
diferentes idiomas.
•
Y la parte de “publishing options” con la protección y clasificación por
edades, además de la información de contacto y aceptaciones
correspondientes.
•
Una vez publicada la aplicación, en breves minutos ya se encontrará en
el Market, tan fácil y tan rápido y al de al menos un día comenzaremos a
recibir feedback del número de descargas de nuestra aplicación, el
número de descargas activas (estas son las buenas), así como de los
comentarios y errores.
63
Distribuir una Aplicación Móvil (Calculadora Básica IOS) – APP STORE
•
Lo primero que deberemos hacer es entrar en la web de iTunes Connect,
en este caso presupondremos que los datos fiscales y bancarios de la
empresa ya han sido configurados. Una vez dentro de iTunes Connect,
seleccionaremos “Manage your applications”, y una vez dentro,
seleccionaremos “Add new app”.
•
Elegir Idioma por defecto de la aplicación Nombre de la aplicación (que
debería ser el mismo o un nombre similar al que aparece bajo el icono
de la aplicación en el dispositivo)
•
Una vez rellenados los datos, seleccionamos “Continúe” y llegaremos a
una pantalla donde deberemos seleccionar la fecha de disponibilidad de
la aplicación y el precio que tendrá.
•
Seguimos adelante, ahora deberemos rellenar una serie de datos de la
aplicación separados por bloques, vamos a ver cuáles son cada uno de
ellos:
•
Deberemos definir si nuestra aplicación contiene algún tipo de contenido,
rellenando el listado que Apple nos proporciona
•
Deberemos introducir información de la aplicación como una descripción
de esta, palabras clave para facilitar la búsqueda de la aplicación, así
como un mail y web de contacto y soporte.
•
Debemos rellenar es el de los datos de contacto, donde deberemos
añadir los siguientes datos sobre nosotros o nuestra empresa, que
siempre serán iguales para todas las aplicaciones.
64
•
Una vez hayamos terminado de rellenar los datos, haremos clic sobre
“Save”, y llegaremos a la pantalla de configuración de la aplicación,
donde veremos que aparece su Status como “Waiting for upload” junto a
una redonda amarilla.
•
Para garantizar que estamos utilizando el distribution profile adecuado,
en la misma pestaña de “Build settings”, deberemos comprobar que en el
apartado “Release” del “Code signing” aparezca como Distribution Profile
aquel que hemos nombrado como “NombreApp Distrib”, en lugar del
perfil de AdHoc.
•
Tras esto, ya podemos dar paso a la creación del ejecutable de la
aplicación que
enviaremos
a Apple.
Colocándonos
en
XCode,
deberemos seleccionar en el menú superior el esquema del target que
estamos desarrollando en este momento, y tras esto, seleccionar “iOS
Device”.
•
Tras esto, seleccionaremos dentro del menú, la opción Product –
Archive, tal y como vemos a continuación.
•
Esto nos hará esperar un tiempo mientras se hace la carga de datos
correspondiente para generar el archivo ejecutable. Una vez finalizada,
veremos que se abrirá el Organizer, mostrándonos la pestaña Archives,
donde veremos el que acabamos de crear de nuestra aplicación. Para
acabar, haremos clic sobre la opción “Distribute”.
•
Y finalmente, ya habremos acabado. Si volvemos a la página de nuestra
aplicación en iTunes Connect veremos que su estado aparece ahora
como “Upload received”. Tras esperar unos minutos, su estado cambiará
a “Waiting for review”. Ahora sólo nos quedará esperar a que la
aplicación sea aprobada por Apple.
3.3.7. Validación de la propuesta
En los capítulos procedentes se ha propuesto una aplicación móvil que se
enfocará en una calculadora básica en dos plataformas (ANDROID e IOS),
posteriormente se ha aplicado al ámbito especifico de la construcción de dicha
aplicación. Posteriormente se ha analizado su aplicabilidad en el contexto de
65
desarrollo de aplicaciones móviles en distintas plataformas y se ha estudiado su
aceptación, mostrando dicha aplicación a 10 (diez) estudiantes de la Universidad
Técnica de Norte (UTN), Carrera de Sistemas; ellos supieron manifestar que
7(siete) de los 10 (deis) estudiantes, utilizan plataforma ANDROID, también
manifestaron los motivos por lo cual tienen preferencia a esta plataforma entra las
cuales mencionaron, “El lenguaje de programación de Android tiene una sintaxis
más fácil de comprender que el lenguaje que se utiliza en Xcode que es Objetive
C
su sintaxis es mucho más compleja”, En lo referente a la instalación y
compactibilidad en los sistemas operativos supieron manifestaron que “ANDROID
en si tiene mucho mas compactibilidad en los sistemas operativos su instalación
no pide mucho requerimientos de sistema a comparación de IOS Xcode
únicamente se puede instalar en sistemas operativos MAC, pero si hablamos de
las Interfaces graficas los dos tienen acabados estéticamente para uso de interfaz
táctiles” , Tomando también en cuenta lo que supieron exponer con respecto a la
instalación de las aplicaciones en las dispositivos móviles fueron “Las
aplicaciones de las dos son eficientes, el problema está al momento de instalar
Android es mucho más fácil por el mismo hecho de ser un software libre, en IOS
es mucho más complejo y demoroso al tener que seguir varios pasos incluso para
poder instalar las aplicaciones”. También se les pregunto sobre el consumo de
servicios web tanto en ANDROID como en IOS para los cual supieron enseñar
que “En ANDROID existen librerías nativas para este tipo de procesos, a
diferencia de IOS se deben aplicar librerías externas, también debemos tener en
cuenta que si hablamos de desarrollo de aplicaciones existe IDS Eclipse y Xcode
las dos respectivamente son muy eficientes”
66
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
Al finalizar el análisis comparativo de las plataformas de desarrollo de
desarrollo para dispositivos móviles Androis y iOS se han obtenido las
siguientes conclusiones:
•
Se determinó que el lenguaje de programación Java para el desarrollo
de aplicaciones en Android presenta a los desarrolladores una curva de
aprendizaje de 75% por su sintaxis comprensible, mientras que el
lenguaje de programación objective C tiene un 50% en su curva de
aprendizaje por su sintaxis compleja.
•
La plataforma Android puede ser instalada en varios sistemas operativos
por lo que en el análisis se obtuvo un 75% estos sistemas operativos
pueden ser propietarios y libres, mientras que la plataforma iOS obtuvo
un 25% ya que solo se ejecuta en sistema operativo Mac OS X.
•
La interfaz gráfica de usuario en las dos plataformas de desarrollo de
aplicaciones Android y iOS presentan elementos bien acabados
estéticamente para el uso en interfaces táctiles.
•
El proceso de gestión de la base de datos Sqlite en Android y iOS es
bastante simple porque existen librerías nativas para el manejo de la
base de datos Sqlite en ambas plataformas y esta base de datos utiliza
sentencias sql, las mismas que son conocidas por los programadores.
•
Del análisis se obtuvo el 100% en el consumo de servicios web en la
plataforma Android ya que existen librerías nativas para este proceso,
mientras que en la plataforma iOS se obtuvo el 75% ya que se utiliza
librerías externas para este proceso y su utilización depende de cómo
fueron implementadas.
•
Los IDEs Eclipse y Xcode que son utilizados para el desarrollo de
aplicaciones para android y iOS respectivamente, tienen herramientas
completas para codificación y diseño de las aplicaciones muy eficientes.
•
En ambas plataformas existen emuladores muy eficientes para realizar
pruebas a las aplicaciones. Para el despliegue de aplicaciones ya en un
dispositivo físico en la plataforma Android es muy fácil por ser software
67
libre, mientras que para iOS el despliegue ocupa un poco más de tiempo
y hay que pagar por instalar las aplicaciones en el dispositivo.
Recomendaciones
•
Es importante analizar los requerimientos del usuario y el entorno para
realizar una aplicación en la plataforma Android o iOS
•
Se debe valorar los costos y el tiempo para la realización en la una u otra
plataforma ya que si se va a desarrollar para iOS suben los costos y en
cambio en Android como es una plataforma libre se puede realizar la
misma aplicación con menores costos.
•
Para desarrollar una aplicación para Android es recomendable utilizar el
IDE Eclipse y el pluguin Motodev Studio para Android estas dos
herramientas ofrecen un conjunto completo de características para el
desarrollador.
•
Se recomienda a los desarrolladores de aplicaciones que desean utilizar
la plataforma iOS familiarizarse con el lenguaje C para mayor
comprensión
•
Se
recomienda
realizar
aplicaciones
utilizando
estándares
de
codificación para una mejor comprensión código.
•
Se recomienda ayudarse de la documentación oficial para el desarrollo
en las plataformas Android y iOS ya que continuamente es actualizada.
•
Se recomienda para realizar las pruebas de aplicaciones hacerlas
también en un dispositivo físico ya que los emuladores tienen
limitaciones.
68
BIBLIOGRAFÍA.
Ainoa Celaya Luna, (2013),” Introducción al desarrollo de aplicaciones para
Android”, Editorial ICB, 5a. Edición., Málaga-España
Ángel Cobo, (2005),” PHP y MySQL: Tecnología para el desarrollo de
aplicaciones web”, Editorial Díaz de Santos, 3a. Edición., Sevilla-España
Cyril Thibaud, (2006), “MySQL 5: instalación, implementación, administración,
programación”, Editorial ENI, 2a. Edición., Barcelona-España
David Chiles, (2014), “Aplicaciones: Todo lo que usted necesita saber”, Editorial
Anaya Multimedia-Anaya Interactiva, 3a. Edición,. Madrid-España
Fernando López, (2012), “Objective-C. Curso práctico para programadores Mac
OS X, iPhone y iPad”, Editorial RC Libros, 5a. Edición., Madrid-España
Hernández Samuel, (2009), "Metodología de la investigación", Editorial Mc
Ggraw-Hill, 6a. Edición., México-México
Jesús Tomas Girones, (2013), “El gran libro de Android”, Editorial Marcombo,
3a. Edición .,Barcelona-España
Joe Conway, (2011), “Programación iOS”, Editorial Anaya Multimedia, 6a.
Edición., Atlanta-Atlanta
Miguel Ángel Moreno Alvares, (2013), “Desarrollo de aplicaciones Android
seguras”, Editorial Informática 64,2a. Edición., Madrid-España
Miguel Arias, (2013), “Programación en Objetive-C con Xcode y GCC”, Editorial
Independent, 6a. Edición., Sevilla-España
Mohammed J. Kabir, (2010), “La Biblia del servidor Apache”, Editorial Anaya
Multimedia, 1a. Edición., California-Estados Unidos
Mugunth Kumar, Rob Napier, (2013),” iOS 6 desarrollo de aplicaciones”,
Editorial Anaya Multimedia-Anaya Interactiva, 4a. Edición., Madrid-España
Nicolas Saney, (2001), “Su primer programa Java”, Editorial Marcombo, 5a.
Edición., Barcelona-España
Olivier Engler, (2013), “Programmation iOS”, Editorial Pearson, 3a. Edición.,
Paris-Francia
Rob Huddleston, (2011),” Android para todos”, Editorial Anaya MultimediaAnaya Interactiva, 5a. Edición,. Madrid-España
Robin Nixon, (2011),” HTML5 para iOS y Android”, Editorial Anaya MultimediaAnaya Interactiva, 3a. Edición., Madrid-España
Romina Marcela, (2009), “Aplicaciones web 2.0”, Editorial Eduvim, 1a. Edición.,
Sevilla-España
Scott McCracken, (2013), “Android 4: desarrollo profesional de aplicaciones”,
Editorial Inforbook's, 6a. Edición., Oakland-California
Sebástien Pérochon, (2012), “Android: Guía de desarrollo de aplicaciones para
Smartphones y Tabletas”, Editorial ENI, 2a. Edición., Barcelona-España
Wei-Meng Lee, (2012),” Android 4 : Desarrollo de aplicaciones”, Editorial Anaya
Multimedia-Anaya Interactiva,3a. Edición .,Madrid-España
ANEXO 1
Manual de Usuario
Calculadora Android
Para realizar las operaciones básicas en la aplicación vamos a presionar un
número a la vez.
El siguiente paso que debemos realizar es presionar el botón de la operación
que deseamos procesar, en este caso será una suma para las demás
operaciones elegimos el signo según la operación a realizar.
A, continuación ingresamos el siguiente numero a sumar.
Ingresamos en Nº 7, A continuación vamos a presionar el botón Igual (=) para
que asi nos indique los resultados.
Calculadora IOS
Manual de Usuario
En la Calculadora IOS igualmente vamos a ingresar el primer número para
realizar la operación respectiva en este caso sería el Nº 8.
A continuación, vamos a presionar el botón de multiplicación para realizar la
respectiva operación.
Para poder realizar la operación vamos a ingresar un segundo número, en este
caso el Nº 6
Para, obtener el resultado final de la operación vamos a presionar el símbolo
de igual (=) , y a continuación nos mostrara en pantalla el final del proceso.
ANEXO 2
Encuesta para clientes (CCAINFOR)
1. ¿Usted utiliza aplicaciones móviles?
Si
No
- Finalizar
2. ¿Cuántas aplicaciones tienes actualmente instaladas en tu móvil?
1–5
5 – 10
10 - más
3. ¿Qué tipo de licenciamiento tienen las aplicaciones móviles utilizadas?
Software bajo licencia.
Software gratis.
4. En general ¿cómo eliges las aplicaciones que quieres tener?
Las busco personalmente
Me las recomiendan amigos, conocidos
No las busco, cuando la veo, me la instalo
Otros (especificar) ______________________________________
5. ¿Qué plataforma cree usted que tiene más aplicaciones?
ANDROID – (Samsumg Galaxi)
IOS – (Iphone)
Otro (Por favor especifique) ___________________________________
6. ¿Qué plataforma piensa usted que presenta las mejores aplicaciones?
ANDROID – (Samsumg Galaxi)
IOS – (Iphone)
Encuesta para los desarrolladores (CCAINFOR)
1. ¿Qué tipo de aplicaciones móviles desarrolla su empresa o negocio?,
(seleccione varias si es necesario)
Para procesos de negocios (e-bussiness)
Comercio electrónico
Educación o aprendizaje en línea
Juegos en una aplicación o en línea
Aplicaciones en general para una plataforma específica
Desarrollo web
Multimedia
2. En el desarrollo de aplicaciones móviles, ¿usted siempre sigue las
tendencias de vanguardia? (modas o nuevas tecnologías)
Totalmente de acuerdo
Medianamente de acuerdo
Indiferente
En desacuerdo
Totalmente en desacuerdo
3. Al desarrollar aplicaciones móviles, ¿considera usted la fiabilidad,
facilidad de uso, confiabilidad, desempeño y el soporte como indicadores
de calidad?
Totalmente de acuerdo
Medianamente de acuerdo
Indiferente
En desacuerdo
Totalmente en desacuerdo
4. ¿El desarrollo de la aplicación siempre esta apegado al costo
proyectado y se finaliza cuando ya no hay presupuesto?
Totalmente de acuerdo
Medianamente de acuerdo
Indiferente
En desacuerdo
Totalmente en desacuerdo
5. ¿En qué plataforma usted ha desarrollado más cantidad de aplicaciones
móviles?
Android
IOS
Otro: ______________________
6. ¿Qué tipo de servicios son los más utilizados en las aplicaciones que
usted desarrolla?
Redes sociales
Descarga de archivos
Correo electrónico
Web y bases de datos
Multimedia (video, audio, animación)
Otros servicios; impresión, localización y búsqueda
Entrevista al Gerente, El Sr. Dany Javier Sánchez Carrera
¿Desde su punto de vista que se necesita para cubrir las necesidades de
los clientes?
Creo que cada plataforma tiene sus cosas buenas y malas. Android está ya
muy maduro y hay un montón de gente desarrollando librerías Open Source
para poder hacer una gran cantidad de funcionalidades de una forma fácil y
rápida. En iOS el codebase está muy estable y con cada versión sacan cosas
nuevas. Windows Phone está empezando pero tiene un gran entorno de
desarrollo y el uso de C# hace que escribir código sea una delicia. Y un buen
código de Web Mobilebien optimizado puede ser una muy buena solución para
muchos casos.
¿Cuáles son los recursos que la comunidad de desarrolladores de estas
plataformas móviles (ANDROID e IOS) pone al alcance de los usuarios y
de otros desarrolladores?
Hay muchísimo movimiento y lo mejor de todo es que desde el principio se ha
promovido la fislosofía del Open Source y el compartir. El caso claro lo
tenemos en Square que ha hecho una grandísima labor liberando multitud de
librerías de las cuales nos aprovechamos todos los desarrolladores, como por
ejemplo ActionBarSherlock, Retrofit o ViewPagerIndicator.
En el caso concreto de Android es muy interesante la comunidad que ha
surgido en Google+ (sí, esa red social que está desierta) en la que es habitual
charlar no sólo con desarrolladores de todo el mundo sino estar en contacto
directo con los propios desarrolladores de Google que nos mantienen al día
con las últimas novedades o nos ayudan con estupendos manuales. Si eres
desarrollador Android hay que estar en google+ y seguir a Roman Nurik, Rich
Hyndman, Chet Haase, Matias Duarte, Juhani Lehtimäki, Fernando Cejas.
¿Cree usted que una aplicación móvil puede expandirse o mejorar
fácilmente?
La moda ahora son los pagos in-app. Aplicaciones gratuitas que se pueden
mejorar o expandir mediante micropagos. Es un sistema que funciona muy bien
puesto que es más fácil convencer a los usuarios para que paguen por algún
contenido adicional cuando ya conocen tu app, la usan e incluso puede que la
consideren imprescindible que simplemente viéndola en la tienda de
aplicaciones. En ese momento es difícil convencer que esa app que tienen ahí
les va a ser lo suficientemente útil como para pagar 1 dólar.
Descargar