September 2006

Sony Portable Reader 출시

Sony Portable Reader 가 출시되었습니다. 배송은 10/31부터라고 합니다만 확실히 iLiad보다는 쓸만한 상태로 출시될 것 같네요. 가격도 iLiad 반값인 $350 이구요. 하드웨어 스펙은 iLiad보다 못하지만 책보기에는 소니 리더가 더 편리할 수도 있겠습니다. iLiad는 다소 오버스펙이라고 볼 수도 있죠.. 다만 iLiad는 곧 SDK가 공개되고 소프트웨어 개발 커뮤니티가 활성화되면 다양한 용도로 활용될 수 있을 듯 합니다. 가격부터 좀 내려야겠지만요.

iLiad와 스펙 비교

iLiad SonyReader
Screen 768 * 1024 * 16Grey 7″ 600 * 800 * 4Grey 6″
Touch Sensor WACOM Stylus none
OS Embedded Linux ?(Maybe Embedded Linux)
CPU XScale 400MHz ?
Supported Format PDF, HTML, TXT, Images BBeB Book, PDF, TXT, RTF, WORD Doc (Converted in PC), Images
Audio MP3 (not yet available, firmware will updated soon) MP3, AAC7
Supported Storage USB, SD, CF MemoryStick
Networking WIFI 802.11g, Ethernet none
Battery Life ? (about 20 hours) 7500 pages
Weight 390g 270g

General

Comments (0)

Permalink

이클립스 플랫폼의 시작, SWT/JFace

자바 데스크탑 애플리케이션

IBM Lotus Sametime Screenshot

IBM Lotus Sametime Screenshot

앞의 이미지는 IBM Lotus 그룹웨어 제품군 중 메신저에 해당하는 Sametime의 스크린샷이다. 이뻐 보이긴 하지만 다른 메신저에 비해 유별나다할 만한 것은 없어보인다. 하지만 겉보기와는 달리 이 제품은 자바 데스크탑 애플리케이션이다. 그중에서도 SWT/JFace, 이클립스 플랫폼을 기반으로 하는 애플리케이션이다. 이미 많은 사람들이 이클립스 IDE를 사용하고 있기 때문에 자바 데스크탑 애플리케이션 자체가 그다지 놀라운 것은 아닐테지만, 이렇게 고급스러운 UI도 갖추게 할 수 있다는 사실은 이클립스 플랫폼이 앞으로 더욱 널리 쓰일 수 있다는 확신을 갖게 한다.

현재 근무중인 회사에서도 Lotus Domino Notes를 사용하고 있긴 하지만 Notes 자체는 아직 Outlook보다 여러가지로 부족하다고 생각한다. (좋은 면도 많지만 일단 속도 때문에…) 하지만 Notes의 시장 점유율은 둘째치더라도 선도적인 이클립스 플랫폼 애플리케이션의 역할은 충분히 하고 있다. Sametime을 위한 플러그인 개발 문서에서 로터스 노츠가 이클립스 플랫폼을 멋지게 활용하고 있다는 것을 살짝 엿볼 수 있다.

GUI 플랫폼으로써의 이클립스

요즘은 많이 줄었지만, 왜 굳이 네이티브 언어들을 두고 자바로 데스크탑 애플리케이션을 개발하려고 하느냐는 질문을 받는 경우가 가끔 있었다. (.NET까지 나온 마당에 이젠 논의거리도 안되는 듯 하지만…) 당연히 필자도 자바가 데스크탑 애플리케이션에 최적인 것은 아니라고 생각한다. 하지만 일단 자바에 익숙하고, 클라이언트/서버 구성인데 이미 서버가 자바라면 클라이언트라 자바로 짜면 좋을 것임은 당연하다. 스윙으로 개발할 때는 이러한 이유가 컸다. 이제는 SWT/JFace 덕분에 속도나 룩앤필 땜에 곤란할 이유가 없으니 안될 이유는 더더욱 적어졌다. 항상 최적의 연장을 쓰는 것도 좋지만, 연장을 갈고 닦을 동안은 그럭저럭 입에 풀칠만 할 정도라도 좋지 않은가?

