¿Puedo cambiar la funcionalidad de la aplicación en función del rol del usuario? ¿O tengo que hacer dos aplicaciones?

Gracias por el A2A. Técnicamente sí, pero algunas cosas a tener en cuenta:

  • ¿Qué porcentaje de usuarios también serán administradores? Si es grande, y con frecuencia cambian entre ser administrador y usuario, entonces probablemente tenga sentido tener ambas vistas en una aplicación y dejar que cambien según sea necesario. Vea el trabajo como ejemplo: tienen una aplicación para clientes y proveedores y puede cambiar de roles.
  • ¿Qué tan compleja (o simple) es la experiencia para cada rol? La regla general es una tarea simple por aplicación y no más de 2 botones por pantalla. Si su experiencia combinada parece demasiado ocupada, podría tener más sentido crear dos aplicaciones separadas. Vea uber como ejemplo: tiene diferentes aplicaciones para el controlador y el usuario, y ambas son idiotas simples.
  • También puede hacer un enlace cruzado de una aplicación a otra : vea LinkedIn como ejemplo: en la aplicación principal, tiene enlaces a otras aplicaciones como búsqueda de empleo, etc.

En pocas palabras: manténgalo muy, muy simple.

Gracias por la A2A, Franco!

Seguro que puede.

Sin embargo, lo que sucede no es un cambio en la funcionalidad, sino un sistema que accede / restringe ciertas funciones / interfaces. Es como una oficina, donde hay habitaciones solo para cosas, donde no se permiten otras personas.

La separación ocurre durante el inicio de sesión, donde el sistema sabe si el usuario es un administrador o un usuario común, y cada uno tiene sus propias funcionalidades disponibles.

En algún momento, la escala de la aplicación puede crecer hasta un punto, donde una sola aplicación no puede contener todos los roles. En ese punto, tener aplicaciones separadas tiene mucho sentido.

Esa es una buena pregunta, ¡sigue preguntando!


Para obtener una cotización gratuita de cuánto costaría agregar funcionalidad a su aplicación, envíeme un mensaje a través de Provectus


Dicslosure : trabajo en Provectus. Administro el equipo de diseño y desarrollo de aplicaciones.

  • Tenga una instancia central de Singleton de Role Manager: ejemplifíquela al inicio de la aplicación.
  • Asigne el rol de usuario tan pronto como se inicie la sesión, es decir, inicie sesión.
  • Dentro de cada controlador de escena / vista (según el idioma / herramienta que esté utilizando para crear la aplicación de iOS), verifique el valor del rol desde el administrador de roles singleton.
  • Mostrar, habilitar / deshabilitar la interfaz de usuario y controlar otras acciones en función del rol.

Este enfoque es mucho más escalable que crear, actualizar y controlar 2 versiones de la misma aplicación.

A menos que haya muy poca funcionalidad común entre los roles, debe y debe crear una aplicación única que sea capaz de manejar todos los roles.