Tengo una pregunta logística: estoy tratando de encontrar la mejor manera de administrar las API que no están sincronizadas con una aplicación. La mejor manera de explicarlo es con un ejemplo:La mejor manera de administrar actualizaciones en una aplicación cliente/servidor iOS
Digamos que MyApp Versión 1.0 publica una API "submit_feedbacK" que requiere first_name, last_name y email.
Luego envío la versión 2.0 de MyApp a la tienda de aplicaciones. Esa versión está diseñada para publicar first_name, last_name, gender y email en la API. Todos estos son campos obligatorios en la API.
El problema que tengo: - Si actualizo la API antes de la nueva aplicación es en vivo, se romperá Versión 1.0 - Si espero hasta la versión 2.0 es en directo y de forma remota paralizar 1.0, tengo que medir el tiempo correctamente.
Voy a adivinar que la "respuesta correcta" es mantener dos API diferentes. Pero si ambas API se publican en la misma base de datos en vivo, eso hace que las cosas sean un poco incómodas.
¿Alguien tiene sugerencias sobre cómo modelar esto?
Creo que la idea general es intentar diseñar la API y la estructura de la base de datos no necesitará cambios de ruptura por un tiempo para minimizar el total neto de torpeza. Si el valor de 'gender' no fue absolutamente necesario durante toda la vida de 1.0, probablemente pueda arreglárselas sin los usuarios que aún no lo han actualizado y lo hayan enviado durante la transición de la versión. – millimoose
Es cierto: el nuevo campo también podría ser "masculino" si no se proporciona un valor, ya que la aplicación heredada no lo proporcionaría. Creo que estoy más preocupado por los cambios complejos, como si un concepto necesita ser abordado nuevamente. Pero como dijiste, si los cambios importantes se mantienen raros, el resto probablemente se pueda abordar a través de anuncios de inactividad. También recordé que es posible elegir cuándo se activa una aplicación, lo que ayudará a controlar las actualizaciones. ¡De todos modos, gracias por los comentarios! – Anthony