Vous êtes sur la page 1sur 30

Gua de inicio rpido

para desarrollar apps internas


Presentacin

Convierte tus ideas en apps. Quieres saber cmo?


Cmo utilizar esta gua
Tu empresa es nica, y tambin tus usuarios. Hay un sinfn de posibilidades para dar respuesta a
sus necesidades con innovadoras apps mviles capaces de revolucionar su forma de trabajar. Y, como
sucede en la mayora de los equipos de desarrollo internos, tambin hay restricciones. Tanto si son de Lista de comprobacin. Utiliza
Lista de comprobacin de implantacin
tipo econmico como condicionantes organizativos o lmites en los recursos, tus apps tienen que estar la lista de comprobacin Estos son los objetivos que tienes que haber alcanzado al final de la fase

diseadas para responder nicamente a las necesidades de tu empresa. de cada captulo para repasar de implantacin:
Creacin de un certificado de empresa y perfil de distribucin
los puntos ms importantes del Puesta en marcha de un servidor web de distribucin o una solucin

iOS es una plataforma ideal para disear estas apps. Desarrollar en iOS puede ser extremadamente proceso de desarrollo.
para la distribucin de apps de forma inalmbrica
Comunicacin de la solucin entre los usuarios finales
rpido y gratificante, ya que permite disear apps que aportarn a tus usuarios increbles ventajas
desde el primer minuto. Sin necesidad de pesados procesos ni excesivos recursos, podrs conseguir
cambios de verdad en tu empresa, aunque tendrs que orientar tus esfuerzos hacia un proceso
Consejos rpidos. Informacin
diferente de los proyectos internos de desarrollo habituales. Consejo rpido: apps de bolsillo
imprescindible para el proceso Unas apps sencillas, rpidas y fiables

En esta gua te explicaremos cmo hacerlo. Este documento recoge las buenas prcticas en un formato ms comprimido. contribuirn a generar demanda interna y a
minimizar el trabajo y la inversin necesarios.

imprescindibles para disear unas apps mviles a la medida de tus usuarios y tambin consejos y Unas apps bsicas pueden dar los mayores
frutos: los usuarios podrn disear sus

recursos que te ayudarn a organizar el proyecto de una forma eficiente. propias soluciones, una posibilidad que
aportar ms flexibilidad a los trabajadores.

La gua consta de cuatro apartados:

Planificacin: definicin del proyecto y los requisitos previos, y planificacin del


proceso de desarrollo. Ejemplos. Insprate en los
Tenamos que encontrar la forma de
ejemplos de otros clientes y introducir cambios y actualizaciones

Diseo: utilizacin ptima de los conceptos de diseo de la interfaz de iOS para disear descubre ideas interesantes para de una forma rpida, y por eso
apostamos por la frmula hbrida.
disear apps internas para iPhone Bsicamente, consista en elementos
unas apps a la altura de las expectativas de tus usuarios. de la interfaz de usuario nativa
y iPad. asociados al telfono y pginas
web.

Desarrollo: desarrollo de tus apps internas y posibilidades de las herramientas de Apple, Giancarlo De Lio, Hospital Mt. Sinai

como el SDK de iOS.

Enlaces rpidos. Consulta estos


Implantacin: distribucin de apps internas en la empresa y definicin de tu propio Enlaces rpidos
enlaces rpidos para acceder
servicio de distribucin inalmbrica. a informacin adicional sobre
Preguntas frecuentes sobre la inscripcin en el programa (en ingls)
http://developer.apple.com/support/ios/enrollment.html
Preguntas frecuentes sobre el programa Enterprise para desarrolladores
el desarrollo de apps internas de iOS (en ingls)

Comencemos! para iOS. http://developer.apple.com/support/ios/enterprise.html

Presentacin 2
Planificacin

Para crear una gran app, hace falta un gran plan. Es importante que todas las partes implicadas de la
empresa estn motivadas ante los objetivos del proyecto y que colaboren activamente en la fase de Lista de comprobacin de planificacin
diseo del plan. Cuanto mejor entienda tu equipo la distribucin del trabajo a lo largo del proceso y
Utiliza esta lista de comprobacin como referencia durante la fase de planificacin
los pasos necesarios para ejecutar el plan, ms fcil ser conseguir unos resultados excelentes. del proyecto. Al final de la fase de planificacin, tu plan de trabajo tendra que
incluir los siguientes elementos:
En el marco de este plan, debes fijarte los siguientes objetivos junto con tu equipo:
Resumen de todas las posibles necesidades o requisitos de la empresa
Detectar las necesidades de la empresa y los usuarios. La solucin debe dar respuesta a necesidades
Resumen de las necesidades de los usuarios (similares a los requisitos de la empresa)
reales de la empresa. Sirve para ahorrar tiempo o dinero? Para aumentar la productividad de los
trabajadores? O tal vez para cumplir con un requisito imprescindible para el crecimiento de la Requisitos de la infraestructura de TI para la ejecucin del proyecto

empresa? Esquema descriptivo de la aplicacin, con una descripcin de la app y la finalidad de


la solucin
Evaluar los recursos y la infraestructura actuales. Puedes aprovechar todo el potencial que ofrecen
Calendario general y etapas clave del proyecto
estos valiosos recursos adaptando una solucin ya en funcionamiento a los entornos mviles.
Definicin del equipo de personas implicadas, con sus correspondientes funciones y
Valorar la facilidad de implantacin. Empieza por los objetivos que puedas alcanzar primero: busca responsabilidades
proyectos con una rentabilidad rpida, en los que los esfuerzos puedan traducirse en resultados
Inicio de la inscripcin en el programa Enterprise para desarrolladores de iOS
positivos de una forma ms rpida y fcil.
Recuerda estos criterios de planificacin para no perder nunca de vista las lneas maestras del
proyecto. Este captulo aborda los diferentes recursos a tu alcance para organizar un proyecto y
arrancar con buen pie.

Pregunta a los usuarios


Trata de ponerte en la piel de tus usuarios. Comparte momentos con ellos en sus espacios de trabajo, Los desarrolladores y los comerciales
asistiendo a alguna reunin o visitando algn proyecto sobre el terreno. No hay forma mejor de mantuvieron una comunicacin
obtener informacin sobre sus hbitos de trabajo, los cuellos de botella en el flujo de trabajo o directa. Incluso les acompaamos en
las quejas de los trabajadores o los clientes. Invita a usuarios que sean especialmente analticos o intervenciones sobre el terreno: nos
comprometidos a unirse al equipo del proyecto para que puedan aportar su opinin. colocamos los zapatos de proteccin
y los cascos y nos sumamos a las
De entre todas las soluciones que una app mvil podra aportar, identifica la que podra repercutir salidas, para ver exactamente qu
ms positivamente en tus usuarios y tu empresa en el periodo de tiempo ms corto. necesitaban y cmo utilizaran la
No trates de abarcar demasiado al empezar a desarrollar apps mviles. No pienses tanto en lo que app.
podras disear, sino ms bien en lo que deberas disear. Dean Moore, Sunbelt Rentals

Planificacin Diseo Desarrollo Implantacin 3


Toma como referencia unas pocas tareas sencillas que la mayor parte de tus usuarios realiza a
menudo y piensa en cmo una app mvil podra facilitar estas acciones. A continuacin encontrars Ejemplo: inventario de activos
unos cuantos ejemplos:
Las respuestas a las siguientes preguntas pueden servirte para saber si puedes
Una app simple que permita a un trabajador aprobar un informe de gastos o una orden de compra reutilizar tecnologas de las que ya dispones en tu app mvil:
durante un desplazamiento Qu sistemas utilizan a diario los trabajadores con ms movilidad de tu empresa?
Un directorio de la empresa o un mapa de las instalaciones que todo el mundo pueda utilizar Qu es lo que ms necesitan los trabajadores que se desplazan a menudo?
Un buscador de salas de reuniones que los trabajadores puedan utilizar cuando no estn en sus Qu procesos manuales podran automatizarse o simplificarse gracias a apps mviles?
lugares de trabajo Dispones de sistemas no mviles que podran resultar tiles a los trabajadores que se
Una app sencilla de registro del tiempo asociada a tu sistema interno de gestin del tiempo o tu desplazan a menudo?

sistema de facturacin Cules son las funciones ms utilizadas de dichos sistemas?


Qu tipo de acceso a los datos proporcionan los sistemas de la empresa? Es posible
acceder fcilmente a los datos a travs de servicios web?
Inventario de activos Tienes sitios web internos que tus trabajadores consultan a diario? Crees que
podran transformarse fcilmente en apps mviles?
Muchas veces, la mejor forma de disear una app interna es aprovechar las tecnologas existentes.
Una buena opcin puede ser realizar un inventario de los sitios web que utilizan tus trabajadores y
determinar si merece la pena optimizarlos para el iPhone o el iPad. Otra posibilidad es disponer de
unos sistemas internos con datos en un formato fcil de procesar en un entorno mvil. Y no te olvides
de las apps ya disponibles en el App Store: es posible que exista ya una app que se ajuste a tus
necesidades. Repasa el ejemplo de inventario de activos (derecha) y trata de encontrar otras preguntas
que puedan ayudarte a entender mejor tu entorno existente.

Repasando las diferentes lneas de


Definicin de la app productos, nos planteamos qu
lugar deberan ocupar las soluciones
Cuando ya tengas claro qu es lo que necesitan tus usuarios, y las soluciones mviles que pueden
mviles. Empezando por las mximas
dar respuesta a estas necesidades, trata de afinar ms estos conceptos hasta obtener una idea de tu
prioridades, fuimos reflexionando
proyecto que puedas compartir con todos los implicados.
sobre los diferentes aspectos que
A la hora de definir la planificacin, el elemento clave es el esquema descriptivo de la aplicacin, una deberamos tener en cuenta. Este fue
definicin concisa de la finalidad de tu app. Un esquema descriptivo de la aplicacin puede ayudarte nuestro planteamiento. Analizamos
a evitar dos grandes obstculos: toda nuestra cartera de productos y
fuimos viendo las mejores opciones
Ya dispones de una app de ordenador y quieres adaptarla al entorno mvil y transferir al nuevo
sistema una larga lista de prestaciones. en cada caso.
Tienes una idea interesante para una nueva app mvil, pero pasas enseguida a las prestaciones antes James Blomberg, General Electric
de centrarte en definir la finalidad principal de la app.

Planificacin Diseo Desarrollo Implantacin 4


