유명 블로거이신 아크몬드(@archmond)님의 선례에 따라 저의 관심사인 모바일 플랫폼(Apple iOS, Android OS, Windows Phone 7, GTK, MeeGo, LiMO계열) 및 Handset관련한 뉴스 및 개발 전문 블로그 만들고 계속 글을 올릴 계획입니다.
비밀 프로젝트에서 GTK, iOS, Android를 다룬 것에 착안하여 새로운 블로그를 만들게 되었지요.
일단 2차 도메인을 변경을 하였고, 현재 유행하고 있는 모바일 플랫폼(Platform)인 Android, Windows Phone, iPhone, 그리고 모바일에 적합하게 개발된 Linux 배포판인 MeeGo와 LiMo계열에서 사용하고 있는 GUI Toolkit인 GTK+와 QT를 여기서 소개 및 최신 소식을 올릴 예정입니다.
주로 이 블로그에선 Android와 Windows Phone (주인장은 2010년말 생산된 13인치 MacBookPro를 사용중?!) 그리고 GTK+를 중심으로 포스팅을 할 예정입니다.
또 다른 큰 새로운 것도 실험적인 것입니다. 알다시피 Wayland 자체는 매우 실험적인데, GTK+ 3.2 에서는 Wayland display server를 지원한다. 현재 많이 알려져 있는 X.org를 대신하여 미래에 많이 사용할 Wayland에 대해 GTK+가 미래를 위해 준비를 확실히 하고 있다.
QT또는 Wayland를 지원을 하는 중이기 때문에 두가지 오픈 소스 툴킷(GTK+, QT은 미래를 위한 준비를 하고 있다고 볼수 있습니다.
※ GTK+란? (What is GTK+)
GTK+는 그래픽 유저 인터페이스(GUI)를 만들기 위한 멀티 플랫폼 툴킷입니다. (아래서 부턴 알아서 번역을 바랍니다.)
GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.
GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development.
GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. GTK+ is the only 100% free-of-cost open source industrial-strength GUI toolkit available today.
Since its origins as the toolkit for the GNU Image Manipulation Program (GIMP), GTK+ has been used in a wide range of software. Notably, GTK+ is the foundation of the GNOME desktop.
안드로이드(Android)를 처음 접하는 초보자들도 쉽게 빌드 할수 있도록 GTK기반으로 UI를 구성한 후, 작성하였다고 합니다.
이 프로그램의 요구사항은 GNOME 3.0 개발환경에 맞게 만들어졌기 때문에 GTK+-3.0 이상이 설치되어야 한다고 나와 있군요. (GTK+-2.0과 GTK+-3.0간 호환성이 없다보니..)
* Requirements
- python 2.6 or higher
- pygobject 2.90 or higher
- gtk 3.0 or higher with gobject-introspection
- vte 2.90 or higher with gobject-introspection
* How to run?
- change directory to source
- run ./abuild
. need to fix for deployment
- click "Source Top" button and select android source directory
- if source directory has valid contents, "Build", "Product",
"Variant" button will be enabled
. TIP: If you set TOP shell environment and that is android
source directory, it will be set as "Source Top" directory
- select check buttons and press "Build" button
ps. 제대로 빌드하는 모습을 다음 일요일에 제대로 된 실행화면을 블로그로 업로드할 예정입니다.
아래는 Ubuntu 11.04 Natty Narwhal의 기본 데스크탑인 Unity의 화면입니다.
Unity Desktop
2004년 말부터 GNOME(http://www.gnome.org/) Desktop를 주로 쓰던 저에게 Unity는 신선한 충격을 가져다 줍니다. KDE Desktop처럼 온갖 기능 붙혀서 무겁게 느껴지거나 GNOME같이 평범한 Linux Desktop도 아닌 뭔가 새롭고 신선한느낌정도?
Unity Desktop의 UI가 겉으로 보면 예쁘지만, 실제로 사용하다 보면 약간 뭔가 어지럽습니다. 익숙하지 않아서 그럴지도?
Netbook을 위한 Desktop을 표방하고 있습니다만, 아직 GNOME환경에 비해서 느리고 빠릿빠릿하지 않다는 느낌이 듭니다.
Unity가 GNOME(GTK+기반)과 달리 QT기반으로 작성되었으며 X 윈도우 시스템을 대체할 OpenGL기반의 데스크탑 관리시스템인 웨이랜드(Wayland) 데스크탑 엔진, Compiz를 대체할 mutter를 사용합니다.
이전에는 X Windows위에 GTK기반의 GNOME Desktop을 사용했다만 Ubuntu를 관리하는 Canonical사는 독자적인 방향으로 새로운 UI를 제공하겠다는 목표로 Unity project를 진행하고 있습니다.
Unity가 데스크탑, 노트북말고도Tablet같은 Touch screen이 있는 노트북이나 넷북에도 적용할 예정입니다. 아래 화면에서 보듯 UI가 손가락으로 클릭하기 좋게 구성 되어 있습니다.
Unity UI를 보면 볼수록 뭔가 Mac OSX를 많이 흉내내려고 노력한 흔적이 많이 보입니다.
Canonical사는 Ubuntu OS에 Unity라는 새로운 사용자 경험을 보여주합니다. 기존의 GNOME기반의 경험을 가진 사람에겐 뭔가 느낌이 이상하게 느껴지는건 익숙하지 않아서일까요?
ps. 아직 Alpha release단계라 버그가 많습니다. 가끔씩 죽는 경우가 생겨 launchpad에 bug reporting을 자주 하는 편입니다.