리소스가 존재하는 곳과, 리소스를 사용하는 앱을 분리시킨 것을 2키어 아키텍처, 또는 클라이언트-서버 아키텍처라고 부른다.
이런 형태의 설계가 바탕이 된 이유는,
앱 자체에 모든 정보를 담는 것의 문제를 해결하기 위함으로 보인다.
앱에 모든 데이터를 저장하는 방식으로 구동되어야 한다면,
앱을 구성하는 정보가 바뀔 때마다 앱을 업데이트 해줄 필요가 없는 등의 이점이 생긴다.
참고:
2-tier archtecture에 database가 추가된 형태를 3-tier architecture라고 부른다고 한다.
이때, 서버는 리소스를 전달하는 역할을 하고, 리소스의 저장은 데이터베이스가 맡는다.
클라이언트는 보통 플랫폼에 따라 구분된다.
서버는 역할에 따라 구분된다.
데이터베이스도 데이터 제공자로서 일하므로 일종의 서버라고 볼 수 있다.