클라이언트측 HTML 랜더링과 서버측 HTML 랜더링
dev | 2013-01-18
강규영님의 "웹사이트 랜더링, 클라이언트에서 하나 서버에서 하나?"와 홍민희님의 "Re: 웹사이트 랜더링, 클라이언트에서 하나 서버에서 하나?"를 보고 많은 생각이 들었다. 요즘들어 계속 고민해 오던 일이기도 하다. 웹기술의 범위가 점차 확대되면서 기존의 다른 플랫폼의 방법론들이 웹으로 들어오면서 발생되는 현상으로 생각된다. 각각의 장단점은 이미 강규영님과 홍민희님이 잘 설명해 주셨고 전적으로 동의한다. 점진적 향상은 반드시 필요하고 플랫폼 기능 활용은 진리다.
우리 회사도 현재 이런 분위기에 영향을 받고 있다. 서버는 API만 제공을 하고 클라이언트가 모든 처리를 하는 방식을 적용하려고 한다. 전체적인 구조를 보면 모양은 상당히 좋다. 기존에 서버스크립트와 템플릿 구문으로 발라져있던 레이어를 들어내고 웹 콘텐츠를 모두 브라우저에서 처리하는 것이다. 다른 분야에서 사용하던 방법론과 이를 쉽게 구현할 수 있도록 도와주는 자바스크립트 라이브러리를 사용해서 웹앱이라는 이름으로 제대로된 설계와 패턴을 적용해보고자 하는 분위기이다. 앞으로의 웹기술 시장에서 큰 부분을 차지하게 될 것이라고 생각한다. 나조차도 떠밀리다시피 이쪽 기술에 적응 당하고 있다. 문제는 아직까지 많이 성숙하지 못하다보니 API의 클라이언트를 브라우저나 단말 환경으로만 생각하고 다른 다양한 클라이언트 환경을 고려하지는 못하고 있다. 규영님이 말한 사이트 리뉴얼을 하면서 이 방법을 사용하려는 일이 바로 이런 경우로 생각된다.
예전에 파인더빌러티(findability)라는 용어가 잠깐 유행했던 적이 있다. 굳이 번역하자면 탐색성, 발견성 정도가 될 것 같다. 웹사이트의 정보를 방문한 사람이나 웹사이트 밖에서 얼마나 쉽게 찾을 수 있을 것이냐에 대한 개념이다. 위키피디아에서는 정보 구조, UI 디자인, 접근성, 검색 엔진 최적화와 같은 개념들을 포괄한다고 이야기하고 있다. 많이 뜨지는 못했지만 나는 이 말이 웹의 특성을 상당히 잘 말해주고 있다고 생각한다.
웹앱의 시대가 온다고 하지만 기존의 콘텐츠도 무시할 수는 없다. 웹앱이 많아지는 만큼, 아니 그보다도 더 많이 탐색성이 중요한 콘텐츠도 같이 많아질 것이다. 키밸류 쌍인 JSON 데이터가 HTML을 포함한 다양한 메타데이터로 표현된 콘텐츠보다 탐색성이 높다고 생각되지는 않는다. 최소한 현재의 기술수준에서는 그렇다. 자바스크립트를 파싱하는 크롤러가 있기는 하지만 텍스트 파싱에 비하면 비용이 만만치 않다. 물론 시장에서의 돈은 웹앱쪽으로 많이 흐를 것이기 떄문에 주목해야 하는 경향인 것은 확실하다. 하지만 그렇다고 기존 콘텐츠가 쓸모없어지거나 탐색 방법이 하루아침에 뒤바뀌지는 않을 것이다. 문서로서의 웹은 이제 지고 앞으로는 웹앱이라고 말하는 사람들도 구글 검색 많이 하고 위키피디아도 많이 볼 것이다. 더군다나 지금은 문서로서의 웹과 웹앱을 구분할 명확한 기준도 없다. 둘간에 겹치는 부분이 상당히 많다.
잘못된 이분법을 피하는 것이 중요하다고 생각한다. 웹은 방대하고 다양성을 가지고 갈 수 밖에 없는 플랫폼이다. 과거와 현재, 미래가 공존하는 세상이다. 당분간은 웹앱이 변화의 중심에 있겠지만 그렇다고 모든 콘텐츠를 웹앱에 태울 필요는 없다. 웹이 웹앱으로 바뀌는 것이 아니라 웹에 웹앱이 추가되는 것이다. 웹이 확장되는 것이다. 어쨌든 과거와 같이 공존해야 한다.
새로운 기술 트랜드이니 적용을 해보고자 하는 진취적인 자세도 좋지만 마케팅도 생각해 봐야 하고 시장이 변화하는 속도도 생각해 봐야 한다. 특히나 웹은 빠르게 변하기도 하지만 멈춰있는 관성도 상당히 크다. 검색엔진 랭킹과 속도를 버리면서까지 시도를 해야 할 일인지는 서비스나 콘텐츠를 보고 깊이 고민해 봐야 한다. 분명히 웹앱이 어울리는 서비스도 많고 앞으로도 많이 나오겠지만 전부 다는 아니다.
한줄 요약: 일단 느려
Comments
한줄 요약이 첫줄에 있었다면 나머지 글은 읽지 않았을 것 같네요. ㅎㅎㅎ 공감가는 내용이고.. 동시에 이러한 시대에 도서관이 갖게 되는 의미와 아직도 정보를 찾기 위해 그곳에 가는 이유와도 같지않나 생각해 봅니다.