Elaboracin de un esquema descriptivo de la aplicacin
Para empezar, elabora un esquema descriptivo de la aplicacin que incluya los siguientes elementos: Ejemplo: esquema descriptivo de la aplicacin
La finalidad de tu app A continuacin presentamos un posible esquema descriptivo de la aplicacin,
utilizando como ejemplo una app de registro de horas para abogados:
Los destinatarios y su forma de utilizar la app
Finalidad: registrar el tiempo empleado en cada caso y las horas facturables
Su funcionalidad bsica
Destinatarios: abogados de un bufete, que necesitan registrar las horas facturables
Asegrate de que el esquema plantea nicamente una solucin y su funcionalidad bsica, y no un Utilizacin: en cada reunin con un cliente, para cronometrar el tiempo facturable
conjunto detallado de prestaciones. Si consigues elaborar un esquema slido, podrs utilizarlo para
Funcionalidad bsica: registrar el tiempo anotado y comunicarlo al sistema CRM
filtrar todas las ideas sobre prestaciones que se te vayan ocurriendo. Pregntate si una prestacin se
Esquema descriptivo consolidado: app para abogados para registrar el tiempo y las
ajusta realmente a la finalidad prevista. Despus de este proceso, qudate nicamente con las que se horas facturables de cada cliente
utilicen ms a menudo y resulten ms adecuadas para un entorno mvil. Evita las listas interminables Prestaciones que encajan con el planteamiento: cronmetro; seguimiento/
de prestaciones desconectadas de la finalidad de la app, difciles de ejecutar o que no resuelven el procesamiento en segundo plano; integracin del servidor con el sistema CRM;
problema. Procura que la app no se salga del guin previsto, para que tus usuarios puedan disfrutar de bsqueda de registros de clientes para asociar el tiempo registrado a cada cliente o
la mxima productividad y de un funcionamiento intuitivo. caso; sincronizacin con o sin conexin a Internet en funcin del estado de la red
Ejemplos de prestaciones que no encajan con el planteamiento o van ms all del
alcance del proyecto: alertas de nuevos juicios de casos; bsqueda de documentos
con referencias legales; mapa de ubicaciones de los clientes; interfaz de bsqueda
Planificacin del proceso de desarrollo de patentes
Normalmente, los proyectos de desarrollo de software de empresas absorben una enorme cantidad
de recursos durante la fase de desarrollo. Gracias al SDK de iOS y los entornos Cocoa Touch de primer
nivel, tus equipos de desarrollo podrn dedicar menos tiempo a la programacin y ms al diseo de
un entorno ideal para el usuario. Este proceso no solo te permitir tener lista la app ms deprisa, sino
tambin proporcionar a tus usuarios unas soluciones muy por encima de sus expectativas.
Tanto si utilizas un proceso de desarrollo ms gil como un mtodo en cascada ms tradicional, dedica
de forma sistemtica tiempo y recursos suficientes al proceso de diseo.
Plantea un calendario aproximado del proceso y las funciones de cada uno de los implicados en todos
los pasos. Aunque no debe seguirse a pies juntillas, puede servir como punto de referencia comn para
todos los implicados.

Consejo rpido: crowdsourcing


Genentech, consciente de que las buenas ideas para una app pueden nacer de
cualquier lugar y de cualquier persona, apost por crear un modelo participativo
o de crowdsourcing a partir de las sugerencias de apps internas planteadas por los
trabajadores. Aplicando este planteamiento, la empresa ha creado las cinco apps ms
populares, a juzgar por su difusin y por la satisfaccin de los usuarios.

Planificacin Diseo Desarrollo Implantacin 5


Elaboracin de un plan de trabajo Ejemplo: equipo de proyecto tipo
Para ayudarte a no salirte del guin y a comunicar correctamente el proceso, el plan debera incluir un
documento con el alcance del proyecto que incluya todos los recursos, objetivos, finalidades, plazos Executive Sponsor Line-of-Business Owner
y principales resultados del proyecto. Este documento constituye una referencia muy importante Primary stakeholder, Primary stakeholder and
responsible for strategic plan app user
para todos los implicados en el proyecto. El plan de trabajo puede incluir los requisitos tcnicos
preliminares de la app, as como diagramas de flujo o visuales para facilitar la comunicacin de los
objetivos del concepto de la app en la fase de desarrollo.

Requirements Code Release Project Leader Product Manager


Scope project Training Internal release of app Tracks schedules, timelines, Delivers the app, manages
Obtain approvals Coding of app Stakeholder signoff and overall scope of work requirements, and reconciles
Assemble team Design and graphics Maintenance plan business needs with solutions
Test cases
Unit testing

User Experience Architect Technical Architect Development Manager


Responsible for framework Responsible for infrastructure, Technical lead and project
Design Verification
Architecture design Testing on devices of user interaction model and security, and data access manager
Project plan built Automated UI tests user process flow/journey models
Initial wireframes Bug fixes
Developer sizings Design review/tweaks
Stakeholder walkthrough
User Interface Designer IT Manager Developer
Responsible for app visual Responsible for deployment Responsible for overall
design, graphics, and identity and life-cycle management technical architecture
Creacin del equipo of apps and coding

Como sucede con cualquier proyecto, es importante formar un equipo de colaboradores que puedan
contribuir al xito del proyecto de la app. Algunos participantes pueden ser clientes internos
(como el responsable de una unidad de negocio o un grupo de usuarios), mientras que otros sern
los responsables de determinadas partes del proceso de desarrollo (diseadores, desarrolladores,
arquitectos de infraestructura, etc.). El objetivo final es conseguir que las responsabilidades y las
funciones del equipo encajen con el calendario y las etapas clave del proyecto planteados en el paso
anterior. Por ejemplo, teniendo en cuenta que el diseo es un pilar fundamental de cualquier proyecto
de desarrollo con iOS, es importante disponer de un equipo de diseo (o de los recursos equivalentes).
Cada grupo puede tener diferentes puntos de participacin y diferentes intereses en el resultado
final, por lo que merece la pena documentar estas funciones, para que todo el mundo conozca sus
responsabilidades a lo largo del proceso.

Planificacin Diseo Desarrollo Implantacin 6


Externalizacin del desarrollo
Si no dispones de suficientes recursos internos, una buena opcin puede ser externalizar, total o Consejo rpido: seleccin de un proveedor externo
parcialmente, el proyecto de desarrollo. Adems, un desarrollador externo puede presentarte muestras Reunirse con varios proveedores.
de sus trabajos, unos ejemplos de los que pueden nacer nuevas ideas. Analizar los proyectos realizados, as como las apps disponibles en el App Store, y
Naturalmente, para que el equipo externo pueda garantizar unos resultados ptimos, tiene que fijarse en las valoraciones y las reseas publicadas por los usuarios.
familiarizarse con tu proyecto (con todos los objetivos fijados en el proceso de planificacin) y Evaluar las competencias y las capacidades. Por ejemplo, si realizan toda la
tambin interactuar con tu equipo interno. Comenta con ellos tus necesidades y asegrate de programacin internamente.

que tengan claros tus objetivos. Repasa el esquema descriptivo de la aplicacin y revisa a fondo Pedir referencias.
los detalles de tu proyecto. Y, nada ms empezar, asegrate de tener preparado un sistema de Descartar las empresas especializadas en todo o con planteamientos genricos
comunicacin transparente y bidireccional y un proceso que permita mantener el contacto. multiplataforma.
Valorar especialmente el diseo de la interfaz, la calidad de los grficos y el
Es imprescindible definir la funcin que quieres que desempee tu proveedor externo, al igual que recorrido de la app.
haras con cualquier miembro de tu equipo interno. Procura que sus funciones y responsabilidades
Hablar sobre el mantenimiento y el ciclo de vida de la app a partir de la versin 1.0.
encajen con el plan y el calendario del proyecto, para poder transmitirle con claridad qu aspectos del
Preguntar sobre la experiencia en infraestructuras de TI.
proyecto quedarn bajo su responsabilidad.

Requirements Release

In-house team responsibilities


Trabajamos con empresas externas en diferentes fases de los
Outsourced developer responsibilities
proyectos, dependiendo siempre de lo que necesitemos en
cada app. Si buscamos unas sensaciones y un aspecto muy
Design Code Verification concretos, hablamos con proveedores que han hecho cosas
parecidas, porque sabemos que ya tienen esta experiencia.
Algunos proveedores externos pueden ayudarte en todos los aspectos del proyecto, desde los
De este modo, podemos ofrecer un producto de ms calidad
requisitos previos hasta la implantacin final. Otros, en cambio, puede que estn especializados a nuestros trabajadores o a nuestros clientes.
nicamente en la programacin. Merece la pena comentar estas posibilidades y servicios con tu Todd Schofield, Standard Chartered Bank
proveedor externo, aunque finalmente no se termine concretando la colaboracin. Este proceso puede
ayudarte a evaluar sus puntos fuertes y tambin a definir el tipo de relacin que os unir.

Planificacin Diseo Desarrollo Implantacin 7


Primeros pasos con el programa Enterprise para desarrolladores de iOS
Una vez definidos los requisitos, procesada la informacin de los usuarios y elaborado el plan Resumen: recursos del programa Enterprise para desarrolladores
de aplicacin y proyecto, el ltimo paso antes de la fase de diseo es inscribirse en el programa de iOS
Enterprise para desarrolladores de iOS. Este programa pone a tu disposicin un proceso completo e Los miembros del programa Enterprise para desarrolladores de iOS tienen las
siguientes ventajas:
integrado para desarrollar, probar y distribuir apps de iOS entre los trabajadores de tu empresa. Una
vez inscrito, podrs acceder a las herramientas y recursos de la lista de la parte derecha. Acceso al Centro de Desarrollo de iOS
Acceso al SDK de iOS
A continuacin presentamos un resumen que te ayudar a familiarizarte con el proceso de inscripcin
Seleccin de betas de software y herramientas
y los primeros pasos con el programa. Si quieres ms informacin, puedes visitar la pgina http://
Posibilidad de crear su propio equipo de diseo en el apartado correspondiente del
developer.apple.com/programs/ios/enterprise (en ingls).
acceso para miembros

Requisitos de inscripcin Acceso a los foros de desarrolladores de Apple

Antes de inscribirte en el programa, tienes que comprobar los siguientes puntos: Incidencias tcnicas (dos en cada ao de suscripcin)
Posibilidad de probar las aplicaciones en el iPad, el iPhone y el iPod touch
Tienes previsto distribuir apps de iOS solo en el contexto de tu empresa u organizacin. El programa
Distribucin a medida de la app a un mximo de 100 dispositivos registrados
Enterprise para desarrolladores de iOS est pensado para desarrolladores que quieran desarrollar y
distribuir apps de iOS entre los trabajadores de su organizacin o empresa. Distribucin interna en la empresa a un nmero ilimitado de dispositivos de
trabajadores
Tu empresa dispone de un nmero Dun & Bradstreet (D-U-N-S). Tendrs que proporcionar a Apple este
nmero junto con la razn social de tu empresa u organizacin. Para obtener o solicitar un nmero
D-U-N-S, visita la pgina https://eupdate.dnb.com/requestoptions.asp (en ingls).
Ests autorizado a suscribir los contratos necesarios en nombre de tu empresa. Tendrs que indicar
Consejo rpido: creacin de un paquete de herramientas de
una persona de contacto a efectos legales, que pueda verificar que tienes autoridad para suscribir en
desarrollo a medida
nombre de tu empresa el contrato de licencia del programa Enterprise para desarrolladores de iOS.
El requisito bsico para trabajar con el SDK de iOS es un Mac con Intel. Los
Tienes las competencias tcnicas necesarias para firmar aplicaciones en Xcode. Una vez realizada la desarrolladores normalmente trabajan con un MacBook Air o un MacBook Pro,
inscripcin, sers el representante de tu equipo y, por tanto, el responsable de la distribucin de la por la libertad de movimientos que ofrecen. Sin embargo, un iMac o un Mac mini
app y de las tareas tcnicas de administracin de cuentas. son tambin buenas opciones, especialmente si dispones de un laboratorio de
desarrollo interno. Adems, asegrate de tener dispositivos de prueba disponibles.
Y para garantizar la mxima compatibilidad, recomendamos disponer tambin de
Descripcin del proceso de inscripcin equipos de generaciones anteriores, como iPhone 3GS o posterior o iPad de primera
1. Regstrate como Desarrollador de Apple. Para empezar, tendrs que registrarte en Apple creando generacin o posterior.
un nuevo ID de Apple exclusivo para este programa. Es recomendable configurar una direccin de
correo especfica para esta cuenta para se pueda asignar a diferentes personas si es necesario.
2. Introduce el nombre de la empresa, la persona de contacto y la razn social. Es imprescindible
para validar la condicin de persona jurdica. Sobre todo necesitars un nmero D-U-N-S vlido. El
nombre de tu empresa y la direccin deben coincidir con la informacin de la base de datos de Dun
& Bradstreet. En el marco del proceso de verificacin de identidad, quizs tengas que facilitar a Apple
documentos de la empresa, como los estatutos, un acuerdo operativo o una licencia de actividad.

