안녕하세요. 관심 가져줘서 감사합니다.
-- 반응형웹 관련 --
최근에 많은 글로벌 사이트들이 예를들면 아마존닷컴같은 경우에는 반응형 초창기에 그 흐름을 반영해서 반응형으로 만들었다가 다시 모바일과 데스크탑으로 분리한 걸로 알고 있습니다. 반응형웹이 퀄러티를 추구하는 사이트에서는 상당히 걸림돌이 될 수 있다고 생각합니다. 특히나 css, 자바스크립트의 복잡도가 높아져서 쓸데없이 기능이 많아져서 무거워지기도 합니다. 어차피 모바일로 접근하면 데스크탑에 있는 기능 중에서 많은 기능을 쓸 수 없기 때문에 결국 버려야 하는 기능이 되기 때문에 결국 퀄러티를 중점을 두면 모바일과 데스크탑으로 나눌 수 밖에 없다고 생각합니다. 결국 계속 운영을 하기 때문에 운영이슈도 점점 커집니다.
많은 회사에서 반응형웹을 버리고 데스크탑에서 아이패드까지 지원할 수 있도록 하고 모바일을 따로 가는 추세입니다. 저 같은 경우에는 데스크탑을 아이패드로 접속하면 over가 되는 부분들은 숨겨지지 않고 바로 보이게 되어 있고 hoverable/touchable 같은 플러그인을 써서 터치 상태에서 over가 될 수 있도록 처리했습니다. 이 부분은 벤츠닷컴을 참고했습니다(
www.mercedes-benz.com).
-- 다국어 관련 --
다국어 플렛폼 자체가 사실 단순 플랫폼적인 면부터 DB적인 면까지 상당히 애매한 부분이 많다고 생각합니다. 특히 한국어와 다른 언어와의 차이점이 상당히 많고 라틴계열의 언어들은 그나마 낫지만 한국어의 특성상 디자인부터 DB 자체도 다른 특성이 있어서 저는 처음부터 그걸 염두에 두었습니다.
i18n을 기본으로 사용했고 거의 모든 object의 공통적인 것과 언어적으로 달라지는 것들을 다 분리해서 DB를 구성했습니다. 그래서 간단한 쿼리도 상당히 복잡했습니다. 예를 들면 이미지도 alt text 같은 경우에는 각 언어마다 다르게 적용되게 되어 있습니다. 그런데 초기에 생각을 많이해서 구성해도 나중되니까 완전히 언어적인 면을 분리하기는 어렵더라고요.
css 같은 경우에는 기본이 영어로 구성되어 있고 그 기본에 한글로 바뀌면 css만 한글에 해당하는 css로 override 할수 있도록 했습니다.
그다지 페이지가 많지 않더라도 다국어가 들어가니까 쿼리를 하는 양이 많아서 대부분 presenter을 써서 view 안에 query가 들어가지 않도록 노력했습니다. 제가 디자이너도 같이 하기 때문에 완전히 view와 business logic을 분리하려고 했는데 그게 쉽지는 않더라고요. 저의 기본 원칙은 순수 view와 모듈과 같은 형태로 만들길 바랬는데 나중에는 좀 어려워졌습니다.
scss같은 경우에는 이제 앞으로는 더욱더 중요해질 것 같습니다. 이번에 작업하면서 css로는 돌아갈 수 없는 느낌이 들만큼 scss의 강력함을 느꼈습니다. 반복되는 코드와 반복되는 기능들을 mixin으로 처리해서 그나마 시스템적으로 css을 관리할 수 있게 됐습니다.
상훈님 블로그에서 보니까 운영 효율적인 부분에 많은 지식을 가지고 있시신데 memcached나 기본 레일즈에서 제공하는 cache을 활용해서 사이트의 속도를 높일 수 있는 방법을 알고 싶습니다. 도와주십시요!!
FRUM
김 성경 드림.