GUI 플랫폼으로써 이클립스의 장점은 두가지로 생각할 수 있다. 첫번째 장점은 기반 플랫폼인 SWT에서 기인하는 것이다. SWT는 OS 고유의 룩앤필을 갖는 멀티 플랫폼 GUI 애플리케이션을 자바로 쉽게 개발할 수 있는 유일한 수단이다. Sun이 주장하는 “Write Once, Run Anywhere”는 바람직한 방향이긴 하지만 OS 고유의 색깔과 기능을 무시한다고 볼 수도 있다. 그런 면에서 SWT는 “로마에 가면 로마법을 따르라”라는 격언을 지키고 있으며, 이로 인해 OS가 제공하는 기능을 더 효율적으로 발빠르게 사용할 수 있다. 물론 이것은 장단점이 있는 부분이다. 스윙과 SWT의 우월성에 대한 논쟁은 대부분 무의미하다. 하지만 개발자의 취향이나 API의 아름다움과 관계없이 현 시점에서 사용자의 눈에 더 그럴듯 해보이고 성능도 더 좋은 것은 SWT일 가능성이 높으며, 앞으로 스윙이 OS와 대등한 수준의 플랫폼이 된다면 스윙 위에 SWT를 탑재하게 될 가능성도 있다고 본다. (최근에 SWT-on-Swing 프로젝트 몇가지가 나타났다.)

두번째 장점은 이클립스 공동체에서 기인한다. 이클립스 RCP는 기여(contribution)라는 철학을 GUI에 철저히 반영한 플랫폼이다. 모든 이클립스 구성요소는 서로 기여하기 때문에, 오히려 독립적으로 발전한다. 서로 협력할 것을 가정한 아키텍처가 잘 되어 있기 때문에 오히려 서로에게 영향을 덜 주고 자신의 일을 할 수 있다. 이로 인해 이클립스 공동체의 훌륭한 결과물들을 자신의 애플리케이션의 일부로 사용하는데 거부감이나 어려움이 적다. 가장 인기있는 서브 프로젝트로 EMF, GEF가 있는데 이와 같은 수준의 라이브러리를 플랫폼에서 지원하는 것은 매우 큰 장점이라 할 수 있다. 이런 라이브러리를 사용하는 것 자체가 다소 어려운 주제일 수는 있지만, 다른 플랫폼의 경우에는 몇몇 개발자의 전유물일 수 있는 수준의 라이브러리들이다. 이런 고수준의 라이브러리들을 표준화하여 많은 사람이 같이 고민하게 만들고 있다는 것 자체로 의미가 있다.

Nomad PIM

척 보기에도 이클립스다워 보이는 Nomad PIM

SWT/JFace 인 액션

SWT/JFace를 잘 활용하는 것은 이클립스 애플리케이션 개발의 기초일 뿐만 아니라, Sametime과 같이 멋진 UI를 위해서는 훨씬 더 폭넓게 적극적으로 사용할 필요가 있다. 장려할 만한 것은 아니지만 때때로 OS 의존적인 기능을 사용함으로써 더 멋진 애플리케이션을 만들어낼 가능성도 있다. 필자도 한 때 이클립스의 다른 멋진 프레임워크들에 눈이 멀어 SWT/JFace를 경시하였으나, 지금은 SWT/JFace 기초부터 다시 살펴보고 있다. (3.2에서 대폭 기능이 확대된 탓도 있다.)

현재 SWT/JFace 관련 서적은 그다지 많지 않다. 이클립스 환경이 워낙 빨리 변하고 있고 이클립스 플랫폼 자체가 대중적인 관심을 받게 된 것은 그다지 오랜 일이 아니기 때문이다. 오픈 소스기 때문에 플랫폼 자체가 예제 소스인 셈이어서 실제 개발에서는 책보다 소스가 더 유용한 경우도 많다. 하지만 플랫폼이 방대해지면서 이클립스 플랫폼 개발을 새로 시작하는 경우 책이 도움이 된다.