Planificacin Diseo Desarrollo Implantacin 8


3. Enva la informacin a Apple. Una vez enviada la solicitud de inscripcin, podrs comprobar el
estado del registro conectndote al acceso para miembros del portal de desarrolladores Apple, a
Resumen: configuracin de un equipo
travs de la direccin http://developer.apple.com/membercenter. Para autenticarte, tendrs que utilizar
Los representantes y los administradores pueden aadir nuevos miembros, con
el ID de Apple creado en el paso 1. En esta fase, Apple revisar la app y, si es necesario, se pondr en privilegios de administrador o miembro, desde la pestaa People del acceso para
contacto contigo o con tu servicio jurdico. miembros del portal de desarrolladores Apple. Desde el apartado Invitations, podrs
invitar a nuevos miembros a tu equipo haciendo clic en el botn Invite Person.
4. Acepta el contrato de licencia del programa Enterprise. Para continuar con la inscripcin, tendrs
que aceptar las condiciones de la licencia del programa. En esta fase, puedes revisar las condiciones
con tu servicio jurdico.
5. Formaliza el pago del programa. Despus de aceptar las condiciones, recibirs instrucciones para
formalizar el pago de tu inscripcin, a travs del Apple Online Store. Si quieres utilizar una orden de Agent Admins Members
compra, contacta con tu Apple Store para valorar las opciones vinculadas a las compras institucionales.
6. Activa tu suscripcin. Una vez formalizado el pago, recibirs una confirmacin de pedido. En un
plazo de 24 horas, recibirs un correo electrnico de Apple con un cdigo para activar la suscripcin.
Admin Setup and Distribution Member Setup and Approvals Development
Cuando hayas hecho esto, podrs acceder a todos los recursos del programa.

Configuracin del equipo


Una vez inscrita la empresa en el programa Enterprise para desarrolladores de iOS, tendrs que crear Distribution Certificate Development Certificates Development Certificates
tu equipo de desarrollo, en el apartado Team de la zona para miembros.

Funciones y responsabilidades del equipo


Un equipo de desarrollo est formado por varias personas, que deben repartirse las siguientes Enterprise Provisioning Development Provisioning Development Provisioning

funciones:
Representante. El contacto principal del equipo de diseo y persona responsable de firmar todos los
contratos del programa para desarrolladores de iOS. Adems, es el usuario responsable de realizar la
inscripcin. El Representante debe responsabilizarse de gestionar el certificado de distribucin de la
empresa utilizado para poner las apps a disposicin de los trabajadores en las implantaciones a gran
escala.
Consejo rpido: registro de dispositivos para un proyecto de
Administrador(es). Los administradores supervisan sus propios equipos de desarrollo y los certificados desarrollo
de desarrollo. Tambin colaboran con el Representante en la gestin de la distribucin en el conjunto
Los administradores pueden introducir varios ID de dispositivo a la vez cargando
de la empresa. un archivo .deviceids generado con la Utilidad de Configuracin del iPhone. En la
Miembros. Los principales desarrolladores de la organizacin. Los miembros deben recibir la Utilidad de Configuracin del iPhone, selecciona los dispositivos que deseas cargar y
haz clic en Exportar. A continuacin, se crear un archivo .deviceids. Visita
autorizacin de los administradores para distribuir apps y dispositivos con fines de prueba y desarrollo. www.apple.com/es/support/iphone/enterprise para descargar la Utilidad de
Adems, colaboran con el Representante en la gestin de la distribucin en toda la empresa. Configuracin del iPhone.

Planificacin Diseo Desarrollo Implantacin 9


Recursos didcticos
Una vez listo el equipo, visita el Centro de Desarrollo de iOS (http://developer.apple.com/devcenter/ Los ejemplos disponibles en
ios) para acceder a su enorme abanico de recursos. Puedes aadirlos como favoritos o incluso Apple.com son muy tiles para
convertirlos en tu pgina de inicio para todo lo relacionado con el desarrollo. A continuacin te visualizar una prestacin especfica,
presentamos algunos de los recursos ms destacados. como una funcin de obtencin de
detalles o los mapas, o la integracin
Foros
Conecta con otros desarrolladores de empresas y comparte ideas y buenas prcticas.
con una base de datos SQL local.
Acceder a una comunidad de desarrolladores con perfiles similares al tuyo puede aportarte Keith DeBickes, JM Family Enterprises, Inc.
un sinfn de ventajas.

Material de referencia
Una enciclopedia, un manual y un temario, todo en un solo documento. Adems, permite
realizar bsquedas, est ordenado por categoras y te ofrece toda la informacin prctica Enlaces rpidos
que necesitas para disear apps.
Preguntas frecuentes sobre la inscripcin en el programa (en ingls)
Cdigo de ejemplo http://developer.apple.com/support/ios/enrollment.html
Utiliza las muestras como inspiracin para desarrollar tus propias apps. Si quieres, puedes Preguntas frecuentes sobre el programa Enterprise para desarrolladores
incluso copiar y pegar el cdigo de ejemplo directamente en tu proyecto. de iOS (en ingls)
http://developer.apple.com/support/ios/enterprise.html
Guas de primeros pasos (en ingls)
Si te estrenas con el desarrollo para iOS, estas guas ayudarn a tu equipo a familiarizarse
con los conceptos bsicos y las buenas prcticas en relacin con el desarrollo para iOS.

Prxima parada
Cuando llegues al final de tu proceso de planificacin, vuelve a repasar la lista de comprobacin
del principio de este captulo. Si has completado todos los pasos, seguramente habrs conseguido
ganarte el apoyo de tus superiores y el compromiso de tu equipo y tendrs en tus manos una hoja de
ruta clara que todo el mundo podr seguir. En este punto, tu equipo estar preparado para abordar la
siguiente fase del proceso: familiarizarse con las buenas prcticas del diseo y el desarrollo y con los
principales conceptos del desarrollo para iOS.

Planificacin Diseo Desarrollo Implantacin 10


Diseo

El diseo tambin cuenta. Crear una app bsica para iPhone o iPad no es difcil. Sin embargo, crear
una app que realmente tenga xito requiere algo ms de esfuerzo. Cules son las claves de una app Lista de comprobacin de diseo
irresistible? Debe tener un diseo atractivo y aprovechar de una forma ptima los colores y el audio.
Estos son los objetivos que debes haber alcanzado al final de la
Adems, debe ser fcil de usar, tener un funcionamiento fiable y ofrecer al usuario una experiencia fase de diseo:
nica, adictiva. Cuidando el diseo a la hora de crear una nueva app o al mejorar una app existente
Leer la Gua de Interfaz Humana para iOS de Apple
conseguirs aumentar su atractivo, ofrecer al usuario una interaccin ms completa y convertir tu
Redactar una lista breve de prestaciones que refleje el esquema descriptivo de tu
producto en algo nico.
aplicacin
En este captulo presentamos algunas estrategias para perfeccionar la idea, revisar tus opciones de Elaborar una lista con prioridades en relacin con objetos, tareas y conceptos y sus
diseo y dar con un diseo que permita a los usuarios de la app ser ms productivos. interacciones
Crear un conjunto de referencia de estructuras y composiciones bsicas para
visualizar el recorrido de la app
Un diseo tctil
Disear una interfaz de usuario pensando en la interaccin con un ratn tiene poco que ver con un
diseo pensado tctil.
Antes de empezar a disear una app, es importante entender la magia de los dispositivos iOS. Por eso,
te recomendamos que dediques un tiempo a interactuar con un iPhone o un iPad y familiarizarte con
las caractersticas del diseo de la interfaz y de la interaccin con el usuario.
En el nivel ms bsico, hacen falta ms pxeles para representar un botn que se puede tocar con un
dedo que para otro en el que se hace clic con el ratn. Por ejemplo, el tamao mnimo recomendado
de los elementos de la interfaz de usuario seleccionables con el dedo es de 44 x 44 puntos. Para asegurarnos de que nuestras apps son coherentes,
Determinados elementos habituales en un ordenador, como un men desplegable o una barra de aplicamos siempre la Gua de Interfaz Humana de Apple.
desplazamiento, no funcionan tan bien en un dispositivo mvil con una interfaz tctil. De este modo, podemos garantizar la coherencia
entre las diferentes apps. Naturalmente, podemos elegir
Leer la Gua de Interfaz Humana entre un sinfn de estilos de diseo diferentes, aunque
La Gua de Interfaz Humana para iOS describe los principios que debers tener en cuenta para disear conectados por un mismo tema coherente. Sin embargo,
una app de iOS con una interfaz que haga las delicias de tus usuarios. Y estos principios valen tanto los criterios de la Gua son importantsimos para nosotros.
para las apps internas de empresa como para las apps distribuidas a travs del App Store. Todd Schofield, Standard Chartered Bank

Planificacin Diseo Desarrollo Implantacin 11


Simplificar
Muchas veces, tus apps internas de empresa tendrn su origen en una aplicacin de ordenador Consejo rpido: apps de bolsillo
existente o estarn basadas en sistemas de unidades de negocio con los que tus usuarios trabajan a Unas apps sencillas, rpidas y fiables contribuirn
diario. En estos casos, es habitual caer en el error de trasladar todas y cada una de las funciones de a generar demanda interna y a minimizar el
trabajo y la inversin necesarios.
la aplicacin de ordenador al sistema para dispositivos mviles. Y este planteamiento normalmente
Unas apps bsicas pueden dar los mayores
no se traduce en una solucin a la altura de las expectativas de los usuarios de dispositivos mviles.
frutos: los usuarios podrn disear sus propias
Recuerda que los usuarios trabajan de otra forma en los dispositivos mviles y que no todas las soluciones, una posibilidad que dar ms
tareas pueden realizarse de la forma ms prctica en un dispositivo mvil. Las tareas ms sencillas y flexibilidad a los trabajadores.
directas son las que encajan mejor con un entorno mvil, y de ah la importancia de filtrar siempre las
prestaciones a partir del esquema descriptivo de la aplicacin para pulir la app.
A continuacin te ofrecemos algunas preguntas vinculadas a los elementos de la interfaz de usuario
de la app que pueden ayudarte a simplificar el diseo:
Es necesario que el elemento aparezca en pantalla?
Sirve el elemento para acceder a una prestacin importante?
Se utiliza con frecuencia? Casi siempre?
Trabajamos con la filosofa de que
Necesita el usuario el elemento cada vez que realiza una seleccin? las apps internas tienen que ser
A la hora de valorar la fluidez de la app, es importante que el elemento aparezca en este punto? tan elegantes y perfectas como la
Si la respuesta a cualquiera de estas preguntas es no, tal vez significa que puedes prescindir del mejor app comercial. Por eso,
elemento. Otra posibilidad sera combinar su funcionalidad con algn otro elemento. cuando empezamos a trabajar en
el diseo de la interfaz, no nos
Los usuarios del iPhone y el iPad estn acostumbrados al aspecto y el comportamiento de las apps limitamos a resolver el problema
integradas incluidas de serie en sus dispositivos. No es necesario imitar hasta el ltimo detalle de las de una forma funcional, sino que
apps integradas, pero resulta til entender los patrones de diseo que utilizan y valorar la posibilidad quisimos hacerlo con estilo.
de aplicarlos a tus propias apps, en un diseo simple, funcional e intuitivo. Estudia estas apps y sus
controles ms conocidos, las acciones tctiles (como pellizcar o hacer zoom) y las animaciones y Mark McWilliams, Razorfish
empieza a pensar en cmo podras aplicar estos conceptos a tu propia app.

