jquery를 사용하다 보면 정말 내가 되게 잘하는 것 같은 착각에 빠진다. 뭐 일단 그런 것보다 jquery를 사용하여 title태그의 내용을 동적으로 조작하거나 그 내용을 가져오려고 하면 유독 IE8에서 문제다 되는 경우가 있다. 좀 더 깊이 파보면 IE8 이하에서는 head태그 안에 뭘 넣는 거 자체가 잘 안된다는 내용들이 이미 많이 문제가 제기 되고 있다.

요근래 작업하던 것 중에 개발자가 술을 먹고 짠 건지 아님 진정 귀찮아서 그런건지 마스터페이지를 엉망으로 짜놔서 head태그 안에 들어가야할 내용들이 다 body에 갖다 꽂히고 title태그는 빈 내용으로 나오는 일이 벌어지고 있다. (실제로 그렇게 서비스 되고 있으나 아무도 신경 안씀...) 브라우저 상단에 그냥 영어로 사이트 주소가 막 나온다;;;

그래서 다시한번 이 이슈를 떠올리게 되었고 일단은 급한 불을 끄기 위해 간단하게 작업을 했다. 아주 간단하다. 보통 jquery같으면 

$("title").text("블라블라");
//이거 ie 8에선 안된다.


뭐 이런 식으로 될텐데 도무지 되질 않는다. 에러 표시도 안나오는 경우도 많다;;; 그래서 결국엔

document.title = "블라블라";
// 이거는 그냥 무조건 다 잘됨.

이렇게 해결하게 되었다. 이 이슈가 이미 3년전에 jquery버그 트래킹에 보고가 되었는데 고칠생각이 없는 것 같다. 듣자하니 html 시리얼라이즈 이슈 (직렬화) 때문에 그렇다고 하는 거 같은데 어찌됐든 IE시리즈는 이래저래 민폐이다.

크레도스 멍신을 보내고 당장 움직여야 할 발은 필요하고 요즘 차들은 죄다 오토고 거기에 4기통... 요즘 차가 아니면 안된다는 물주의 압박으로 최대한 타협한 것이 바로 쏘나타 2.4였다. (NF) 솔직히 6기통을 타던 입장에서 4기통이 웬말이냐 ㅠㅜ 사실 그래서 그랜져TG도 진짜 많이 고려했는데 우리나라 정서상 나이 이제 30대 중반이 그랜져타고 다니면 별로 좋게 볼 사람들이 없어서 포기해야했고... 그나마 약간의 스포츠성을 띄기 위해서는 조금이라도 가벼운 차가 필요했기에 그랜져보단 가벼운 쏘나타를 고르게 되었다.

하지만 이 녀석의 영혼없는 엔진소리며 (성능은 또 안그렇다;;) 구름 위를 달리는 듯한 그 느낌... 그래서 이 녀석은 나에게 온지 3개월만에 1만키로를 달리면서도 (전 차주들은 1년에 만키로를 탔는데 나는 3개월에 만키로를 탔다. 즉, 전 주인들보다 4배 혹사당하는 중) 나는 욕만 하고 있었다. 이 차를 사고 나서 한번도 순수 드라이브를 나가본 적이 없는 것 같다. 그도 그럴 것이 모터돌아가는 듯한 그 엔진소리며 물렁대는 서스... 아마 당장 결혼하지 않았으면 한동안 뚜벅이로 지냈을 듯 싶다.


근데 참 반성하게 되는 일이 생겼다. 어떤 이가 차를 팔면서 남긴 소회를 읽은 것인데.. 물론 그 차는 제네시스 프라다이다. 8기통이라 머슬 사운드도 만들어줄 수 있느.. 뭐 암튼 차를 강아지라고 표현하더라. 잘가 강아지야 라고 해놓은 것을 보니.. 왠지 모르게 이 차한테 미안해지더라. 나를 위해 그래도 주말마다 돌아다니는 중이고... 얘는 특히나 계속 오래 해야하는데 내가 너무 구박하는 거 같다. 좀 더 사랑해줘야 할텐데.. 반성아닌 반성을 하게 되었다. 

나도 이 강아지를 잘 키워봐야겠다.

jQueryprototype이나 mootools 가 득세하던 시절에 혜성처럼 나타나 지금은 웹서비스 개발에 없어서는 안되는 그런 존재가 된 라이브러리이다. 메소드 체인과 쉬운 셀렉터 접근 및 좀 더 직관적인 메소드들로 인해 javascript라는 언어의 진입장벽을 획기적으로 낮춘 그런 존재이다. 필자도 jQuery 없으면 좀 많이 버벅이게 된다. 무엇보다 jQuery의 가장 좋은 점은 브라우저마다 모두 다르던 dom탐색이나 조작같은 부분을 - 그동안은 수많은 브라우저 별 예외처리로 작업해야 했던 - 획기적으로 통일시켜 주는 것이다. 그로 인해 개발자들은 예외처리에 시간낭비를 하지 않고 좀 더 깊이 개발에 매진할 수 있게 되었다.

하지만 jQuery의 맹점은 javascript를 잘 몰라도 일단 어떻게 손을 댈 수 있게 해줌에 있는데 (이게 장점이자 단점이라고 생각함.) 이걸로 인해 자신이 "잘한다" 라고 착각을 하게 된다는 것이다. 그 착각으로 인해 css와 html 같은 기초를 굉장히 터부시하고 무시하게 된다.

나는 우리 ui개발자들이 궁극적으로는 모두 javascript 개발자 단계까지 가야한다고 생각하는 사람이다. 즉, 쓸때없이 접근성이니 뭐니 이런 거 주절댈 시간이 없다는 얘기다. 거기엔 의미에 맞는 마크업얘기 이런 것도 다 포함이다. 이걸 무시한다는 것이 아니고 이건 "당연히 기본" 이기에 그냥 가지고가는 개념인 것이다.

원래 javascript라는 언어 자체가 html을 동적으로 다루기 위한 언어기이게 (물론 지금은 그 용도 위에도 다른 용도로 많이 사용한다.) jQuery도 그걸 쉽게 하게 도와주는 수단이다. 그렇기에 당연히 튼튼하고 잘 다져진 html과 css 실력은 기본이다. 그럼에도 많은 신입들이 그런 건 그냥 쌩까고 jQuery 메소드나 몇 개 껄쩍대면 이미지가 바뀌고 화면이 번쩍대는 걸 보고 자기도 다 할 줄 안다고 너무 쉽게 생각하는 것 같다. 

최근에 읽는 책을 보며 진짜 javascript라는 언어를 다시 보게 되고 있다. 그만큼 어렵고 복잡하다는 얘기다. 하물며 jQuery도 처음엔 쉽지만 진짜 깊게 들어가려면 개미지옥처럼 어려워서 javascript 기본 없이는 진짜 그것을 활용하는데 한계가 명확하다고 할 수 있다.

제목으로는 정말 오해를 많이할 수 있는 제목을 뽑았는데 이건 진짜 부작용이 맞다. 다들 단단한 html과 css 기본을 닦은 후에 javascript, jQuery의 세계로 들어왔으면 한다. 

내가 이 글을 쓰는 이유는.. 오늘 2년차가 작성한 마크업과 css 라고 하기엔 정말 너무 성의없고 실력이 모자란 코드를 보고 분개해서 이다. 에휴.. 진짜 우리 이러지 맙시다 : )

+ Recent posts