• No se han encontrado resultados

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

N/A
N/A
Protected

Academic year: 2020

Share "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"

Copied!
90
0
0

Texto completo

(1)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.

(2) 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.

(3) 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.

(4) 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.

(5) 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..

(6) Í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.

(7) 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.

(8) Í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.

(9) Í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.

(10) 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..

(11) 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 ..

(12) 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.

(13) 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.

(14) 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.

(15) 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.

(16) 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.

(17) 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.

(18) 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.

(19) 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.

(20) 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.

(21) 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.

(22) 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.

(23) 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.

(24) 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.

(25) 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.

(26) •. 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.

(27) •. 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.

(28) 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.

(29) 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.

(30) 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.

(31) 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.

(32) 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.

(33) 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.

(34) 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.

(35) •. 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.

(36) 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.

(37) 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.

(38) •. 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.

(39) 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.

(40) 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.

Referencias

Documento similar