Planificacin Diseo Desarrollo Implantacin 12


Priorizar
Cuando una app de iOS tiene una funcin bien definida y sirve realmente a su propsito, los usuarios Consejo rpido: pantalla Retina
disfrutarn de la experiencia. Todos los elementos de la app deben estar pensados especficamente La pantalla Retina introducida a partir del iPhone 4 permite
para su finalidad. Un buen planteamiento para conseguir una interfaz de usuario organizada y crear versiones en alta resolucin de los diseos e iconos. Si te
limitas a aumentar el tamao de tus diseos actuales, dejars
bien definida es crear una lista de objetos, tareas y conceptos (y despus clasificarlos a partir de su pasar la oportunidad de ofrecer a tus usuarios unas imgenes
importancia en relacin con la principal funcin o tarea de tu app). Este proceso te ayudar tambin deslumbrantes y llamativas. Por eso, recomendamos adaptar
a reflexionar sobre el flujo de trabajo o el proceso de la interaccin de la app, que condicionar las los materiales grficos y crear versiones de gran tamao y
decisiones que tomes en relacin con el diseo de la interfaz de usuario. mayor calidad, con texturas ms ricas, ms detalles y ms
realismo.

Inventario de objetos, tareas y conceptos


Objetos. Representan los principales elementos funcionales de la app. Por ejemplo, en una app de
calendario, corresponderan a los das, los meses, las citas y los recordatorios.
Tareas. Se trata de las acciones que se realizan normalmente con los objetos, como filtrar, programar,
editar y crear.
Conceptos. Corresponden a flujos de trabajo o, en algunos casos, a series de tareas relacionadas que
forman un concepto de mayor alcance. Utilizando el ejemplo del calendario, un concepto podra
corresponder a una bsqueda, que en este caso implicara varias tareas.

Objects Tasks Concepts

Calendars Scheduling Searching


Days Create Search

Weeks Edit Filter

Months Search

Appointments

Reminders

Una vez creadas las listas, empezars a observar una serie de vnculos entre los elementos de cada
categora. De este modo podrs agrupar los objetos, las tareas y los conceptos relacionados en una
jerarqua que simplificar su forma de presentacin de cara al usuario.

Planificacin Diseo Desarrollo Implantacin 13


Organizacin de la informacin
Distribuye los elementos ms utilizados (normalmente los ms importantes) en la parte superior de la
pantalla, para que tengan ms visibilidad y estn ms al alcance de los usuarios. Como el usuario se Consejo rpido: trabajar con bocetos
desplaza por la pantalla de arriba a bajo, los elementos deben aparecer de forma progresiva, teniendo Bocetos en papel. Muchas
en cuenta los siguientes criterios: veces, la mejor manera de
dar forma a una idea es
Frecuencia de utilizacin: los elementos utilizados con mayor frecuencia deben aparecer ms arriba y crear bocetos en sucio en las
los menos utilizados, ms abajo. primeras fases de la fase del
diseo para poder modelarlo y
Importancia para el usuario: los elementos ms importantes deben ocupar una posicin ms alta. perfeccionarlo sin el coste que
nfasis visual: los elementos que quieras destacar ms en tu diseo deben estar situados ms arriba. implica el desarrollo del cdigo.
En Internet se venden prcticas
Puedes aplicar el mismo planteamiento a la hora de organizar la informacin de tu app: la informacin plantillas que te ayudarn a
ms general debe aparecer ms arriba y, la ms especfica, ms abajo. componer bocetos rpidos con
una imagen depurada.
Bocetos con una app. En el App Store encontrars tambin apps, como iMockup y
Optimizar App Layout, que pueden ayudarte a crear interfaces de usuario simuladas para iOS
utilizando controles y vistas estndar.
Un buen diseo siempre es el resultado de un proceso de prueba y error. Cuanto ms practiques con
los conceptos de diseo de la interfaz en las primeras fases del proceso (antes de programar), mejores
sern los resultados finales.
Adems, es importante optimizar el diseo pensando en tus posibles usuarios y en el dispositivo en el
que se utilizar. Una buena app es capaz de compensar las diferencias en la interaccin de la interfaz
asociadas a las caractersticas propias de cada dispositivo. Para optimizar la app, tendrs que pulir y
probar todos estos conceptos hasta conseguir un resultado final que convenza a tus usuarios.

Ensayo y error
Antes de empezar a dar forma a la app, necesitas unos planos slidos. Puedes empezar con unos
primeros bocetos y, con el tiempo, dar forma a tus ideas. A medida que vayas avanzando, irs
descubriendo ms cosas sobre la posible interaccin del usuario con la app y podrs ir incorporando
nuevas ideas, sin necesidad de gastar tiempo, dinero ni recursos en tareas de desarrollo reales. Una
opcin es elaborar un grfico o un boceto del flujo de la app, de principio a fin, para hacerte una idea
de la experiencia como usuario y de la funcionalidad del diseo.

Planificacin Diseo Desarrollo Implantacin 14


iPad y iPhone
Si tienes pensado desarrollar una app que funcione tanto en el iPhone como en el iPad, debers El iPad nos ofreca ms prestaciones, y queramos
adaptar el diseo a cada dispositivo. Si bien la mayora de los elementos de la interfaz de usuario aprovecharlas al mximo. Esto era fundamental para nosotros.
son compartidos por todos los dispositivos, el diseo general no tiene nada que ver. Por ejemplo, los No se trataba simplemente de hacer algo el triple de grande,
usuarios suelen esperar un diseo ms cuidado en las apps para iPad que en las apps para iPhone. sino que con todos esos pxeles de ms tenamos que utilizar
Al adaptar una app de iPhone para iPad no recomendamos que el desarrollador se limite a ampliarla bien todo el espacio. Si queremos adaptar una app de
para que ocupe toda la pantalla. Es mucho mejor realizar las modificaciones necesarias para que la iPhone para el iPad, analizamos el proceso con detenimiento.
app aproveche el tamao de la pantalla y las prestaciones especficas del iPad. Adems, es importante Seguramente un 60% de las funcionalidades bsicas son
tener en cuenta que el iPhone4 y las versiones posteriores permiten trabajar con unos grficos las mismas, pero la pregunta es: Qu ms podemos hacer?
de mayor resolucin gracias a la pantalla Retina, por lo que es necesario duplicar la resolucin de Cmo podemos mejorar la usabilidad o reducir el nmero
los elementos grficos. Tambin existen diferencias en el apartado de los gestos disponibles y las de clics o de pantallas para ir de un sitio a otro?
posibilidades de rotacin, as como en los elementos de la interfaz de usuario que pueden utilizarse.
Por ejemplo, los controladores emergentes o los controladores de vista dividida son exclusivos James Blomberg, General Electric
del iPad.
Apps universales
El SDK de iOS permite desarrollar aplicaciones universales, es decir, apps optimizadas para funcionar
en todos los dispositivos iOS. Es bsicamente una app para iPhone y una app para iPad creada como
un nico binario.
Una app universal puede determinar en qu dispositivo se est ejecutando y ofrecer la mejor
experiencia posible para ese dispositivo. Las apps universales bien diseadas aprovechan las
prestaciones de hardware especficas de cada dispositivo, ofrecen la seleccin ms adecuada de
elementos de la interfaz de usuario y utilizan solo las funcionalidades compatibles con el dispositivo.
Al disear una app universal para iOS, es importante pensar en la manera de separar la interaccin
del usuario del cdigo de la aplicacin. Las clases y las API del SDK de iOS utilizan un paradigma MVC
(modelo-vista-controlador) que facilita una separacin de los datos y la lgica de la app de las vistas
utilizadas para presentar dichos datos. Por ejemplo, si utilizas Interface Builder para crear la interfaz de
usuario de tu proyecto tendrs este tipo de flexibilidad (ms informacin en el siguiente captulo).
El primer paso en el desarrollo de una app universal es crear diseos de interfaz de usuario distintos
para ambos tipos de dispositivos: un diseo para dispositivos iPad y otro para dispositivos iPhone/iPod
touch. Gran parte del diseo variar en funcin de las prestaciones que desees utilizar en cada uno de
los dispositivos. Piensa en las diferencias de uso de la orientacin o los gestos. Valora las prestaciones
de hardware de cada dispositivo, como la cmara. Las diferencias en el uso real del dispositivo deben
ser la base sobre la que crear un diseo slido para cada dispositivo y la referencia para determinar
cundo es necesario un cdigo condicional.

Planificacin Diseo Desarrollo Implantacin 15


Accesibilidad
En un entorno empresarial, es importante que todos los usuarios tengan el mismo acceso a Consejo rpido: cmo conseguir la compatibilidad con
las herramientas y las tecnologas mviles. iOS incluye numerosas funciones que garantizan la VoiceOver
accesibilidad del dispositivo y, por tanto, que cualquier persona pueda utilizarlo sin problemas. Sin Adaptar las apps de iOS para los usuarios
embargo, es importante que las apps internas estn tambin optimizadas, de modo que los usuarios de VoiceOver es, sin duda, una
con deficiencias visuales, auditivas y fsicas puedan usarlas y disfrutarlas. gran decisin. Adems, seguramente te
ayudar a cumplir con las exigencias de
iOS incluye la interfaz de programacin UI Accessibility, una API ligera que ayuda a las apps a accesibilidad impuestas por las diferentes
proporcionar toda la informacin que VoiceOver necesita para describir la interfaz para que las administraciones.
personas con discapacidades visuales puedan utilizarlas. Esta interfaz permite aadir una fina capa de Para que los usuarios de VoiceOver puedan
funcionalidad que no altera la apariencia de la app y que tampoco interfiere con su lgica. As, pues, si utilizar tu app, no es necesario modificar
ningn aspecto del diseo visual de la
utilizas controles y vistas estndar, gran parte del trabajo para garantizar la accesibilidad de la app ya
interfaz. Si utilizas elementos estndar,
estar hecho. En funcin del nivel de personalizacin de la app, quizs lo nico que tengas que hacer apenas tendrs trabajo extra.
es facilitar descripciones precisas y claras de los elementos accesibles de la interfaz de usuario.
Sin embargo, debers proporcionar informacin descriptiva sobre las
El SDK de iOS pone a tu disposicin estas herramientas para garantizar la accesibilidad de tu app: vistas y los controles de tu interfaz de usuario. Cuanto ms personalizada sea tu inter-
faz de usuario, ms informacin especfica debers facilitar para que VoiceOver pueda
Una ventana del inspector Interface Builder facilita la introduccin de informacin de accesibilidad describir tu app con exactitud.
descriptiva durante el diseo de archivos nib
El Accessibility Inspector, que muestra la informacin de accesibilidad incrustada en la interfaz de
usuario de la app y te permite verificar esta informacin al ejecutar la app en iOS Simulator
Adems, puedes utilizar VoiceOver para poner a prueba la accesibilidad de tu app.

