iframe 어떻게 생각하세요?

2014-12-15 14:39

개인적으로 iframe이 가져다주는 장점은

1) 금방 컨텐츠를 추가할 수 있다. 2) 페이지 이동이 없으므로 사용자로 하여금 응용프로그램을 다루는 느낌을 줄 수 있다.

단점으로는

1) 유지보수를 힘들게 한다. 2) HTML 코드량이 방대해져 브라우저 메모리가 과대해진다.

이 정도입니다.

현재 제가 진행중인 업무가

게시판으로 리스트가 있다면 해당 게시판의 제목을 클릭하면 게시물 본문 컨텐츠를 보여지게 하는 겁니다.

표현은 게시판 리스트라고 해놓았으나 실제 iframe 내부는 훨씬 복잡하고 정말 많은 코드가 삽입됩니다. iframe 내부의 컨텐츠는 메인 서비스의 축소판과도 같은 컨텐츠로 개별 메뉴들을 가지고 내부에서 각 개별 메뉴의 컨텐츠들이 따로이 또 존재합니다.

SNS기능을 비유하자면 게시판 리스트가 있는데 게시물을 보기 위해 제목을 클릭하면 본문 컨텐츠 뿐만 아니라 작성자, 작성자 프로필, 작성자의 관계망, 작성자가 좋아하는 컨텐츠 등 모든 게시물 작성자의 정보를 볼 수 있는 컨텐츠가 제공됩니다.

기존 사용자들이 응용프로그램에 익숙해져 있다보니까 웹 화면의 깜빡임을 용납하지 못해 이렇게 되었으며 리스트 안에서 모든 데이터들을 보기 위해 또한 이렇게 되었습니다. 그리고 기존에 있던 화면들이라는 이유로 아주 빠르게 컨텐츠 추가를 해야하다보니 이렇게 된 것인데.

개발자 입장에서 보자면 남용이란 표현이 어울릴만큼 너무 방대한 데이터가 iframe 안에 들어가 있다보니 브라우저 자체가 너무 많은 메모리를 먹기도 하고. 유지보수가 힘듭니다.

어찌되었든 iframe은 사용할 수 밖에 없는 요구사항인듯 하구요. (물론 ajax 등을 통한 방법이 있으나 말씀드렸듯이 너무나 많은 데이터를 포함하고 개발일정을 핑계로 리젝될 분위기라 그 부분은 패스하려고 합니다.)

어쩌다 보니 하소연처럼 작성하였으나. 실제로 각 사이트에서 iframe 에 대한 사용성과 이해를 묻고 싶습니다.

그럼 서로의 의견과 경험을 공유 부탁드리겠습니다.

7개의 의견 from SLiPP

2014-12-15 18:56

난 iframe의 지옥에 빠져서 유지보수하기 힘들었던 기억이 많았던 관계로 어떤 사정이 있더라도 iframe 사용에 반대하는 입장일세.

정치 공학적으로 사용할 수 밖에 없는 상황이라면 어쩔 수 없겠지만 일단 버틸때까지 버틴다가 나의 입장이다.

2014-12-16 06:57

iframe으로 삽입된 컨텐츠를 크롤링하지 못하는 검색엔진이 있기 때문에 안쓰는게 좋습니다. 좋은 컨텐츠를 많이 만들어 봤자 대부분의 사용자 유입이 검색엔진에 의해 이루어 지는데 이부분을 제대로 활용하지 못하면 서비스 입장에서는 난감할 것 같습니다.

2014-12-16 09:08

@자바지기 후우 버티고 싶은데 iframe 신봉자와도 같은 분이 계셔서 참 힘들어요 ㅎㅎ 개발일정을 길게 잡더라도 그렇게 오래걸리는 작업이냐는 소릴 들어도 iframe보다는 ajax 통신이 바른 방향이라고 생각하는데...ㅠㅠ @이도현 호오... 크롤링하지 못하는 검색엔진이 있는건 첨 알았네요 ㅎㅎ 이 부분도 함께 제안에 포함해야겠네요. 의견 감사합니다 ㅎㅎ

2014-12-19 11:29

유지보수 중인 사이트 중에 iframe 지옥이 있습니다. 유지보수가 힘들고 시간이 오래걸리는 문제 뿐만 아니라, 유지보수 측면에서 손실이 너무나 큽니다. 경우에 따라서는 하루 짜리 유지보수 개발이 한달씩 걸리기도 합니다.

제 손으로 개발되는 부분에서는 iframe 은 그냥 존재하지 않는 태그입니다. 선택의 여지가 아니라고 생각합니다.

2014-12-19 16:51

@CICADA ㅎㅎ;; 그렇군요. 저도 충분히 공감합니다 ㅠㅠ 다만 이게 제가 컨트롤할 수 있는 사안이 아니다보니 ... ㅎㅎ 역시 iframe 은 유지보수를 해하는 악마같은 녀석이네요 ㅠ

2014-12-23 16:33

@hanaeto 제가 여기서 경험한 부분만 전달하겠습니다. 우선 iframe은 그 안에 담겨질 컨텐츠가 있는 주소에 쉽게 변화를 가져다줄 수 있습니다. 서버사이드든 클라이언트사이드에서든 언제든 부모페이지의 로직이 진행되는 과정에서 주소를 만들어서 링크만 해주면 됩니다. 컨텐츠의 추가는 부모페이지에서 iframe을 만들고 그 iframe에 주소만 연결해주면 되니 무척 쉽습니다. 그런데 컨텐츠의 유지보수를 위해 진행된 사항을 다시 거슬러 올라가야 한다면, 그 해당 컨텐츠가 나오는 주소를 찾기 위해 그 컨텐츠가 담겨진 iframe을 가지고 있는 부모페이지의 로직까지도 알아야 합니다. 사람의 뇌가 한 번 작업한 것들을 영원히 기억할 수 있다면 사실 문제될 게 없을수도 있지만.. 금새 잊게 되지요. 저처럼 처음으로 그 작업을 하게 되는 사람은 애초부터 그 컨텐츠를 보기 위해 경우의 수를 모두 대입해보아야 합니다. 로직이 심플하면 상관 없습니다만... 해당 화면을 보는 회원의 등급에 따라, 부모 페이지에서 선택된 메뉴에 따라, 부모 페이지에서 기존에 저장된 어떤 세션에 따라, 뭐 이렇게 온갖 복잡한 로직이 들어가있다면 헬입니다. 문제는 일단 iframe이 시작되면 그 편의성때문에 너무나 쉽게 온갖 경우의 수를 추가하면서 iframe을 쓰게 된다는 것입니다.

의견 추가하기

연관태그

← 목록으로