18

Me preguntaba si existen mejores prácticas o convenciones para estructurar tus proyectos iOS?¿Existen mejores prácticas o convenciones para la estructura del proyecto ios

Gracias.

+0

Esto es un poco vago, por lo que no creo que nadie haya respondido todavía. ¿Te refieres a los archivos reales del proyecto y a los directorios en los que van? ¿Te refieres a la arquitectura del código? Etc. –

+0

@quixoto - Me preocupa principalmente cómo administrar diferentes archivos en diferentes directorios. – itsaboutcode

Respuesta

13

Sé que esta es una vieja pregunta, pero pensé que agregar una respuesta ayudará a los demás que aterricen aquí.

Encontré this link provechoso.

9

Tomado de iOS Coding Best Practices Slideshare de Jean-Luc David:

enter image description here

+2

Depende absolutamente de la cantidad de código que tenga en su proyecto, pero personalmente creo que una carpeta llamada "Ayudantes" no es tan buena. Existe el riesgo de que eventualmente todo termine allí, siempre que se considere una "utilidad". Creo que las carpetas separadas con nombres que se explican por sí mismas para tipos de utilidades separadas son mejores, como "Cifrado", "Serialización", etc. –

+1

Un paquete de ayuda/utilidad es un enfoque común para extraer la funcionalidad que es reutilizable y es más probable que ponerlo en una biblioteca de utilidad reutilizable algún día. Por supuesto, hay carpetas autoexplicativas dentro del paquete Helper/Utility, pero no recomendaría ponerlas al mismo nivel como su modelo o paquete de controlador, especialmente en un gran proyecto ... Pero como todo es cuestión de gustos, es muy importante acordar con su equipo en una estructura básica con la que todos se sientan cómodos. –

4

En cuanto a mí, Architecting iOS Project solución funciona perfectamente. También agregué Cocoapods.

Ahora mi proyecto será similar a:

enter image description here

0

Aunque estoy de acuerdo que la práctica más común es tener los archivos agrupados por tipos (es decir, modelos ViewControllers etc.), me gustaría añadir que hay algunos negocios Casos en los que es más útil organizar el código según la funcionalidad proporcionada. Por ejemplo, si trabaja para una empresa que ofrece múltiples combinaciones de servicios, generalmente empaquetados en diferentes aplicaciones que comparten algunos elementos, por ejemplo: Libreta de direcciones, Mensajes, Gestión de documentos, etc. ...

En mis proyectos, generalmente tengo un carpeta llamada Común donde pongo cosas que reutilizo a menudo, como helpers de fecha y hora, escritores de IO, etc. ... Otras cosas las separo por funcionalidad.

0

Seguimos una estructura de proyecto estándar para que el equipo pueda entenderlo de una mejor manera.

enter image description here

1

He estado usando una similar a la siguiente para mis proyectos.

Pero después de leer este hilo y algunos otros artículos en línea, decidí categorizar algunos tipos en una nueva UI de código de carpeta.

  • aplicación (archivo de configuración con constantes, AppDelegate)
  • Modelos
  • IU
    • Vistas
    • Controladores
    • Si uso archivos punta (.Xib) que deberán incluirse en esta o de lo contrario los guión gráfico (s)
  • Recursos (Todos los recursos como imágenes, fuentes, archivos de audio con cada uno en diferentes subcarpetas)
  • Servicios
  • Ayudantes/Utilidades
  • Bibliotecas

Pero si está utilizando la arquitectura MVVM, por favor personalizar esta camiseta o su mejor ajuste.

¡Salud!

Cuestiones relacionadas