Prxima parada
Tras familiarizarte con las buenas prcticas en el diseo de una interfaz de usuario, ya ests listo para
adentrarte en la fase de desarrollo del proyecto. Sin embargo, como ya apuntbamos en el captulo
de planificacin, el diseo es un proceso de ensayo y error que est presente en todo el ciclo de
desarrollo de una app. La creacin de un buen diseo centrado en la experiencia del usuario debe
seguir formando parte de la estrategia, incluso en la fase en que el equipo de desarrollo empiece
a escribir el cdigo. Las herramientas y los conceptos que abordaremos en el siguiente captulo
estn pensadas para ayudarte en esta misin: desarrollar un cdigo slido y, a la vez, crear apps bien
diseadas que garanticen una gran experiencia a tus usuarios.

Planificacin Diseo Desarrollo Implantacin 16


Desarrollo

iOS permite distribuir contenido e informacin de formas nuevas, sencillas y eficaces para ayudar a
los empleados a ser ms productivos. Gracias al SDK de iOS, tu equipo podr disear apps con las Lista de comprobacin de desarrollo
herramientas que usan los ingenieros de Apple para crear el sistema operativo y las apps incluidas de
Al final de la fase de desarrollo, tendra que estar mnimamente familiarizado con:
serie en el iPhone y iPad. As podrs crear apps elegantes con una capacidad de respuesta nica.
Las herramientas del SDK de iOS, como Xcode, Interface Builder, Instruments y
Con las herramientas de iOS, tendrs acceso a entornos de primer nivel para sacar el mximo Simulator
provecho a la plataforma. Repasaremos las API esenciales en el desarrollo de apps internas para Las principales API y entornos de trabajo para el desarrollo de apps internas de
darte ideas sobre cmo integrar estas opciones. Y veremos cmo sacar partido a las tecnologas web empresa
utilizando HTML5, CSS y JavaScript. Combinadas con las funciones de seguridad adecuadas, estas El desarrollo de apps web
tecnologas son garanta de una base segura y potente, capaz de dar respuestas a tus necesidades. La arquitectura de iOS para el acceso a los datos de sistemas internos
Por ltimo, antes de dar el visto bueno a la app para ponerla en manos de los usuarios, debers Buenas prcticas relacionadas con la seguridad de las apps internas
probarla y depurarla. Y seguramente tambin te interesar comprobar su funcionamiento en los Prueba, depuracin y validacin del funcionamiento de las apps
distintos dispositivos. Veremos cmo pueden ayudarte las herramientas de iOS en estas fases y te
indicaremos buenas prcticas para comprobar que la app funciona exactamente de la forma prevista.

Desarrollo nativo
El desarrollo interno gira en torno a tres ejes: plasmar la idea de diseo de la app, aprovechar al
mximo las prestaciones del dispositivo y realizar este trabajo en un entorno organizado y eficiente.
El SDK de iOS incluye: Xcode, el entorno de desarrollo integrado para programar, dar forma a la
app y depurarla, e Interface Builder para crear la interfaz de usuario e Instruments para analizar el Por la experiencia de mi equipo, puedo decir que el SDK y
comportamiento y el rendimiento de la app, entre muchas otras herramientas. Xcode son unas herramientas de programacin increbles
Xcode es el autntico centro neurlgico del proceso de desarrollo. Xcode permite programar, y muy fciles de usar, incluso para desarrolladores sin
realizar anlisis estticos en tiempo real y depurar errores al instante en el dispositivo. experiencia previa con sistemas Mac.
Hans-Christian Pahlig, Axel Springer
Interface Builder simplifica el proceso de diseo de prototipos de apps. Solo tienes que
arrastrar elementos para crear una interfaz de usuario completa, sin necesidad de programar.
En Xcode 4, Interface Builder forma parte del entorno de desarrollo integrado de Xcode.

Instruments recopila y presenta datos, por ejemplo sobre la utilizacin del disco, la memoria
o la CPU en tiempo real, lo que facilita la localizacin de los problemas.

Simulator ejecuta la app prcticamente como si se tratara de un dispositivo iOS, para que
puedas verificar y comprobar el cdigo directamente desde tu entorno informtico.

Planificacin Diseo Desarrollo Implantacin 17


API esenciales para desarrolladores internos
El SDK de iOS incluye las herramientas necesarias para programar casi cualquier funcionalidad que se
te ocurra. Y muchas de estas herramientas cuentan, adems, con cdigo de muestra y recursos para
que puedas ponerte rpidamente manos a la obra. Veamos algunas de las miles de API que puedes
encontrar en el SDK de iOS. Es solo un pequeo aperitivo, pero te servir para que te hagas una idea
del enorme abanico de cosas que puedes integrar en tus apps internas.

Multitarea. Los desarrolladores tienen acceso a siete servicios multitarea, que les permiten
realizar tareas en segundo plano sin perder rendimiento ni autonoma. Estas funciones
son: Voz sobre IP, audio en segundo plano, servicios de localizacin en segundo plano,
notificaciones push y locales, fin de tarea y cambio rpido de app.

Notificacin push. El servicio de notificaciones push de Apple te permitir avisar a


los usuarios cuando tengas que transmitirles informacin, aunque la app no est en
funcionamiento. Puedes enviar notificaciones de texto, activar alertas sonoras o aadir un
nmero al icono de la app. Xcode es el autntico centro neurlgico del proceso de desarrollo, ya que desde su interfaz
podr programar, realizar anlisis estticos en tiempo real y depurar errores al instante en el
Accesorios. Las aplicaciones pueden comunicarse con los accesorios a travs del conector dispositivo.
Dock de 30clavijas o de forma inalmbrica a travs de Bluetooth. Puedes crear una
app que recopile datos de sensores externos o incluso controlar accesorios con una
sofisticada interfaz Multi-Touch. Y disear una app de inventario para tu lector de cdigos
de barras. O crear una app que registre y controle las lecturas de un monitor del ritmo
cardaco conectado al dispositivo. Adems, puedes programar tus propios protocolos para
intercambiar informacin y comandos con tu app. Para obtener informacin sobre cmo
garantizar la compatibilidad de los accesorios con las apps para iOS, infrmate sobre el
programa de licencias MFi en http://developer.apple.com/programs/mfi.

Servicios de localizacin. Puedes utilizar el entorno Core Location para determinar la latitud
y la longitud actuales de un dispositivo y para configurar y programar el tratamiento de
los eventos basados en la ubicacin. El entorno usa el hardware disponible para calcular la
posicin del usuario a partir de la informacin de seal cercana. Con iOS 4 se introdujeron
mejoras en el apartado de los mapas gracias a la API MapKit. MapKit permite desplazarse
por el mapa y ajustar el zoom, realizar anotaciones personalizadas, mostrar la ubicacin
actual o incluso utilizar cdigos geogrficos para resaltar regiones del mapa y mostrar
informacin adicional.

Planificacin Diseo Desarrollo Implantacin 18


Integracin de datos compartidos. iOS incorpora potentes opciones de conectividad para
compartir informacin entre apps. Con una sintaxis basada en URL, podrs acceder a datos
de Internet, as como iniciar acciones en otras apps instaladas, como Mail, Calendario y
Contactos, entre otras. Adems, tu app puede funcionar en un esquema de URL nica, con el
que cualquier aplicacin podr ejecutarla.
Mail. iOS te permite incluir una interfaz estndar de creacin de SMS o mensajes de
correo en tu app. Puedes preconfigurar el mensaje con los destinatarios y el contenido,
aunque los usuarios podrn editarlos antes de enviarlo. Los mensajes de correo y SMS
salientes son gestionados por las colas de Mail y Mensajes del sistema.
Contactos. Con las API Address Book de datos compartidos, tu app podr crear un nuevo
contacto u obtener informacin de un contacto de la Agenda. El acceso a la lista de
contactos integrada permitir a un usuario de tu app asociar un contacto o la direccin de
una empresa a una tarea o proceso de la aplicacin.
Calendarios. Event Kit permite a las app para iOS acceder a informacin sobre eventos
de la base de datos de Calendario de un usuario. Carga eventos basados en un intervalo Interface Builder, incluido en el entorno de desarrollo integrado Xcode 4, simplifica el proceso
de diseo de prototipos de apps. Solo tendrs que ir arrastrando elementos para crear una
de fechas o un identificador nico, recibe notificaciones cuando los datos de un evento interfaz de usuario completa, sin necesidad de programar.
cambien o permite a los usuarios crear y editar los eventos de cualquiera de sus
calendarios. Los cambios realizados con Event Kit en eventos que formen parte de la base
de datos de Calendario de un usuario se sincronizan automticamente con el calendario
en cuestin, aunque se trate de calendarios de trabajo en servidores CalDAV y Exchange.
Fotos. UIKit te permite acceder a la fototeca del usuario. La interfaz de seleccin de fotos
incluye controles para navegar por la fototeca del usuario y seleccionar una imagen para
utilizarla en la app. Adems, puedes activar controles de edicin, que permitirn al usuario
desplazarse por la imagen cargada o recortarla. Tambin existe la opcin de incluir una
interfaz de conexin con la cmara para que las fotos realizadas se carguen en la app.

Archivos de audio y vdeo. Con las tecnologas multimedia del SDK de iOS, podrs integrar
sofisticadas opciones de audio y vdeo en las apps. El entorno Media Player permite la
reproduccin de archivos de vdeo a pantalla completa y, gracias a la funcin de streaming
Core Animation
en directo por HTTP, es muy fcil utilizar servidores web estndar para acceder a contenidos
de audio y vdeo de alta calidad en streaming de forma inalmbrica. Adems, puedes
utilizar Core Audio para generar, grabar, mezclar, procesar y reproducir audio en tu app.
Tambin resulta interesante Core Animation, que permite aadir movimientos fluidos y una
interaccin dinmica a la interfaz de usuario. O bien OpenGL ES, para incluir grficos 2D y
3D de gran potencia.

Planificacin Diseo Desarrollo Implantacin 19


Desarrollo web
Las apps web, una nueva categora de aplicaciones mviles, abren todo un mundo de posibilidades
para la empresa. Son pginas web diseadas a medida que aprovechan las potentes funciones
avanzadas de los lenguajes HTML, CSS y JavaScript para ofrecer una fantstica experiencia a los
usuarios de iOS. Y como creas las apps en HTML, podrs desarrollar apps web en cualquier entorno de
desarrollo web. Solo tienes que alojar una pgina web para distribuir una app web, y podrs gestionar
todos los cambios y actualizaciones desde el servidor en el que est alojada la pgina. Veamos ahora
brevemente las tecnologas utilizadas para crear apps web para dispositivos iOS.

HTML5 es la ltima versin de HTML, el estndar bsico que determina la interaccin


del contenido web con los navegadores modernos. HTML5 permite a los desarrolladores
integrar contenidos multimedia complejos directamente en pginas web estndar, con lo
que se reduce el tiempo de desarrollo y mejora la interaccin para la creacin de apps web.

Las animaciones y efectos visuales CSS3 permiten crear interfaces grficas de usuario
sofisticadas para apps web. Entre estos efectos visuales encontramos desde degradados,
Simulator ejecuta la app prcticamente como si se tratara de un dispositivo iOS para poder
mscaras y reflejos hasta efectos 2D y 3D ms complejos. Combinando estos efectos verificar y comprobar el cdigo directamente desde tu entorno informtico. Y como incluye
visuales con gestos tctiles, podrs crear apps web que interacten con el iPhone y el iPad el navegador Safari para iOS, tambin podrs probar y verificar las apps web antes de su
prcticamente igual que las apps nativas. implantacin.

