상대 좌표계의 유용성

상대좌표계에 대해서는 일전에 잠깐 설명하였다. 절대 좌표계가 원점을 중심으로 한 좌표치라면 상대좌표는 특정 오브젝트와의 좌표 차이를 두고 계산하는 것이라고요. 그럼 이런 상대 좌표계가 대체 어디서 어떻게 유용하게 쓰이고 있는지도 확인해야 겠죠?

실제로 상대좌표계가 많이 쓰이는 부분은 요즘 개발이 유행하고 있는 분야들입니다. 그 이유는 간단합니다. 여러 환경에서 동일하게 동작시킬 필요가 있거든요. 특히 모바일과 웹. ㅡㅅㅡ

모바일의 경우애는 해상도 분포가 장난아니게 넓게 퍼져있습니다. 그래서 안드로이드의 경우에는 상대좌표로 개발을 하는 것이 당연하다고 되어 있는 상황이죠. 것보다 자바 GUI 환경이 대부분 상대좌표를 이용한다고 합니다. (제가 자바 개발을 거의 안해서 자바쪽은 잘 모르는데 그렇다고들 합니다) 이런 환경에서는 특정 좌표값에 의존하는 것보다는 사실상 좌표를 제공하는 방식을 적절히 조절하는 것이 더 편한 개발을 하지만, 사용자가 보는 UI는 이쁘게 나오질 않습니다. (이걸 알고 싶다면 안드로이드의 기본 앱들을 보세요. 텍스트 입력창이나 텍스트 출력, 탭 같은 것들은 될 수 있으면 화면 가득 채우면서 분할을 합니다. 이게 개발자 입장에서는 쉬운데 이쁘진 않아요. 이런 걸 좌표 배치로 일일이 해상도대로 맞춰주면 엄청난 트러블이 생깁니다. 그래서 상대좌표 계념이 잘 이용되고 있죠.

아이폰도 처음에는 절대좌표계를 이용했습니다. 3.5인치 화면만 고집하였던 점도 있고, 레티나 디스플레이의 경우에도 해상도의 조절은 iOS가 직접 하는 것이지 개발자가 손을 댈 이유는 없기 때문입니다. 그러나 아이패드가 등장하면서 앱 개발 환경에 아이폰, 아이패드를 동시에 지원하는 Universial 프로젝트를 생성할 수 있게 되면서부터 은근슬쩍 화면을 서로 공유하면서 동시 개발이 가능한 앱을 만들려는 환경들이 생겨나기 시작했습니다. 원래라면 그냥 로직 코드의 일부만 공유하도록 지원하면 되는 문제다 보니 그냥 UI 레벨에서도 어느 정도 작업해주면 금방 나오는 것이었죠.

그러다가 아이폰 5가 나오면서, 화면 인치가 조금씩 바뀌고 그에 따른 해상도가 다르게 나옵니다. 이때 애플은 Auto Layout 기능을 이용하여 레이아웃을 상대적으로 배치하여 사용할 수 있도록 지원해 줍니다. 지금 글쓰는 시점에서는 6와 6+도 나왔습니다. 화면 해상도가 더 늘었어요. 근데 해상도에 맞춰서 업데이트 하는 회사는 그렇게 많지 않습니다. 다들 어느정도 대비가 되어있는지라 그냥 해상도는 자동으로 지원해 주고 있죠. (5 나왔을 때에는 진짜 골치였습니다)

웹은 더 할 말이 없죠. ㅇㅅㅇ;;;

데스크톱 환경에서 많이 쓰인다고 하는 자바의 GUI, 웹, 모바일, 그리고 요즘은 윈도우 환경에서도 지원합니다. 데스크톱 말고 구 메트로 UI 환경도 상대좌표를 주로 이용합니다. XAML에서 상대좌표를 적용하여 개발을 하죠. XAML을 이용한 데스크톱 형식의 프로그램은 그냥 어떻게 해도 상관은 없으나, 타블렛에서 쓰는 건 어느정도 해상도 맞춰주기 위해서 상대좌표화 합니다. 여기저기서 많이 쓰이게 된 것이죠.

난 그냥 내 맘대로 폼 해상도 고정해서 쓸 거야 라고 해도 됩니다. 안되는 건 아니죠. 여전히 그런 환경에서 동작하는 응용 프로그램들도 많은 것이 사실이고요. 그렇지만 이렇게 많이 이용되고 있는 좌표계라면 알아둬서 나쁠 건 전혀 없다고 생각합니다. 오히려 잘 유용하게 쓰면 신경 쓸 거리가 하나 줄어드는 거죠.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.