2012. 2. 10. 13:00

흔히 오피스 관련된 개발을 할때
"2007을 기점으로 OpenXML로 바뀌면서 호환성 문제가 대두 되었다"
라는 생각을 많이들 하십니다.
맞는 말이죠 ㅋ

기본적으로 2007을 기점으로 크게 2가지의 변화가 있는데 위에서 말한 'OpenXML'과  'UI'변경입니다.

 

1. OpenXML

'OpenXML' 이라는 것은 오피스계열의 문서를 'XML'화 하여 표준화 한 것입니다.
덕분에 오피스 문서는 전용 툴이 없어도 열어보거나 편집할 수 있게 되었습니다.

대표적인 OpenXML 서비스인 구글 독스(Google Docs)


여전히 여러 가지 이유로 많이 까이고 있는 'OpenXML'이지만 MS가 정말 판단 잘해서 적용했다고 생각합니다.
여러 가지로 말이죠.

어찌됐건 이런 이유로 '2007' 이전 버전인 '2003'까지는 이후 버전들과 호환성 유지를 위하여
2003 -> OpenXML
이나
OpenXML -> 2003
이런 변환과정이 들어갑니다.

그렇기 때문에 오피스 관련하여 개발해야한다면 설계단계에서 하위호환을 어디 까지 해야 할지의 기점이 '2007'이 되는 것이죠.

 

 

2. UI 문제

'2007'로 넘어오면서 눈에 보이는 것 중 중요한 것이 기존은 '숨김 메뉴 방식'에서 '리본 메뉴 방식'이 되었다는 점입니다.

하이든 메뉴 + 도구모음



리본 메뉴



이 리본 메뉴 때문에 아직도 '2003'을 쓰고 계시는 분들이 많죠 ㅡ,.ㅡ;
가이드 플래시를 보고 차츰 적응해 나가거나 플러그인이나 에드인을 이용하여 이전 메뉴 방식을 계속 사용할 수 있습니다.
(참고 : 오피스 2007 인터페이스가 적응안되시나요? - 오피스 2007 가이드 플래시 )

리본 메뉴는 여러가지 의미로 참 좋은 인터페이스입니다.
일단 기존 하이든 메뉴 방식은 메뉴를 한 번에 확인하기가 안 좋습니다.
이것은 오른쪽 클릭 메뉴 문제와 비슷합니다.
하지만 많은 메뉴를 담을 수 있다는 장점이 있죠.

이런 단점을 보완하려교 일반적으로 '도구모음'을 사용합니다.
자주 쓰는 메뉴를 아이콘화하고 계속 표시되게 해놓는 것이죠.
문제는 일반적인 것들은 상관 없는데 자주쓰지 않는 기능들은 여전히 하이든 메뉴와 같은 문제가 발생합니다.

이런 것들이 절충되어 나온 것이 리본 메뉴입니다
도구모음의 장점과 하이든 메뉴의 장점을 섞으면서도
많은 기능이 한 번에 보인다는 장점이 있죠.
하지만 화면크기를 꽤 잡아먹는다는 단점이....

그래서 리본 메뉴 때문에 이전에 에드인(Add In)과 개발방식이 달라졌습니다.
그러니 하위 버전에 에드인을 추가하려면 프로젝트가 2개가 돼야 되는 셈이죠-_-;

다행히 코드 자체는 많이 다르지 않습니다.
덕분에 같은걸 두 번 코딩해야 하죠 ㅡ.-;;;

 

 

3. 의외의 복병

사실 위 호환성 문제는 크게 문제가 되지 않습니다.
요즘은 특별한 경우가 아니라면 '2007' 이전 버전을 포기하는 경우가 많죠.

그런데 '2007'과 '2010'과의 호환성 문제도 있습니다.
이것은 파일의 호환성 문제가 아니고 동작의 호환성 문제죠-_-;

에드인을 개발할 때 '2007'과 '2010'은 문제가 전혀 없기 때문에 별생각 없이 만들고 나니,,....
이상하게 동작하는 것들이 몇 가지 있습니다.

이벤트가 여러 번 온다든가 하는 문제죠.
예를 들어 파일이 로드되고 동작하는 코드가 '2007'에선 한 번만 작동하는데

'2010'에서는 포커스가 올 때마다 발생하는군요....?
아직 이유는 모르겠습니다.

어찌 됐건 이런 문제와 OpenXML처리에서 '2007'과 '2010'간의 문제가 좀 있습니다.
(이미지 변환 이라던가 하는 문제들)

이 문제는 단순하게 보면 '2007'과 '2010'간의 문제이긴 한데 이후 버전 간의 동작도 보장할 수 없다는 의미가 됩니다.
거기다 테스트환경도 2개를 '2007'과 '2010'용을 따로 만들어야 하죠.

결국 이런 이유들 때문에 오피스의 기능들 자체를 활용할것이 아니라면 아예 따로 툴을 만들 것이 났죠ㅎㅎㅎ
재수 없으면 이후 버전들도 다 따로 테스트해야 할 상황이 올 수 있으니 말이죠.

우리의 MS느님께서 OpenXML이라는 멋진 공용문서 포맷을 공개해 주셨는데도 말이죠.

 

 

4. 결론

OpenXML간의 호환성은 으외로 좋다!(걱정 없이 사용하여도됨)

하지만 오피스 버전 간의 동작 문제는 있다.

(그러니 특별한 경우가 아닌 경우라면 그냥 툴을 통째로 만들자.)

 

 

마무리

'2003'과 '2007'의 호환성 문제만 신경을 쓰고 있었기 때문에 피드백 올라온 내용들이 재연이 안 되어 이상하다라고 생각하던 중 '2010'만 사용한다는 사용자의 말을 듣고 '2010'으로 테스트하니 바로 재연되는 일을 꽤 겪었습니다-_-;

이렇게 버전들 간 동작이 일률적이지 않아서야 어떻게 개발을 하라는 건지 알 수가 없네요;;

 

뭐 그래도 오피스만 한 툴이 없다는 것은 인정합니다 ㅎㅎㅎ