CouchDB에 대한 나의 약한 이해 때문에 조금 혼란스러워합니다. 간단히 설명 드리겠습니다. 나는 내 클라이언트가 안드로이드 버전을 요구할 수있는 아이폰 앱을 개발 중이다. 이 응용 프로그램의 데이터 저장소로 CouchDB를 사용하고 있습니다.CocuchDB/TouchDB는 iOS 용 오프라인/온라인 설정을 제공하도록 설계 되었습니까?
관리자가 정보를 설정/업데이트 할 수있는 백엔드를 설계했습니다. 모든 업데이트 된 정보는 모든 아이폰 장치에 복제해야합니다. 내가 서버에서 장치로 복제를 말하면, 하나의 아이폰 장치에서 다른 장치로의 복제를 의미하지는 않는다. 업데이트 된 소스는 항상 서버가 될 것입니다.
내 클라이언트는 기능 가능한 경우의 대부분은 오프라인으로 작업 할 것을 원한다. 오프라인 클라이언트의 일부 기능을 사용하려면 자동으로 동기화 될 CouchDB 및 TouchDB (iPhone)를 사용해야합니다.
는 저에 따르면 CouchDB를이 목적에 부합하도록 설계되지 않고 데이터 소스가 하나 개의 서버 만 배수가 아닌 경우 분산 컴퓨팅에 필요한 복제를 위해 디자인했다.
CouchDB/TouchDB 사용 많은 문제가 있습니다. 큰 문제 중 하나는 제 논리와 UI 구현이 함께 내 xcode에 구축 된 것입니다. 내일 내가 안드로이드 응용 프로그램을 개발하고 싶다면 다시 안드로이드 구문으로 같은 논리를 구현해야합니다. 로직 요구가 변경되면 두 버전이 모두 업데이트됩니다. 클라이언트가 내일 윈도우와 BB 버전을 개발하기를 원한다면 좀 더 좌절 할 것입니다.
나는 우리가 하나의 미들웨어를 구축 할 3 계층 아키텍처를 사용한다 나의 클라이언트를 제안 할 수 있습니다 그리고 우리가 우리의 논리를 유지합니다이를 방지합니다. 앱 수준에서 개발해야하는 작업은 WebService 및 현재 UI를 통해 미들웨어에서 데이터를 가져 오는 것입니다.는하지만 내 클라이언트에게 제안하기 전에 나는 전문 지식에서 내 생각을 확인합니다. 나는 CouchDB에 대한 지식이 없기 때문에 CouchDB가 오프라인/온라인 설정 용으로 만 설계 되었기 때문에 잘못되었을 수도 있습니다.
여기에서 전문 기술을 기다리고 있습니다. 지금은 비슷한 일하고 있어요, 그래서 내가 발견 한 것을 공유 할 수 있습니다
귀하의 기술과 고객의 요구 사항에 맞는 것을 제안 할 것입니다. 동기 논리를 세 번째 계층으로 이동할 수는 있지만 클라이언트 논리를 쉽게 만들 수 있는지 알기는 어렵습니다.문제를 옮겨서 실패 지점 수를 늘리는 것 같습니다. – WiredPrairie
"문제를 해결하고 실패 지점 수를 늘리는 것처럼 보입니다." 방법? – SangamAngre
모든 (iphone/android/windows/BB)에 적용 할 수있는 논리를 유지하는 것이 좋지 않습니다. 3 단계는 세계적인 접근 방식입니다. 그렇지 않니? – SangamAngre