Tôi có câu hỏi về hậu cần: Tôi đang cố gắng tìm ra cách tốt nhất để quản lý các API không đồng bộ hóa với ứng dụng. Cách tốt nhất để giải thích nó là bằng ví dụ:Cách tốt nhất để quản lý cập nhật trên ứng dụng khách/máy khách iOS
Giả sử phiên bản MyApp 1.0 đăng lên API "submit_feedbacK" yêu cầu first_name, last_name và email.
Sau đó tôi gửi MyApp phiên bản 2.0 lên App Store. Phiên bản đó được thiết kế để đăng first_name, last_name, giới tính và email tới API. Tất cả các trường này là các trường bắt buộc trên API.
Vấn đề tôi có: - Nếu tôi cập nhật API trước khi ứng dụng mới hoạt động, nó sẽ phá vỡ phiên bản 1.0 - Nếu tôi đợi cho đến khi Phiên bản 2.0 hoạt động và làm tê liệt từ xa 1.0, tôi phải ghi thời gian chính xác.
Tôi sẽ đoán rằng 'câu trả lời đúng' là duy trì hai API khác nhau. Nhưng nếu cả hai API đăng lên cùng một cơ sở dữ liệu trực tiếp, điều đó làm cho mọi thứ trở nên hơi khó xử.
Có ai có đề xuất về cách tạo mô hình này không?
Tôi tin rằng ý tưởng chung là thử và thiết kế cấu trúc API và cơ sở dữ liệu nó sẽ không cần thay đổi đột ngột trong một thời gian để giảm thiểu tổng số lúng túng của mạng. Nếu giá trị của 'giới tính' không hoàn toàn cần thiết trong suốt thời gian tồn tại của 1.0, bạn có thể thực hiện mà không cần người dùng chưa cập nhật và gửi nó trong quá trình chuyển đổi phiên bản. – millimoose
Điều đó đúng - trường mới cũng có thể mặc định là "nam" nếu giá trị không được cung cấp vì ứng dụng cũ sẽ không cung cấp. Tôi nghĩ rằng tôi quan tâm nhiều hơn đến những thay đổi phức tạp, như thể một khái niệm cần được tiếp cận lại. Nhưng như bạn đã nói, nếu những thay đổi lớn được lưu giữ hiếm, phần còn lại có thể được giải quyết thông qua các thông báo thời gian. Tôi cũng chỉ nhớ rằng có thể chọn thời điểm một ứng dụng hoạt động, vì vậy sẽ giúp kiểm soát cập nhật. Dù sao, cảm ơn thông tin phản hồi! – Anthony