1. 이 글부터 반드시 읽어주셔야 앞으로 함께하시는데 애로사항이 약간 덜하실 것입니다.2. C를 할줄 알고 있다는 가정하에 모든 내용을 기술할 것입니다.C를 모르시는 분은 http://www.jabook.co.kr/ 에서 소설같은 C를 배워보시기 바랍니다. 당장에는 C를 모르더라도 따라만 하시면 실행까진 되게 해드릴 것입니다. 하지만 그것은 매우 위험한 행위입니다. 왠만하면 C를 좀 공부하십시요. 많이 까지도 하실 필요 없습니다. C를 작성하여 컴파일하고 실행함에 있어 최소한 메모리에서 무슨일이 벌어지는지 정도만 알고 계셔도 C와 함께 병행하며 재미있는 배움의 시간을 가져보실 수 있을것입니다.
3. GTK를 설명함에 있어 기본적인 부분과 원리를 설명하는것에 상당히 많은 시간을 할애할 계획입니다.4. GTK를 설명하며 상속과 부모, 자식, 업캐스팅, 다운 캐스팅이라는 말을 사용하게 될 것입니다.사실상 용어에 큰 오류가 생길수도 있으나 제가 설명하는데 구구절절히 하기 어려운 부분이나 이해를 돕기 위해 간간히 사용하겠으니 보시는 분들이 알아서 걸러 보시기 바랍니다. 예를 들자면 GtkWindow 또한 GtkWidget으로부터 쭉 아래로 상속되어졌다던가 GtkWidget으로 업캐스팅이 가능하며 다운캐스팅도 가능하다라던가 등등의 용어를 사용할것입니다. 인터페이스도 등장하죠.
5. GTK 개발관련 라이브러리가 미리 설치되어 있어야합니다. - 참고로 저는 Ubuntu를 사용합니다(스크린샷은 전부 Ubuntu).
6. 사실 저도 아는게 별로 없습니다.GTK의 원리이니 객체지향스럽느니 하지만 사실 저도 아는게 별로 없습니다. 최대한 아는대로 확인을 가쳐 지껄여볼테니 시비를 걸어주십시요. 문제가 있다면 확인하여 정정한뒤 알리도록 하겠습니다(오타 시비 사양).
7. 제가 이 글을 쓰는 목적은 이렇습니다.리눅스 기반의 GUI환경에 대한 개발자의 저변확대. 개발자의 저변확대를 통하여 양질의 응용프로그램들을 생산해내어 엔드유저의 접근을 용이하게 한다. 등등의 말도안되는 소리는 일단 집어치우고 거국적 목표따위는 귀찮아서라도 가지고 싶지 않고 생색이라도 내볼까 해서입니다. 또한 GTK 개발을 당분간 손댈일이 없는 터라 까먹을까봐 염려도 되구요. 그동안 구현하는데 바쁘다보니 저또한 신경쓰지 못했던 GTK의 기본 구조와 원리들에 대해 다시한번 되짚어 보는 기회도 될꺼 같기도 하고 해서 사실 무엇보다 잘난척하기 위해서입니다. 헤죽 ^ㅡ^ (농담입니다. 별로 잘나지 않았습니다 --;) 한글로 정리된 자료는 Tutorial정도가 전부입니다.
부족하나마 저부터 시작할까 합니다. 많은 분들이 함께하셔서 GTK에 손쉽게 접근할 수 있는 계기가 되는 쉬운(?) 자료가 만들어지길 바랍니다.
|
|