WebKit es un motor para navegador web de cdigo abierto. Es la base de Safari en el iPhone
y el iPad, y simplifica el desarrollo web y facilita la innovacin. WebKit, un conjunto de
herramientas de cdigo abierto, puede utilizarse de forma totalmente gratuita y proporciona
el motor HTML para apps web diseadas para el iPhone y el iPad.

Dashcode forma parte del SDK de iOS. Su entorno integrado permite disear, programar Una de las cosas que nos permite hacer el SDK es entrar
e incluso probar el funcionamiento de apps web. Dashcode incluye tambin prcticas e introducir cambios rpidamente. Podemos hacerlo
plantillas para ayudarte a crear la app que tienes en mente. en pantalla en un abrir y cerrar de ojos y con Simulator
podemos visualizar los cambios casi al instante. Para
Safari 5 para Mac y Windows incluye un gran paquete de herramientas que permiten
nosotros, es perfecto para tener un feedback directo.
depurar, retocar y optimizar fcilmente una app web para obtener el mximo nivel de
rendimiento y compatibilidad. Para usarlo, activa el men Desarrollo en las preferencias de Todd Schofield, Standard Chartered Bank
Safari en tu Mac o PC.

Planificacin Diseo Desarrollo Implantacin 20


Integracin de contenido web en apps nativas
Con el SDK de iOS, tambin podrs darl acceso a contenidos web desde una app para iOS con un Necesitbamos un sistema para
elemento llamado Web View. Con l, tus aplicaciones web tendrn acceso a funciones de iOS, como distribuir cambios y actualizaciones
las notificaciones push, la cmara integrada o la deteccin de movimiento 3D, entre otras. Una de de una forma rpida y por
las ventajas es que puedes introducir mejoras en la app realizando ajustes en el servidor web sin eso apostamos por la frmula
necesidad de volver a distribuir la app. Introducir contenidos en una app nativa es tambin una hbrida. Bsicamente, consista en
frmula excelente para reforzar el desarrollo nativo sin perder las inversiones en desarrollo web. elementos de la interfaz de usuario
nativa asociados al telfono y
pginas web.
Acceso a datos de sistemas internos
Giancarlo De Lio, Hospital Mt. Sinai
En muchos casos, la app que disees deber acceder a los sistemas internos o almacenes de datos
de la empresa. Aunque ofrecer una excelente experiencia de usuario en el cliente es una de las
grandes prioridades de cualquier app mvil, es necesaria la misma atencin al detalle y la arquitectura
para integrar los datos de los servidores internos. El SDK de iOS cuenta con una gran seleccin de
herramientas y entornos para guardar, acceder y compartir datos almacenados en servidores de datos
de empresas.

Servicios web
Con el SDK de iOS, podrs utilizar datos XML para comunicar informacin entre tu aplicacin cliente
y el servidor. Los archivos XML presentan un formato ligero y estructurado que la app puede leer Consejo rpido: Web View
y escribir fcilmente, y que se adapta perfectamente al sistema de archivos de iOS. Si utilizas SOAP,
Para integrar contenidos web, basta con incluir un objeto UIWebView en la app
podrs crear y analizar tus propias transacciones de datos o utilizar bibliotecas externas, como gSOAP nativa, asociarlo a una ventana y enviarle una orden de carga de contenidos web. Esta
o Axis2. Y si usas REST, podrs integrar XML directamente en la app y obtener un rendimiento todava opcin tambin puede utilizarse para avanzar o retroceder en el historial de pginas
mayor. Adems, muchas apps para iOS utilizan JSON para el intercambio de datos con un formato web o para definir determinadas propiedades de los contenidos web de una forma
ligero y bibliotecas externas como JSON Framework. sistemtica.

Conexin de redes
iOS ofrece un amplio abanico de tecnologas de red modernas, sofisticadas y fciles de utilizar. BSD
Sockets es la interfaz bsica de programacin de redes de iOS y constituye la base de todos los
entornos de nivel superior. Es una buena opcin para obtener el mximo rendimiento y la mxima
flexibilidad. Y como BSD es, de facto, el estndar para la programacin de redes UNIX, no resulta difcil
aprovechar el cdigo de otras plataformas.
Bonjour es el avanzado protocolo de Apple para buscar sistemas y servicios en una red local de
forma automtica y sencilla, sin necesidad de complicadas configuraciones. Tu app tiene acceso
a estas funciones a travs de entornos de primer nivel que facilitan enormemente la conexin, la
representacin y la interaccin con informacin de cualquier lugar del mundo.

Planificacin Diseo Desarrollo Implantacin 21


Almacenamiento local
En iOS, Core Data y SQLite son dos de los recursos que la app utilizar para gestionar e interactuar con Ejemplo: servicios web centralizados
los datos almacenados en el dispositivo. Una buena opcin para simplificar el desarrollo interno consiste en centralizar los
Core Data. El entorno Core Data incorpora soluciones generalizadas y automatizadas para tareas servicios web, especialmente si la app tiene que interactuar con diferentes sistemas
internos. Por ejemplo, Sunbelt Rentals utiliz servidores de aplicaciones .Net para
comunes asociadas al ciclo de vida de los objetos y la gestin de los grficos de objetos, como la programar scripts capaces de activar procedimientos guardados en sistemas AS/400
persistencia. Core Data ofrece una solucin de gestin de datos genrica, diseada para gestionar antiguos y en bases de datos CRM de Microsoft. Posteriormente, pudieron representar
los diferentes modelos de datos necesarios para cualquier aplicacin, sea grande o pequea. Con los datos recuperados mediante .Net en XML, un formato que la app mvil poda
esta solucin, puedes definir grficamente el modelo de datos de tu app y acceder a dicho modelo procesar fcilmente.
desde el cdigo de la forma ms prctica. Esta solucin crea una infraestructura para gestionar
funcionalidades comunes, como guardar, restaurar, deshacer y rehacer, y te permite por tanto centrarte
en introducir innovaciones en tu app. Y como Core Data utiliza la biblioteca de datos SQLite integrada,
no es necesario instalar ningn sistema de base de datos propio.
AS/400 MS SQL Servers MS CRM
SQLite. iOS incluye la popular biblioteca SQLite, un motor de base de datos relacional compacto pero
potente y extremadamente fcil de incrustar en una app. Utilizado en numerosas apps de diferentes
plataformas, SQLite se ha convertido en la referencia de facto en lo que respecta a programacin de
bases de datos SQL ligeras incrustadas. A diferencia del entorno Core Data, estructurado en torno a
los objetos, SQLite utiliza una API de procedimiento basada en SQL para manipular directamente las
tablas de datos. SQLite tambin puede utilizarse en una app web con JavaScript.

Seguridad de las apps


Es muy probable que tu app interna utilice datos de empresa confidenciales, que tendrn que
protegerse. El departamento de informtica puede administrar diferentes medidas de proteccin
asociadas al dispositivo, como las polticas de cdigo de acceso y el borrado remoto. Sin embargo,
ms all de estas prestaciones de seguridad, siempre es recomendable disear una estrategia para
proteger los datos que contienen tus apps internas.
Y para reforzar la proteccin de los datos de tu app, iOS apuesta por el aislamiento y exige la firma
de las apps para evitar su manipulacin. Adems, el entorno de iOS facilita el almacenamiento seguro
de las credenciales de las apps en un llavero cifrado e incorpora entornos de primer nivel que pueden
utilizarse para cifrar los datos de la app y garantizar unas conexiones seguras. Puedes aprovechar La seguridad pes mucho a la hora
todas estas posibilidades en tu proceso de desarrollo con el objetivo de conseguir una base slida que de decidirnos por el desarrollo de
aplicaciones para iPhone. El iPhone nos
no perjudique excesivamente la experiencia del usuario.
ofreca seguridad HTTPS, el llavero para
proteger la privacidad de determinados
elementos y la posibilidad de cifrar los
datos.
Keith DeBickes, JM Family

Planificacin Diseo Desarrollo Implantacin 22


Apps
Consejo rpido: llavero compartido
Core Services Los elementos del llavero pueden compartirse entre diferentes apps. Compartir
elementos permite a las apps del mismo paquete relacionarse de forma ms
CF Network fluida. Por ejemplo, puedes usar esta prestacin para compartir contraseas u

otros elementos que, de otro modo, el usuario tendra que introducir en cada
Security Services aplicacin. Acceder a elementos compartidos en
tiempo de ejecucin implica el uso de la interfaz
Certificate, de programacin Keychain Services con los grupos
Keychain Randomization
Key, and Trust de acceso configurados durante el desarrollo. Para
Services Services
Services obtener ms informacin sobre cmo acceder al
llavero, consulta la gua de programacin de servicios
de llavero Keychain Services Programming Guide (en
Core OS ingls) en el portal de desarrolladores de iOS.

LibSystem
CommonCyrpto

Arquitectura
Las API de seguridad de iOS se sitan en la capa de Core Services del sistema operativo y estn basadas
en los servicios de la capa inferior de Core OS (kernel) del sistema operativo. Las apps se comunican con
las API de los servicios de seguridad directamente sin pasar por las capas de Cocoa Touch o Media. Las
apps de red tambin pueden acceder a las funciones de red con seguridad mediante la API CFNetwork,
que tambin se encuentra en la capa de Core Services. CFNetwork es una API C de primer nivel que
facilita la creacin, el envo y la recepcin de series de mensajes HTTP. Como CFNetwork se sita justo
por encima de Secure Transport, permite cifrar los flujos de datos utilizando diferentes versiones de los
protocolos SSL o TLS.

Seguridad de la red
Sin necesidad de realizar ningn tipo de programacin, iOS es compatible con los servicios VPN, para
que las apps internas puedan comunicarse con redes de empresa de forma segura. Los departamentos
informticos de la empresa pueden configurar VPN tipo IPSec, L2TP o PPTP o bien pueden solicitar a los
usuarios que descarguen apps de clientes VPN como Juniper, Cisco o F5 SSL en el App Store.
Para las configuraciones que empleen la autenticacin basada en certificados, iOS ofrece VPN por
peticin. La VPN por peticin establece una conexin automticamente cuando una app accede a
dominios predefinidos, lo que agiliza la conectividad de las apps internas. En el caso de apps que
requieran acceso Wi-Fi, iOS es compatible con WPA2 Enterprise Wi-Fi con autenticacin 802.1X. iOS
tambin es compatible con mtodos de autenticacin estandarizados, como los certificados digitales,
tokens de seguridad como Secure ID o CRYPTOCard y la autenticacin con contrasea.

Planificacin Diseo Desarrollo Implantacin 23


Seguridad de los datos
Las apps internas pueden proteger la seguridad de los datos confidenciales utilizando las prestaciones Consejo rpido: biblioteca de autenticacin
de cifrado incorporadas en los dispositivos Apple ms recientes. La proteccin de datos emplea
Una solucin interesante para la implantacin de polticas de seguridad en las apps
el cdigo exclusivo del dispositivo del usuario en combinacin con el cifrado por hardware del para iOS consiste en crear una biblioteca de autenticacin compartida para poder
dispositivo para generar una clave de cifrado slida. utilizarla en todas las apps internas. Esta biblioteca de autenticacin puede integrarse
en tus servicios de directorio, como LDAP o Active Directory. De este modo, no
Cuando la app interna marca un archivo concreto como archivo protegido, el sistema lo almacena tendrs que programar un cdigo de autenticacin diferente para cada nueva app.
en el dispositivo en un formato cifrado. Cuando el dispositivo est bloqueado, ni la app ni cualquier La posibilidad de almacenar una credencial en el llavero compartido representa
posible intruso pueden acceder a los contenidos del archivo. Sin embargo, cuando el usuario una gran ventaja para tus usuarios, que ya no tendrn que iniciar sesin en cada
desbloquea el dispositivo, iOS genera una clave de descifrado que permite a la app acceder al archivo. una de las apps que utilicen. La biblioteca puede definir tambin los perodos de
desconexin segn tus polticas informticas internas. Este entorno de cdigo
Al disear la app, tendrs que configurarla para que proteja los datos en el momento de crearlos y compartido entre las apps internas refuerza tanto la coherencia de tus polticas
para que acepte los cambios en el acceso a los datos cada vez que el usuario bloquea y desbloquea el como la experiencia del usuario: una apuesta ganadora para los usuarios y para el
dispositivo. departamento informtico.

