최고의 오픈소스 GUI IDE라고 누구나 인정할 수 있는 Eclipse를 처음 보고서는 파이썬에서도 swt를 쓰면 참 좋겠다는 생각을 했었는데, 생각지도 않은 것이 이뤄져버렸군요.
GCJ를 파이썬 확장에 도입한 거의 최초의 실용 바인딩인 PyLucene이 나온 뒤에, 사실 많은 사람들이 이런 저런 유명 자바 라이브러리에 대한 바인딩을 만들어보고자 했지만, swig도 지원되지 않고 그렇다고 온통 인터페이스와 클래스가 넘쳐나는 자바 라이브러리를 일일이 클래스 하나하나 다 바인딩 만들기도 엄청난 삽질이고 해서 실제로 많은 바인딩이 나오지는 못했습니다. 그래서, PySWT에서는 저자가 여러 시행착오끝에 PyQT에서 사용하는 C++용 파이썬 확장 모듈 제너레이터인 SIP를 고쳐서 자바 클래스로 파이썬 바인딩을 만드는 것을 만들어버렸다고 합니다. 으흐흐 -ㅇ-
일단은 swt 자체가 워낙 방대한 라이브러리이니 과연 이걸 이런 식으로 해도 별 무리가 없을지는 몇가지 시도가 더 있어봐야겠지만, 큰 자바 라이브러리들도 이제 쉽게 파이썬 모듈이 나올 수 있게 됐다는 점에서 큰 의미가 있을 듯합니다. 그리고, PyQt, PyGTK, wxPython등 크로스 플랫폼을 지원하는 파이썬 툴킷들이 모두 PSF 라이선스와 호환되지 않는다는 점에서 딱히 쓸 만한 것이 없었는데, 용량은 엄청 크지만서도 라이선스면에서나 완성도 면에서나 쓸만한 툴킷이 나왔다는 점에서는 반갑네요. 🙂
이제 distutils에 GCJ지원이 들어가는 것과, pyrex와 swig에 자바소스 긁기 지원이 들어갈 차례인건가요? 🙂
재미있겠네요. 호옹
SWT이 원래 네이티브 위젯 지원을 위해 JNI 단에서 엄청 지저분한 매크로들로 도배가 되어 있어서 소스 레벨에서 래핑하는 일은 거의 불가능할 거라고 생각했는데, GCJ의 힘을 빌려 SIP으로 마무리를 하는군요. 몇 줄 고치지도 않고 이 엄청난 작업을 해내다니… 파이썬 세계에는 정말 다양한 언어와 환경을 넘나드는 고수들이 많은 것 같아요. 어쨌든 이제 SWT은 자바의 전유물이 아니게 되었으니, 모두가 기뻐할 일이죠. 만세!!
이런것도 있네요…
abiword widget 파이썬 바인딩…
http://www.abisource.com/~rob/tmp/pyabiword.png
이런걸 보면 파이썬은 참 융통성 있는 언어인듯..