visual una tipos segun que para móviles moviles movil gratis diseño diseñando definicion autores apps app aplicaciones aplicacion ios iphone ios7 workspace nested

ios - tipos - Divida una aplicación en varias aplicaciones que tengan un diseño de interfaz de usuario diferente y compartan código de lógica



que es una aplicacion movil segun autores (3)

La solución simple en iOS es usar objetivos.

Para los recursos puede usar diferentes objetivos para cada marca y luego seleccionar diferentes recursos (imágenes, xibs, etc.) para cada objetivo.

Además, si los cambios en el código son mínimos, puede refactorizar alguna parte de su código y crear diferentes clases con diferentes implementaciones para cada objetivo (puede usar algunos patrones como Factory). También puede simplemente usar macros de preprocesador.

No es lo mejor, pero este es el enfoque más simple y rápido, pero si su código cambia mucho, es mejor crear una biblioteca central como dicen las otras respuestas.

Tengo una aplicación que llamaré la "aplicación base". La aplicación funciona con muchas marcas. Ahora necesito separar esas marcas y hacer una aplicación distinta para cada marca. Cada aplicación tendrá un diseño ligeramente diferente (incluyendo diferentes imágenes) y aquí y allá tal vez algún código específico para una marca. Todas las aplicaciones también deben usar el mismo código base de la "aplicación base" que trata con la lógica.

Tengo algunas opciones que he pensado, pero no estoy seguro si alguno de ellos se adapta a mis necesidades. Estaré feliz de aclarar la diferencia entre las opciones.

Las opciones que he pensado son:

1) Crear una aplicación para cada una de las marcas y simplemente copiar y pegar los archivos de clase de la "aplicación base" como referencia, excepto los archivos .xib, que se copiarán como una copia. El problema es que no sé cómo ni dónde escribir un código específico de marca (porque se compartirá entre otros).

2) Crear un espacio de trabajo que incluirá los proyectos para cada uno de la marca. No estoy seguro de cómo funciona esto y si esto es correcto, estaremos encantados de ayudar a aclarar aquí.

3) Anide un proyecto de "aplicación base" dentro del proyecto de cada marca. Se apreciará cualquier ayuda para aclarar qué es lo que hace.

3) Usar la aplicación base como una biblioteca estática que se vinculará en el proyecto de cada marca. No estoy seguro de qué pasará con la UI (compartida, no compartida). Estaré encantado de ayudar a aclarar aquí también.

4) Usar una forma simple de mantener cada uno de los proyectos de la marca, incluido el código compartido (que supondrá un desastre, supongo).


Suele ser algo con lo que te encuentras creando juegos flash o aplicaciones baratas.

Estos tienen marcos muy genéricos como: patear una pelota, disparar a la pantalla o generar una lista con algunos datos descargados de un servidor específico, etc.

Cada vez que quieren crear un nuevo shootergame, simplemente cargan su marco de disparo, agregan un montón de gráficos y pueden lanzar un juego de mierda en un día.

¿Cómo lo hicieron?

A menudo crean un marco que contiene modelos compartidos, controladores, interfaces, etc. Ponga muchas funciones generales de utilidad, como descargar archivos, etc. en una biblioteca. Y también puede crear algunas vistas de marco por defecto y controladores de vista.

Cuando desee crear una aplicación similar, solo importe la biblioteca y vuelva a utilizar el marco base. Conteniendo vistas base, modelos base, etc.

Puede encontrar un buen ejemplo en los ejemplos de demostración entregados con el SDK de iOS o el SDK de Android.

Buena suerte.


Un buen enfoque sería dividir su aplicación en los siguientes componentes:

  • Biblioteca de modelos básicos
  • Vistas reutilizables y controladores de vista. Las vistas pueden diseñarse para admitir el despellejado y la personalización.
  • Cualquier otro código reutilizable que se pueda encapsular como su propia "identidad".

Estos proyectos centrales deberían tener sus propias compilaciones y pruebas de integración continua (control de calidad).

Y luego usa CoocaPods

En lugar de realizar manualmente toda esta integración compleja, use CocoaPods . CocoaPods creará el espacio de trabajo de Xcode, construirá las bibliotecas y las vinculará a su proyecto. Luego creas una construcción personalizada simplemente pegando las piezas.

Además de esto, CocoaPods también realiza tareas tales como:

  • Resolución de dependencias transitivas : lo que significa construir y recuperar cualquier biblioteca que utilicen sus bibliotecas.
  • Administrar versiones de las bibliotecas que se están integrando.

Repo privado de especificación es posible, o simplemente use GitHub

El repositorio principal de CocoaPods es, por supuesto, público y contiene librerías de código abierto y / o libremente disponibles.

Puede alojar su propio repositorio de especificaciones de CocoaPods, o simplemente configurar una cuenta privada de GitHub e incluir un PodSpec en cada proyecto, luego resuelva de la siguiente manera:

pod ''MyLibraryName'', :git => ''https://github.com/myOrgName/MyLibrary.git''

esto instalará todas sus bibliotecas en su espacio de trabajo. Para actualizar su proyecto e incluir cualquier cambio en las bibliotecas centrales, simplemente:

pod update

Ventajas de este enfoque

  • Tendrá un conjunto separado de controles de calidad que se aplicará a cada proyecto principal.
  • Habrá mucha menos reputación.
  • Puedes usar más automatización. Más automatización equivale a menos residuos equivale a más valor para el cliente.
  • A medida que el equipo crece, puede dividir el desarrollo del producto central y la integración de la solución en roles / equipos separados. Un equipo que trabaja en una compilación de integración no necesita extraer las últimas funciones de la biblioteca, si eso las perturba.
  • Puede tener dos clientes diferentes en compilaciones diferentes de la biblioteca principal. CocoaPods lo gestionará a la perfección. Por lo tanto, no tendría que actualizar necesariamente una compilación hasta que obtenga una solicitud de mejora o un mantenimiento programado. (Nuevamente reduciendo el desperdicio, aumentando así el valor para el cliente).

Inspirado por Piggly Wiggly (pero delgado)

Este enfoque se basa en el enfoque de estilo de línea de producción que se popularizó en Japón después de la Segunda Guerra Mundial. Se llama Metodología Lean , y se trata de tener un inventario rápido y pequeño y reducir el desperdicio. (Entregando más con menos). . Los ejecutivos japoneses se inspiraron en esto cuando fueron a América y visitaron las tiendas Piggly Wiggly Supermarket.