Autenticacin segura
iOS proporciona un llavero cifrado seguro donde guardar identidades digitales, nombres de usuario
y contraseas. El sistema operativo separa en particiones los datos del llavero, de modo que no se
pueda acceder a credenciales guardadas por apps externas a travs de apps con una identidad
diferente. Con este sistema, iOS protege las credenciales de autenticacin de diferentes apps y Trabajamos con un acceso nico
servicios de la empresa. En iOS, Keychain Services verifica la firma de una app antes de permitirle para todas las apps y con listas de
el acceso a un llavero y se ocupa de todos los accesos al llavero sin necesidad de que el usuario control de acceso adicionales para
las apps privadas. Incluso si un
intervenga. Las apps internas pueden interactuar con el llavero a travs de la API Keychain Services.
usuario se descarga una aplicacin
con el acceso nico, podemos
Pruebas y validacin verificar si dispone de acceso. Si
est autorizado, podr continuar
Las pruebas de validacin del rendimiento, la optimizacin de la interfaz, la conexin y la usabilidad con la descarga y, si no lo est, el
en condiciones reales deben formar parte de todo proceso de desarrollo. De hecho, la mxima probar sistema le bloquear el paso.
pronto y mucho es fundamental para el xito de un proyecto de desarrollo de una app de iOS.
James Blomberg, General Electric
Existen diferentes soluciones para probar y validar el diseo y el cdigo de la app en las fases iniciales.
A continuacin presentamos un resumen de las herramientas de prueba de iOS que puedes utilizar
para realizar anlisis y depurar errores.
Anlisis esttico. Para detectar los errores en el cdigo antes de ejecutar la aplicacin, el analizador
esttico integrado en Xcode comprueba miles de posibles rutas de cdigo en cuestin de segundos
y localiza posibles errores que podran haber pasado inadvertidos o que seran casi imposibles de
reproducir.
Depuracin de errores en tiempo real en el dispositivo. Conecta el dispositivo para utilizar el
depurador grfico de Xcode u obtener datos de rendimiento en tiempo real en la vista cronolgica
de Instruments. Con estas herramientas de optimizacin, podrs identificar y corregir rpidamente
cualquier posible problema de rendimiento. Mueve el ratn para ver los valores de las variables.

Planificacin Diseo Desarrollo Implantacin 24


Instruments. La aplicacin Instruments es una potente herramienta de medicin del rendimiento
que permite examinar el cdigo durante su ejecucin y obtener indicadores muy valiosos sobre su
funcionamiento. El usuario puede ver y analizar los datos recopilados por Instruments en tiempo real
o bien guardar los datos y analizarlos ms adelante.
Grabacin de datos. Basta con indicar a Instruments la app que queremos analizar y los instrumentos
que vamos a utilizar. Haz clic en el botn rojo grande para iniciar el proceso de grabacin. De este
modo, los datos se grabarn y se guardarn para analizarlos ms adelante.
Comparacin visual. A medida que se van grabando y mostrando datos, se ponen de manifiesto las
relaciones entre los tipos de datos recopilados y entre los datos recogidos en diferentes secuencias.
Obtencin de detalles. Revisa los picos de los datos del grfico para ver qu cdigo se ejecuta
cuando se produce un pico y, a continuacin, entra en Xcode para solucionar el problema.
Reproduccin. Crea un entorno de prueba a medida grabando la interaccin de un usuario con tu
app y reproduce la secuencia para ver cmo influyen en el rendimiento los cambios en el cdigo.
Pruebas automatizadas de la interfaz. La herramienta de automatizacin integrada utiliza los scripts
(en JavaScript) que le proporcionas para ejecutar una simulacin de las acciones en tu app. Estas Instruments recopila y presenta datos en tiempo real, por ejemplo datos sobre la
acciones sintticas se generan con la ayuda de las interfaces de accesibilidad integradas en iOS. utilizacin del disco, la memoria o la CPU, con lo que facilita la localizacin de los
Puedes utilizar esta herramienta para mejorar tus procesos de prueba y poner a prueba los elementos problemas.
de la interfaz de usuario de tu app mientras se ejecuta en un dispositivo conectado.

Prxima parada Una herramienta que encontramos


Como hemos visto, las herramientas y los recursos que incluye el SDK de iOS te permitirn desarrollar absolutamente imprescindible fue
en un abrir y cerrar de ojos apps espectaculares que aprovechen al mximo las posibilidades tanto de Static Analyzer, ya que nos permiti
iOS como del dispositivo. Adems, con el SDK de iOS, podrs tener las apps listas para la implantacin localizar problemas sin necesidad
en un tiempo rcord. Muchos equipos de desarrollo internos plantean el proceso de desarrollo a de ejecutar la app. Antes habramos
partir del ensayo y error, creando e implantando apps varias veces a lo largo del proyecto. Gracias necesitado semanas o meses de
a la validacin y las pruebas integradas y a un modelo de seguridad que garantiza la proteccin de depuracin de errores, o puede
los datos de tu empresa, puedes distribuir tus apps a grupos de usuarios de cualquier tamao. En el incluso que no hubiramos dado
prximo captulo abordaremos todos los pasos del proceso de distribucin de la app y te ayudaremos con el fallo, y en cambio Static
a disear una estrategia que se adapte a la perfeccin al entorno de tu empresa. Analyzer era capaz de detectarlo al
instante.
Mark McWilliams, Razorfish

Planificacin Diseo Desarrollo Implantacin 25


Implantacin

Una vez completadas las fases de desarrollo y prueba del cdigo de la app, todava quedan algunos
pasos importantes antes de ponerla a disposicin de los usuarios. Para que la app pueda distribuirse, Lista de comprobacin de implantacin
tendrs que obtener un certificado de distribucin de empresa de Apple y firmar el cdigo en Xcode.
Estas son las cosas que debes haber hecho al final de la fase de implantacin:
Una vez que el proyecto de Xcode est listo para la implantacin, puedes alojar tu app interna de
forma segura en tu propio servidor web y distribuirla directamente a los usuarios a travs de Wi-Fi y Creacin de un certificado de empresa y perfil de distribucin

3G. Este captulo describe los procesos necesarios para implantar tu app y gestionar su ciclo de vida. Puesta en marcha de un servidor web de distribucin o una solucin
para la distribucin de apps de forma inalmbrica
Comunicacin del lanzamiento a los usuarios finales
Antes del lanzamiento
Para empezar con el proceso de implantacin, tendrs que certificar y distribuir la app a travs del
programa Enterprise para desarrolladores de iOS y firmar y crear el proyecto en Xcode. A travs de tres
sencillos pasos, lo tendrs todo a punto para distribuir tu app directamente desde Xcode.
1. Crear y descargar un certificado de distribucin. Para distribuir tu app de iOS, la persona
designada como Representante en el programa para desarrolladores tendr que crear un certificado
de distribucin. Solo el Representante de tu equipo podr crear este certificado, imprescindible para Apunte: Portal de distribucin para desarrolladores
distribuir la app en la empresa. Para obtener informacin e instrucciones detalladas sobre cmo
El portal de distribucin de iOS acompaa a los desarrolladores en el camino que
descargar y crear un certificado de distribucin de empresa, puedes visitar el portal de distribucin de deben seguir para probar sus apps en los dispositivos iOS y prepararlas para la fase
iOS en la direccin http://developer.apple.com/ios/manage/overview/. de distribucin. En muchos de los pasos descritos en este captulo tendrs que
utilizar el portal de distribucin de iOS, por ejemplo para crear certificados y perfiles
2. Crear y descargar un perfil de distribucin. Cuando tu app ya est lista para la implantacin en de distribucin. Visita el acceso para miembros del Centro de Desarrollo de iOS para
condiciones reales, tendrs que crear un perfil de distribucin de empresa. Estos perfiles pueden acceder al portal, donde encontrars tambin otra informacin de inters.
instalarse en cualquier dispositivo, por lo que si quieres distribuir la app a gran escala en tu empresa
tendrs que utilizar este mtodo.
Los perfiles de distribucin estn vinculados a tu certificado de distribucin y te permiten crear
apps que los usuarios podrn ejecutar en sus dispositivos iOS. Puedes crear un perfil de distribucin
para una app especfica, o para varias apps, especificando el AppID autorizado por el perfil. Si un
usuario tiene una app pero no tiene un perfil que autorice su utilizacin, no podr utilizar dicha app.
Como los perfiles estn vinculados a tu certificado, si lo revocas o si caduca, la app dejar de funcionar.
Los perfiles de distribucin pueden ser de dos tipos: Ad Hoc y Enterprise. Los perfiles de distribucin
Ad Hoc estn restringidos a determinados ID de dispositivo y, por tanto, solo pueden funcionar en un
dispositivo identificado (a travs del ID del dispositivo) y registrado en el portal del programa para
desarrolladores. Los perfiles Ad Hoc estn pensados normalmente para pruebas internas o programas
beta limitados, ya que no pueden ampliarse a ms de 100 dispositivos y comportan una importante
carga administrativa (por la necesidad de aadir los ID de dispositivo al portal del programa).

Planificacin Diseo Desarrollo Implantacin 26


E s importante tener en cuenta que un perfil de distribucin no equivale a un mecanismo de
seguridad. En un nivel bsico, autoriza la ejecucin de una app, pero no permite autenticar a los
usuarios ni protege los datos utilizados o consultados en la app. Por este motivo, siempre resulta
aconsejable proteger la app con mecanismos internos. Tal y como se indica en el captulo Desarrollo
de esta gua, puedes aprovechar muchas de las prestaciones y entornos de seguridad de iOS al
desarrollar tu app interna. Por ejemplo, una buena forma de proteger tu app interna es creando una
biblioteca estandarizada para la autenticacin de los usuarios.
3. Firma y creacin en Xcode. Una vez instalados el certificado de distribucin y el perfil de
distribucin, tendrs que firmar el cdigo en Xcode. Para obtener ms informacin sobre este proceso,
sigue las instrucciones detalladas del portal de distribucin para desarrolladores.
Una vez firmada la app, Xcode la empaqueta para distribuirla en la empresa a travs de un sencillo
proceso de exportacin. Utiliza el Xcode Organizer para compartir un proyecto aadido a tu archivo y
seleccionar las opciones de distribucin en la empresa. Este proceso empaqueta automticamente la
app, el perfil de distribucin y los dems elementos necesarios para la distribucin inalmbrica.

