그러니 그냥 공개해 봅시다. 저도 훌륭한 앱을 만들고 싶고 여러분도 훌륭한 앱을 만들고 싶다는 것을 알고 있습니다. 우리 둘 다 항상 작동하지 않거나 항상 빠르지 않은 앱은 좋은 앱이 아니라는 것을 알고 있습니다. 그냥 그렇지 않죠.
저는 지난 18개월 동안 카우치베이스에서 수많은 개발자 및 고객과 항상 작동하고 빠른 앱을 구축하는 것이 정확히 무엇을 의미하는지에 대해 이야기했습니다. 최근에는 모두가 이야기하기를 좋아하는 새로운 화두인 사용자 경험(UX)의 맥락에서 이에 대해 이야기하고 있습니다. 유쾌한 사용자 인터페이스(UI), 유쾌한 인터랙션 디자인, 유쾌한 이것, 유쾌한 저것. 사실 훌륭한 UX를 위해서는 보기 좋고, 예상대로 작동하며, 항상 빠르고, 항상 작동하는 앱을 구축하는 것입니다.
대부분의 앱이 직면하는 주요 UX 문제 중 하나는 가용성입니다. 네트워크 문제처럼 들리죠? 그런 셈이죠. 사실 네트워크가 앱을 사용할 수 없는 원인이기는 하지만, 네트워크가 문제가 되는 것은 아닙니다. 문제는 앱의 데이터 위치입니다. 데이터 위치에 따라 네트워크에 대한 앱의 의존도가 결정됩니다. 앱이 작은 데이터를 읽거나 써야 할 때마다 클라우드로 실행해야 한다면 문제가 발생할 수 있습니다. 네트워크를 사용할 수 없는 경우 앱이 클라우드에 접속할 수 없어 작동하지 않습니다. 네트워크가 느리면 클라우드에서 데이터를 가져오는 속도도 느려지고 앱도 느려집니다.
그렇다면 앱은 어떻게 작동해야 할까요? 이에 대해 좀 더 흥미로운 방식으로 설명하기 위해 이 인포그래픽을 만들었습니다. 확인해 보세요:
정답은... 로컬 및 원격 데이터 + 동기화입니다.
저희만 이런 일을 하는 것은 아닙니다(하지만 저희가 가장 잘하고 있다고 생각합니다). 많은 사람들이 모바일을 위한 최고의 데이터베이스/플랫폼이라고 주장하지만, 게임에 참여하기 위한 최소한의 요건조차 충족하지 못합니다.
자...시작합시다. 이동 중, 공중, 지하철, 군중 속, 직장 등 어디에서나 사용자들이 좋아할 것입니다.
자세한 내용은 다음에서 확인하세요. https://www.couchbase.com/developers/mobile/
추신: 이런 방식으로 앱을 작성하면 항상 코드가 엄청나게 줄어듭니다. 네트워킹 및 분산 컴퓨팅에 대한 모든 우려를 데이터베이스에서 처리하는 로컬 데이터베이스를 대상으로 작성합니다. 대부분의 경우 네트워크 연결을 건드릴 필요가 없습니다(얼마나 좋은 일입니까!). 대부분 UI 및 UX 문제를 처리하기 위한 코드를 작성하게 되며 나머지 문제는 데이터 계층으로 푸시됩니다.
안녕하세요 웨인,
저는 이 글의 '견고함'이라는 표현에 전적으로 동의하지만, 처음에는 Couchbase를 사용한 단위 테스트가 조금 번거로웠다는 사실을 인정해야 합니다. 제 생각에는
데이터베이스
그리고관리자
클래스는 \'최종\'이며 일부 모킹 프레임워크는 이를 잘 모킹하지 못합니다. 또한 인기 있는 안드로이드 시뮬레이션 API인 \'Robolectric\'도 카우치베이스 라이트가 포함된 활동을 시작하는 데 어려움을 겪었습니다.하지만 지금은 이러한 문제를 해결했지만 같은 처지에 있는 다른 분들을 돕기 위해 블로그 글과 도움이 되는 코드의 GitHub 리포지토리를 게시했습니다. 블로그 글은 여기에서 확인하세요: https://benwilcock.wordpress.c... 그리고 이를 지원하는 모든 코드가 포함된 GitHub 리포지토리는 여기에 있습니다: https://github.com/benwilcock/…
Couchbase Lite에서 계속 멋진 작업을 계속하세요, 팀의 노력에 감사드립니다!
고마워요 벤! 정말 멋진 작업입니다! 다른 커뮤니티와도 공유하도록 하겠습니다.
안녕하세요 웨인,
판매되었지만 어떻게 시작하나요? Restful Python + PostgreSQL 백엔드를 사용하는 안드로이드 앱이 있는데, 이를 Couchbase Server로 옮겨야 하나요? 이를 처리하는 방법에 대한 정보가 많지 않은 것 같은데요?
안녕하세요, 사무엘,
오프라인에 대한 최상의 지원을 받으려면 동기화 게이트웨이와 Couchbase Lite를 함께 마이그레이션해야 합니다.
관리자 rest API를 사용하여 현재 데이터셋을 SG로 가져올 수 있습니다. http://developer.couchbase.com…
포럼에서 언제든지 문의해 주세요. https://forums.couchbase.com/c…
이 글을 공유해 주셔서 감사합니다. 내 소셜 네트워크에 링크를 공유했습니다.