에이콘에서 번역출간한 ‘SWT/JFace 인 액션’은 SWT/JFace에 대해 가장 상세히 다루고 있는 책이다. 다만 책이 이클립스 3.0 버전 기준이므로 현재 버전(3.2)와는 실행환경에 다소 차이가 있다. 매우 아쉬운 부분이다. 하지만 현재 API는 3.0 API에서 기능이 추가되었을 뿐 바뀌지는 않았다. 이클립스에 익숙하지 않은 독자라면 그냥 이클립스 3.0을 설치하여 책의 예제를 공부할 것을 권한다. 물론 가능하다면 이클립스 개발환경에 먼저 익숙해지고, 버전에 맞추어 설정하여 사용할 수 있다면 더 좋다. 이 책은 API 학습서이며, 특성상 실전에 바로 쓰일 수 있는 예제는 거의 없지만 API를 익히기에는 좋은 예제들이다. 책의 예제를 한번쯤 독자가 직접 실행해 본 다음, 주제를 정하여 간단한 SWT 또는 RCP 애플리케이션을 개발해보자. 개발하는 과정에서 예제의 코드를 조금씩 갖다 쓸 수 있을 것이다. 이 책의 내용은 간단하지 않을 수도 있지만, 그 이유는 새로운 길을 가기 위한 첫걸음이기 때문이라는 것을 인식해야 한다. 더구나 이클립스 플랫폼은 너무나 빨리 변화하고 있는 시기이기 때문에(3.2 출시 한달만에 3.3M1이 릴리즈되었다), 책에만 의존해서는 따라잡을 수 없다. API 하나하나의 사용법보다는 기본 디자인 철학을 느끼는데 집중하면 더 좋을 것이다.

자바와 다른 GUI 플랫폼 개발 경험이 있다면 곧바로 SWT 개발을 시작할 수 있다. 스윙 개발 경험이라면 더 좋다. 하지만 어느 플랫폼이나 그렇듯 어떤 문제를 해결할 때 가장 효율적인 길을 찾는데는 어느정도 경험이 필요하다. 필요한 경험을 갖추고 나면 이클립스 플랫폼이라는 강력한 연장으로 뚝딱뚝딱 즐거운 시간을 보낼 수 있을 것이다.

Books
Eclipse
General

Comments (0)

Permalink

에이콘출판사 홈페이지 리뉴얼 축하합니다!

에이콘 출판사 홈페이지가 리뉴얼 되었습니다. 그건 웹 표준 관련 책을 많이 내주셨는데, 단순히 책 출판에 그치지 않고 웹 사이트로 모범을 보여주셨네요. “게임회사 이야기”만큼 재미있는 “출판사 이야기”를 볼 수 있겠습니다 ^^

홈페이지 리뉴얼 오픈 축하드립니다~

General

Comments (0)

Permalink

CDT의 약진

Ian Skerrett의 블로그에 올라온 내용에 따르면, 이클립스의 활용 현황에 대한 [Evans Data]의 조사 보고서에서 재미있는 결과가 나왔다.

이클립스 RCP를 사용하는 회사가 빠르게 늘어나고 있다는 것은 당연한 결과로 본다. 앞으로 사용할 것으로 예상하는 회사가 68%에 달한다고 한다. RCP가 그만큼 많은 장점을 제공하고 있기 때문이다.

의외인 것은 이클립스 프로젝트 중 가장 많이 사용되는 것이 JDT 다음으로 CDT라는 것이다. JDT가 57.5%인데 비해 CDT가 무려 47.3%나 된다. 임베디드 분야에서 CDT가 상당한 지지를 받고 있는 것으로 추측된다. JDT는 이미 완성된 프로덕트에 가깝지만, CDT는 아직도 확장의 여지가 많다. 2위를 예상했던 WTP의 경우 다른 상용 플러그인 대체수단이 많고 NetBeans 등 다른 IDE가 경쟁력이 높기 때문에 순위에서 밀린 것으로 생각된다.

CDT의 경우 조만간 Windows SDK가 정식 발표되면 더 탄력을 받을 수 있을 듯 하다. 물론 Visual Studio와 당장 경쟁할 수는 없겠지만, GTK+, Qt 등의 크로스플랫폼 네이티브 애플리케이션 개발에도 영역을 넓힐 수 있을 것이다.

CDT의 핵심은 Managed Make Project라 할 수 있다. Managed Make Project는 뛰어난 확장성을 바탕으로 다양한 분야의 C/C++ 애플리케이션 개발 도구를 지원하는 기반이 되고 있다. 독자적인 SDK 또는 라이브러리를 위한 개발 환경 지원을 위해서 임베디드 관련 회사에서 필수적으로 갖춰야할 기술 분야이다. CDT가 다시한번 이클립스의 영역을 크게 넓혀줄 것으로 믿는다. 관심있는 사람은 어서 CDT에 시간을 투자해보라! C/C++과 자바, 이클립스를 망라한 전문가가 될 수 있지 않으려나! ;-)

Eclipse
General

Comments (0)

Permalink