410 likes | 565 Views
Softura Solutions Su aliado en Tecnologías de Información. Presentacion. Empresa Certificada en Moprosoft Nivel 1. Agenda. Introducción Requisitos Herramientas Procesos Consideraciones. Introducción.
E N D
SofturaSolutionsSu aliado en Tecnologías de Información Presentacion Empresa Certificada en Moprosoft Nivel 1
Agenda • Introducción • Requisitos • Herramientas • Procesos • Consideraciones
Al considerar cómo construir aplicaciones para iOS y Android, muchas personas piensan que los lenguajes nativos, Objective-C y Java, respectivamente, son las únicas opciones. Sin embargo, en los últimos años, un ecosistema completamente nuevo de plataformas para la creación de aplicaciones móviles ha surgido. Estas nuevas soluciones incluyen herramientas nativas como Xamarin y soluciones de HTML, como PhoneGap y Appcelerator, etc, entre otros.
Xamarin es único en este espacio, ofreciendo un único lenguaje (C #), una biblioteca de clases, y un tiempo de ejecución que trabajan en las tres plataformas móviles iOS, Android y Windows Phone (lenguaje nativo de Windows Phone ya está C #), compilando de forma nativa (no interpretada) aplicaciones lo cual permite un mejor rendimiento incluso para los juegos más exigentes.
Cada una de estas plataformas tiene un conjunto de características diferentes y cada uno varía en su capacidad para escribir aplicaciones nativas, es decir, las aplicaciones que se compilan a código nativo y que interoperar con fluidez con el subsistema subyacente Java. Por ejemplo, algunas plataformas sólo le permiten crear aplicaciones en HTML y JavaScript (tal como Appcelerator y PhoneGap), mientras que algunos son de nivel muy bajo y sólo permitir el C / C + + código. Algunas plataformas (como Flash) ni siquiera utilizar el kit de herramientas de control nativo.
En primer lugar, si desea implementar en un dispositivo y no sólo para el simulador de iOS o Android emulador, usted necesitará por lo menos una versión profesional de productos Xamarin, que se pueden comprar en https://store.xamarin.com/. • En segundo lugar, si quieres desarrollar para iOS, es necesario tener un ordenador Apple Macintosh con por lo menos Lion OSX. Aunque las aplicaciones Xamarin se basan en la BCL. NET y están escritos en C #, Xamarin requiere Xcode y el SDK de iOS para compilar. Además, el simulador de dispositivos iOS es parte del SDK de iOS, por lo que sólo está disponible en Mac OS. Para descargar el SDK de iOS, debe ser miembro del Programa de Desarrolladores de Apple .Este programa es gratuito para los simuladores sólo en desarrollo (no se puede instalar en el dispositivo o la AppStore).Para desplegar más allá del simulador requiere una membresía mejorada que cuesta $ 99 USD / año.
Xamarin es único ya que combina toda la potencia de las plataformas indígenas y añade una serie de características de gran alcance propios, que incluyen: • Completa vinculación para SDK’s nativos • Interoperabilidad entre Objective-C, Java, C, and C++ • Desarrollo en Lenguajes Modernos • Librerías de Clase Base (LCB) • Ambientes Moderno de Desarrollo integrado a (IDE) • Soporte móvil multiplataforma
Multitarea • Factor de forma • Dispositivos y fragmentación de Sistemas Operativos (OS) • Conceptualización y Planeación • Diseño • Desarrollo • Pruebas • Recursos Limitados
Multitarea • Hay dos desafíos importantes para la multitarea (tener varias aplicaciones funcionando a la vez) en un dispositivo móvil. • En primer lugar, dado el limitado espacio de la pantalla, es difícil de visualizar múltiples aplicaciones simultáneamente. Por lo tanto, en los dispositivos móviles sólo una aplicación puede estar en el primer plano de una sola vez. • En segundo lugar, tener varias aplicaciones abiertas y la realización de tareas de forma rápida puede consumir rápidamente la batería. • Cada plataforma maneja la multitarea de manera diferente.
Multitarea Android • La multitarea en Android tiene dos componentes: • El primero es el ciclo de vida de la actividad. Cada pantalla de una aplicación Android está representado por una actividad, y existe un conjunto específico de eventos que se producen cuando una aplicación se coloca en el fondo o pasa a primer plano. Las solicitudes deben cumplir con este ciclo de vida con el fin de crear aplicaciones sensibles, de buen comportamiento. Para obtener más información, consulte la guía del ciclo de vida de actividad. • El segundo componente de la multitarea en Android es el uso de los Servicios. Los servicios son procesos de larga duración que existen independientemente de la solicitud y se utilizan para ejecutar procesos mientras la aplicación está en el fondo. Para obtener más información, consulte la Guía de Creación de Servicios.
Multitarea iOS La multitarea es estrictamente controlada en iOS, y hay una serie de normas y comportamientos que su aplicación debe cumplir cuando otra aplicación pasa a primer plano, de lo contrario su solicitud será terminado por iOS.
Multitarea Windows Phone • Multitarea en Windows Phone también tiene dos partes: • El ciclo de vida para las páginas, aplicaciones y procesos en segundo plano. Cada pantalla de una aplicación es una instancia de una clase de página, que tiene eventos asociados están realizando activo o inactivo (con reglas especiales para el manejo del estado inactivo, o de ser "desechados"). Para obtener más información. • La segunda parte de la multitarea de Windows Phone es el suministro de agentes fondo para el procesamiento de las tareas que se ejecutan incluso cuando la aplicación no se está ejecutando en primer plano. Más información sobre la programación de tareas periódicas o la creación de tareas que consumen muchos recursos del fondo se puede encontrar en la general Antecedentes agentes.
Factor de forma • Los teléfonos y las tabletas son los dos tipos principales de dispositivos móviles. Hay un cruce de unos dispositivos que se encuentran entre estas dos categorías. El desarrollo de estos factores de forma en general es muy similar, sin embargo, el diseño de aplicaciones para ellos puede ser muy diferente. Los teléfonos tienen espacio en la pantalla muy limitado, y las tabletas, mientras más grande, todavía son dispositivos móviles con el espacio de pantalla menor que la mayoría de los ordenadores portátiles, incluso. Debido a esto, móviles controles de interfaz de la plataforma han sido diseñados específicamente para ser eficaz en factores de forma más pequeños.
Dispositivos y fragmentación de Sistemas Operativos (OS) Windows Phone iOS Android
Conceptualización y Planificación • Como los dispositivos pueden tener diferente hardware y funciones se debe tener en cuenta que una aplicación que se basa en ciertas características pueden no funcionar correctamente en algunos dispositivos. • Por ejemplo, no todos los dispositivos tienen cámaras, así que si usted está construyendo una aplicación de video-mensajería, algunos dispositivos pueden ser capaz de reproducir vídeos, pero grabarlas.
Diseño • En cuanto a la experiencia del usuario (EU) debemos considerar los diferentes tamaños de los dispositivos • En cuanto al diseño de la interfaz de usuario (IU) debemos tomar en cuenta las diferentes resoluciones de pantallas
Desarrollo • Al utilizar una característica desde el código, la presencia de esa característica siempre debe ser probada primero. • Por ejemplo, antes de utilizar una función del dispositivo, tal como una cámara, siempre se debe consultar al sistema operativo para preguntar de la presencia de dicha característica. • Cuando se inicializa la función / dispositivo se debe asegurar de solicitar la características actualmente soportadas del sistema operativo sobre el dispositivo y luego utilizar los valores de configuración.
Pruebas • Es realmente importante probar la aplicación en etapas tempranas y con frecuencia en dispositivos reales. • En Android, incluso los dispositivos con las mismas especificaciones de hardware pueden variar ampliamente en su comportamiento.
Mobile Development SDLC • El ciclo de vida de desarrollo móvil no es muy diferente de la SDLC para aplicaciones web o de escritorio. Al igual que con los ciclos de vida de desarrollo, por lo general hay cinco partes principales en el proceso: • Concepción • Diseño • Desarrollo • Estabilización • Despliegue
Concepción- Todas las App’s empezar con una idea. Esa idea se refina en una base sólida para una aplicación. • Diseño - Experiencia La aplicación de usuario (UX) se define en la fase de diseño. El UX consta de las características básicas de la disposición general, cómo funciona, etc, así como el proceso de convertir la UX en una interfaz de usuario adecuada (UI) de diseño, por lo general con la ayuda de un diseñador gráfico. • Desarrollo - Normalmente la fase más intensivo en recursos, esto es la construcción real de la aplicación.
Estabilización - Cuando el desarrollo es lo suficientemente avanzada, control de calidad debe comenzar a probar la aplicación y los errores son fijos. Con frecuencia, una aplicación que se pondrán en una fase beta limitada en la que se le da a un público más amplio la oportunidad de utilizar y proporcionar información para realizar cambios. • Despliegue - Después de una aplicación se ha estabilizado, se suelen publicar para un uso más amplio. Esto podría ser a una tienda de aplicaciones público, o podría estar disponible para un equipo en particular en una organización.
Concepción • Ventaja competitiva - ¿Existen aplicaciones similares ya? Si es así, ¿cómo esta aplicación se diferencia de las demás? • Se tiene intención de distribuir la aplicación en la empresa: • Integración de la Infraestructura - ¿Qué infraestructura existente se integrará con o ampliar?
Concepción • Adicionalmente, se debe evaluar el uso de la aplicación en un formato móvil: • Valor - ¿Qué valor tiene esta aplicación llevar a los usuarios? ¿Cómo van a usarlo? • Forma / Movilidad - ¿Cómo funcionará esta aplicación en un factor de forma móvil? ¿Cómo puedo añadir valor mediante el uso de tecnologías móviles, tales como reconocimiento de la ubicación, cámara y otros sensores?
Diseño • Una vez que tenga una buena idea de qué es lo que quieres para el diseño, el siguiente paso es empezar a tratar de resolver la experiencia de usuario o UX. • UX se hace generalmente a través de wireframes o maquetas, utilizando herramientas como Balsamiq, Mockingbird, Visio, o simplemente el viejo lápiz y papel. Maquetas UX le permiten diseñar rápidamente UX sin tener que preocuparse por el diseño de la interfaz de usuario actual:
UX Design • Al crear maquetas UX, es importante tener en cuenta las Directrices de interfaz para las diversas plataformas que usted está diseñando. Al adherirse a las directrices específicas de la plataforma, puede asegurarse de que sus aplicaciones se sienta como en casa en cada plataforma.
Apple • http://developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html • Android • http://developer.android.com/design/index.html • Windows Phone • http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202915%28v=vs.92%29.aspx
Desarrollo • La fase de desarrollo por lo general comienza muy temprano en el ciclo de vida de una aplicación. De hecho, una vez que una idea ha pasado algún tiempo en la fase conceptual / inspiración, a menudo un prototipo de trabajo que se desarrolla valida la funcionalidad, las suposiciones y ayuda a proporcionar una comprensión del alcance de la obra.
Estabilización • La estabilización es el proceso de elaboración de los errores en su aplicación. No sólo desde el punto de vista funcional, por ejemplo: "se bloquea cuando hago clic en este botón," sino también desde la perspectiva de la usabilidad y rendimiento. Lo mejor es comenzar estabilización muy temprano en el proceso de desarrollo, de modo que las correcciones del curso puede ocurrir antes de que se conviertan en costosos. Normalmente, las aplicaciones entran en Prototype, Alpha, Beta y ReleaseCandidate etapas.
Prototype - La aplicación se encuentra todavía en fase de prueba de concepto. En este punto, tal vez sólo funcionalidad básica de trabajo, o partes específicas de la aplicación puede ser operativo, pero es poco probable que todas las partes de la aplicación se ejecuta correctamente. Los principales errores están presentes. • Alpha - la funcionalidad de la base es generalmente de código completo (construido, pero no se ha probado completamente). Los principales errores siguen presentes, funcionalidad periférica puede que aún no esté presente.
Beta - más funcionalidad se ha completado y ha tenido al menos pruebas de luz y corrección de errores. Principales problemas conocidos todavía pueden estar presentes. • ReleaseCandidate - Toda la funcionalidad está completa y probada. Salvo nuevos errores, la aplicación es un candidato para la liberación a un entorno real.
Distribución iOS • Apple AppStore: Para distribución Global • Enterprise Deployment: Para distribución interna de una empresa • Ad-Hoc Deployment: Distribución de prueba vía el SDK
Distribución Android • A diferencia de otras plataformas móviles populares, Android tiene un enfoque muy abierto a la distribución de aplicaciones. Los dispositivos no están bloqueadas para una sola tienda de aplicación aprobada. En cambio, cualquier persona es libre de crear una tienda de aplicaciones, y la mayoría de teléfonos Android permitir que las aplicaciones que se instalen en estas tiendas de terceros.
Distribución Android • Este método de distribución crea un canal de distribución potencialmente más grande y complejo para los desarrolladores y sus aplicaciones. • Google Play es tienda de aplicaciones oficial de Google, pero hay muchos otros.
Distribución Android • Todas las aplicaciones Android debe ser firmado antes de que sean distribuidos. • Desarrolladores firmar sus aplicaciones mediante el uso de su propio certificado protegido por una clave privada. • Este certificado puede proporcionar una cadena de autenticidad que une a un desarrollador de aplicaciones para las aplicaciones que el desarrollador ha construido y puesto en libertad. • Cabe señalar que, si bien un certificado de desarrollo para Android puede ser firmado por una autoridad certificadora reconocida, la mayoría de los desarrolladores no optan por utilizar estos servicios, y las auto-firman sus certificados. • El propósito principal de los certificados es diferenciar entre los desarrolladores y aplicaciones diferentes. • Android utiliza esta información para ayudar en la ejecución de la delegación de permisos entre las aplicaciones y componentes que se ejecutan en el sistema operativo Android.
Distribución Windows Phone • Aplicaciones de Windows Phone se distribuyen a los usuarios a través de la tienda de Windows (anteriormente conocido como marketplace). Los desarrolladores que presenten sus aplicaciones al Windows PhoneDev Center (antes AppHub) para su aprobación, y después aparecen en la Tienda. • Recientemente, Microsoft ha añadido la posibilidad de distribuir aplicaciones para la prueba beta a través del Marketplace. Los desarrolladores pueden enviar sus aplicaciones y proporcionar un vínculo de instalación a los probadores, antes de la aplicación es revisada y publicada.