Distribucin
Una vez lista la app, la distribucin de apps internas puede realizarse alojando la app en un servidor
web creado internamente, configurando tu propio catlogo de apps internas o bien utilizando una Apunte: Xcode Organizer
solucin de gestin de dispositivos mviles externa. Organizer permite, desde una simple ventana, gestionar proyectos de Xcode,
almacenes de SCM, archivos de apps y dispositivos, adems de configurar con un
La solucin ideal para tu empresa depender de tus necesidades, tu infraestructura y el nivel de solo clic nuevos dispositivos iOS para proyectos de desarrollo. En el contexto de
gestin de apps que necesite. la distribucin de apps, un organizador es una biblioteca central para compartir
(exportar) apps y distribuirlas en el conjunto de la empresa. Organizer puede
utilizarse tambin para instalar apps internas y perfiles de distribucin en dispositivos
conectados.

Planificacin Diseo Desarrollo Implantacin 27


Proceso de distribucin inalmbrica de apps
La forma ms fcil de distribuir la app es alojarla en un servidor web. Simplemente sigue estos pasos: Caso prctico: el App Store interno de GE
1. Aloja la app en un servidor web al que puedan acceder tus trabajadores. El departamento interno de tecnologas mviles de
GE, el Mobile Center for Excellence, no solo disea
2. Comunica a tus usuarios el lanzamiento de la app por correo electrnico, SMS, notificacin push u innovadoras apps. Recientemente, tambin ha
otros sistemas que los usuarios puedan consultar en su dispositivo iOS, incluyendo la URL de la app. puesto en marcha un App Store interno de GE para
simplificar las descargas de las apps propias de la
3. Toca la URL para instalar la app. Un cuadro de dilogo preguntar si desean continuar con la empresa a los ms de 300.000trabajadores de la
instalacin. compaa.

Para obtener ms informacin sobre cmo configurar tu propio servicio de distribucin de apps de Necesitbamos una solucin para distribuir
aplicaciones mviles internamente, cuenta James
forma inalmbrica, visita la pgina http://developer.apple.com/library/ios/navigation. Blomberg, director de nuevos formatos y tecnologas
emergentes de GE. Tambin tenemos apps en el
Catlogo de apps internas App Store de Apple, pero necesitbamos algo ms
Tu equipo tambin puede disear un catlogo de apps internas que funcione como un portal para privado, porque hay aplicaciones de GE que no queremos que estn a la vista de
todo el mundo.
la distribucin inalmbrica de tus apps de iOS. Este modelo de autoservicio exige a los trabajadores
un esfuerzo mnimo en descargas e instalacin. El catlogo puede incluir URL de descarga de apps Desde su puesta en marcha en 2009, el App Store de GE ha registrado decenas
de miles de visitantes internos y ms de 100.000descargas de apps. Cada vez que
directamente, para permitir la instalacin y la actualizacin en paralelo de varias apps y agilizar la
hay nuevas apps disponibles, el grupo lo anuncia en la intranet de la empresa y a
implantacin y la configuracin. Una app web o nativa (optimizada para iPhone o iPad) ofrece una travs de comentarios y del boca a boca entre los 200miembros del Mobile Center
va todava ms sencilla para distribuir URL de una forma organizada y prctica. Encontrars un buen of Excellence de GE, un grupo integrado por profesionales de todos los principales
ejemplo de catlogo de apps internas en el apartado Caso prctico: el App Store interno de GE, en sectores de actividad de GE.
la columna de la derecha. Una de las claves del xito del portal es su diseo sencillo y funcional. Es una
interfaz muy completa, pero muy fcil de utilizar, asegura Dayan Anandapa, director
Gestin de las actualizaciones de tecnologas digitales y colaboracin de GE. Tras registrarse, basta con hacer clic
en una URL para empezar con el proceso de descarga. Como los dispositivos son
Las apps internas distribuidas internamente no se actualizan automticamente. Tendrs que intuitivos, queramos que la instalacin tambin lo fuera.
comunicar la actualizacin a los trabajadores y pedirles que instalen la app. Si el identificador de En una empresa tan grande y diversificada como GE, no todas las apps internas
aplicacin asignado a la app en Xcode no se ha modificado, reconocer la app como una app pueden estar al alcance de todos los usuarios. Para controlar el acceso y restringir
existente e instalar la actualizacin sin modificar los datos o preferencias locales de la app. Y si buscas la descarga de las apps a los usuarios que realmente las necesitan, la empresa ha
la mxima comodidad, puedes incluir una funcin en la app que se comunique con el servidor para introducido un sistema de acceso con dos niveles de seguridad. Trabajamos con un
acceso nico para todas las apps y con listas de control de acceso adicionales para
buscar actualizaciones durante el tiempo de ejecucin.
las apps privadas, apunta Blomberg.
Con la distribucin inalmbrica de apps puedes incluir un enlace a la app actualizada directamente Adems de facilitar el proceso de descarga de apps, el App Store interno de GE ha
en la propia app. Si creas una aplicacin de catlogo de apps nativa, puedes utilizar el servicio de servido para que la plantilla conociera mejor los recursos mviles de la empresa. Y las
notificaciones push con una alerta o un smbolo en el icono que indique a los usuarios cundo hay ventajas no terminan aqu.
actualizaciones disponibles. Tambin funciona como un almacn, una especie de central de informacin
compartida para nuestras diferentes actividades, asegura Blomberg. Adems, ha
permitido establecer nuevas relaciones. Personas que antes ni se conocan ahora
Gestin de dispositivos mviles trabajan juntas. En GE, las tecnologas mviles han dinamizado la colaboracin y la
Muchas soluciones de gestin de dispositivos mviles externas permiten la distribucin de apps de comunicacin de una forma increble.
forma inalmbrica desde el primer momento. Una de las ventajas de gestionar las apps internas es
poder realizar un control de las versiones y un seguimiento de la versin de la app que ejecutan los
usuarios. Muchas soluciones incluyen tambin servicios de notificacin push, para comunicar a los

Planificacin Diseo Desarrollo Implantacin 28


usuarios si hay apps nuevas o actualizadas. Y como las soluciones de gestin de dispositivos mviles
pueden definir configuraciones de red y polticas de seguridad, permiten transferir las configuraciones
directamente al dispositivo en el momento de instalar una app (por ejemplo, certificados Wi-Fi o VPN).
Para obtener ms informacin sobre las soluciones de gestin de dispositivos mviles, visita la pgina
www.apple.com/es/iphone/business/integration/mdm.

Lanzamiento de la solucin
Enhorabuena! Has diseado, desarrollado e implantado una app de iOS para tus trabajadores. Ahora
ya solo queda proclamarlo a los cuatro vientos. Ni siquiera las mejores y ms innovadoras apps
internas tienen garantizada una penetracin importante en la empresa o la rentabilidad de la inversin
si los usuarios no las conocen. Existen varias formas de comunicar las soluciones a tus usuarios. Te
presentamos algunas posibilidades que puedes tener en cuenta al preparar el paquete de lanzamiento
y comunicacin de la app:
Valora dar ms relieve a tus ltimas apps internas ms destacadas en la intranet de la empresa. Ejemplo: comunicaciones internas
Crea un sitio web especfico en tu intranet solo para apps de iOS y ofrece a los usuarios la posibilidad A la hora de comunicar la distribucin de nuevas apps internas a sus usuarios,
de publicar comentarios o participar en foros, por ejemplo. Genentech dio la mxima prioridad a la informacin sobre las ventajas y las
prestaciones de cada solucin en concreto. Al igual que un desarrollador comercial
Incluye un vdeo de demostracin de la app para que los usuarios vean sus posibilidades. creara una campaa de lanzamiento del producto, Genentech prepar documentos
Enva newsletters y correos electrnicos informativos. de marketing internos especiales para cada nueva app interna. De forma casi
inmediata, esta iniciativa consigui que ms trabajadores conociesen y utilizasen las
Cuelga carteles y otros materiales grficos en lugares estratgicos para que los trabajadores descubran nuevas apps.
la app mientras se desplazan por la oficina o por las instalaciones de la empresa.
Si puedes, enva a tus usuarios notificaciones push si hay nuevas apps o actualizaciones disponibles.
Complementa el catlogo de apps internas con capturas de pantalla y vdeos de demostracin de la
app para que los trabajadores tengan una idea ms clara sobre su finalidad.

Prxima parada
Con la implantacin y el lanzamiento de la app no termina el proceso: no ha hecho ms que empezar.
Si una app mvil tiene xito, tus usuarios te reclamarn ms novedades. Esta gua es solo un punto
de partida. Adems, el Programa para desarrolladores de iOS ofrece un amplio abanico de recursos
didcticos, buenas prcticas, consejos y tcnicas. Puedes conectar con otras personas a travs de los
foros de desarrolladores o descargar vdeos de desarrolladores para profundizar en las posibilidades de
la plataforma. Las opciones son ilimitadas.

Planificacin Diseo Desarrollo Implantacin 29


Recursos de formacin adicionales
Quieres que tu equipo de desarrollo interno vaya todava ms lejos? A continuacin presentamos
una lista de recursos avanzados para descubrir nuevos horizontes y acceder a informacin tcnica
detallada sobre los temas ms interesantes en el terreno del desarrollo de apps internas.

Vdeos del WWDC


Si quieres ver a ingenieros y expertos de Apple reflexionando en torno a las posibilidades
de innovacin con las ltimas tecnologas de Apple, visita: http://developer.apple.com/
videos/wwdc/2010/

Podcast de la Universidad de Stanford


Descubre las herramientas y las API necesarias para disear apps para iPad, iPhone y iPod
touch. El podcast de la Universidad de Stanford Developing Apps for iOS trata temas como
el diseo de interfaces de usuario para dispositivos mviles, las interacciones exclusivas de la
tecnologa Multi-Touch, Core Animation y mucho ms. Encuntralo en iTunes o visitando:
http://itunes.apple.com/es/itunes-u/developing-apps-for-ios-hd/id395605774

Big Nerd Ranch


Curso de siete das para empezar con buen pie en el desarrollo para iOS, pensado para que
te familiarices con los principios bsicos de Objective-C y del SDK de iOS. Big Nerd Ranch
tambin ofrece la posibilidad de organizar un taller en tus instalaciones para tu equipo de
diseo. Ms informacin sobre Big Nerd Ranch en Europa en www.bignerdranch.com

Pragmatic Studio
Aprende a crear completas apps para iOS desde cero gracias a estos podcasts. Ms
informacin en https://itunes.apple.com/es/podcast/pragmatic-studio-bonus-tracks/
id312552710?mt=2

2011 Apple Inc. Todos los derechos reservados. Apple, el logotipo de Apple, Bonjour, Cocoa Touch, Dashcode, iMac, Instruments, iPad, iPhone, iPod, iPod
touch, iTunes, el logotipo de iTunes, Keychain, Mac, MacBook, MacBook Air, Safari y Xcode son marcas comerciales de Apple Inc., registradas en EE.UU.
y en otros pases. Multi-Touch es una marca comercial de Apple Inc. Apple Store es una marca de servicio de Apple Inc., registrada en EE.UU. y en otros
pases. App Store es una marca de servicio de Apple Inc. La marca y los logotipos de Bluetooth son marcas comerciales registradas de Bluetooth SIG, Inc., y
Apple dispone de licencia para usar dichas marcas. Intel e Intel Core son marcas comerciales de Intel Corp. en los EE.UU. y otros pases. UNIX es una marca
comercial registrada de The Open Group. Otros nombres de productos y empresas mencionados en el presente documento pueden ser marcas comerciales
de sus respectivas compaas. Este documento se distribuye con fines exclusivamente informativos; Apple no asume ninguna responsabilidad relacionada
con su uso.

30

Vous aimerez peut-être aussi