gnome architectureftp.cse.buffalo.edu/.../media/gnomearchitecture.pdf · 2003-12-08 · gnome 1.0 -...
Post on 03-Jun-2020
10 Views
Preview:
TRANSCRIPT
2003년 12월 8일 월요일 #1GNOME KOREA @ http://gnome.or.kr
GNOME ArchitectureGNOME Architecture
Dongsu Jang <jdongsu@pyunji.net>
2003년 12월 8일 월요일 #2GNOME KOREA @ http://gnome.or.kr
ContentsContents
ProloguePrologue- About GNOME- About GNOME
Libraries & ToolsLibraries & Tools- Developer's Perspective- Developer's Perspective
ApplicationsApplications- User's Perpective- User's Perpective
EpilogueEpilogue- Past, Present and Future- Past, Present and Future
2003년 12월 8일 월요일 #3GNOME KOREA @ http://gnome.or.kr
ProloguePrologue
About GNOMEAbout GNOME
2003년 12월 8일 월요일 #4GNOME KOREA @ http://gnome.or.kr
GNOME is...GNOME is...
GNU Network Object Model EnvironmentsYahoo! says:
gnome [nóum] n. 신령 , 꼬마 도깨비 , 난쟁이 (dwarf)
2003년 12월 8일 월요일 #5GNOME KOREA @ http://gnome.or.kr
Why GNOME?Why GNOME?
Started in Aug 1997by Miguel de Icazato provide a Free desktop for the GNU/Linux operating system.
Why not KDE?based on Trolltech's QT (license issues)written in C++
Why GTK+?written in CLGPLalready used by The GIMP, a popular Free software project.
2003년 12월 8일 월요일 #6GNOME KOREA @ http://gnome.or.kr
GNOME provides...GNOME provides...
for Users:a complete, free and easy-to-use "Desktop Environment"
for Developers:a powerful application "Development Framework"
http://www.gnome.org/about/
2003년 12월 8일 월요일 #7GNOME KOREA @ http://gnome.or.kr
ApplicationsApplications
GNOMEGNOMEApplicationsApplications
GNOMEGNOMELibrariesLibraries
GNOME at a glance...GNOME at a glance...
XLibXLib
GTK+GTK+
GDKGDK
GLibGLibCORBACORBA
BonoboBonobo
2003년 12월 8일 월요일 #8GNOME KOREA @ http://gnome.or.kr
Libraries & ToolsLibraries & Tools
Developer's PerspectiveDeveloper's Perspective
2003년 12월 8일 월요일 #9GNOME KOREA @ http://gnome.or.kr
GLib & GObjectGLib & GObject
GLibfundamentals: basic types and macroscore application support: event looputilities: thread, string, scanner, xml parser...data types: linked list, hash table, tree ...
➔ Pleasant, Convenient and PortableGObject
generic type systemfundamental type implementationssignal system & notification mechanismparameter/value system
➔ Easy to Map (into Other Languages) Object Oriented Framework for C
2003년 12월 8일 월요일 #10GNOME KOREA @ http://gnome.or.kr
PangoPango
Pango (Παν 語 )Greek "Pan"(All) + Japanese "Go"(Language)the layout and rendering framework of internationalized text
2003년 12월 8일 월요일 #11GNOME KOREA @ http://gnome.or.kr
ATKATK
ATK : Accessability ToolKita Set of interfaces for accessibilityGAIL is an implementation of ATK for GTK+
Links to LibraryRPC/IPC
GTK+/GNOMEApplication
GTK+with GAIL
ATK <-> AT-SPIBridge
Mozilla
AccessibilityBroker
AT Client
Java AccessibilityFramework
JavaApplication
ATK
AT-SPI
AT-SPI
AT-SPI
2003년 12월 8일 월요일 #12GNOME KOREA @ http://gnome.or.kr
GDK & GdkPixbufGDK & GdkPixbuf
GDK : GIMP Drawing Kita wrapper around the low-level functions for accessing the underlying windowing functions(Xlib in the case of the X-Window)easy to port into other windowing systems
GdkPixbufimage loading with custom loaderclient-side(in memory) image manipulationreplaces imlib
2003년 12월 8일 월요일 #13GNOME KOREA @ http://gnome.or.kr
GTK+GTK+
GTK+ : GIMP ToolKitC-based Object Oriented API
works on many Unix-like platforms(X-Window), Windows, Framebuffer devices, and Console ...
Rich Widget Setbasic widgets: GtkEntry, GtkButton, ...layout managers: GtkBox, GtkTablecomplex widgets: TreeView, TextViewcommon dialogs: File/Font/Color/Inputaction-based Menu/Toolbar
Themeable Look & FeelSupports XIM and Cutom Input Method
we have “nabi” & “imhangul” ;DLGPL
2003년 12월 8일 월요일 #14GNOME KOREA @ http://gnome.or.kr
GTK+ on Win32GTK+ on Win32
2003년 12월 8일 월요일 #15GNOME KOREA @ http://gnome.or.kr
GTK+ on DirectFBGTK+ on DirectFB
2003년 12월 8일 월요일 #16GNOME KOREA @ http://gnome.or.kr
GTK+ on OSXGTK+ on OSX
2003년 12월 8일 월요일 #17GNOME KOREA @ http://gnome.or.kr
GTK+ on ConsoleGTK+ on Console
2003년 12월 8일 월요일 #18GNOME KOREA @ http://gnome.or.kr
Component ModelComponent Model
Bonobothe Component Model of the GNOMEprovides:
interfaces with CORBA IDLwrappers with Cimplementation with any language
assists in the Implementation of:ComponentsControlsCompound Document Support
ORBita CORBA implementation with a C mapping of the CORBA 2.2 specification
2003년 12월 8일 월요일 #19GNOME KOREA @ http://gnome.or.kr
GNOME Libraries [1]GNOME Libraries [1]
GNOME VFSmakes accessing various kinds of file systems transparent to the user and developerlocal files, HTTP, FTP, WebDAV, NNTP ...
GNOME Canvaswidget to create custom displays using stock items such as circles, lines, text, ...originated from a port of the Tk canvas
GNOME Printextends GNOME Canvas widget to printing devices
2003년 12월 8일 월요일 #20GNOME KOREA @ http://gnome.or.kr
GNOME Libraries [2]GNOME Libraries [2]
GConfmanages application configuration data in a tree structurereplaces gnome-config
GNOME DBa free unified data access architecturelibgnomedb / libgda
GStreamermultimedia frameworkgraph structure of multi-threaded pipelinesintelligent plugin architecture
2003년 12월 8일 월요일 #21GNOME KOREA @ http://gnome.or.kr
GNOME Libraries [3]GNOME Libraries [3]
libgladebuilds the interface from an XML file (.glade) at runtime
libXml2 / libXSLTaka GNOME-XMLfull featured XML C parser and toolkit
gtkhtml3simple HTML view/edit widget
libcroco, librsvg, and so on...
2003년 12월 8일 월요일 #22GNOME KOREA @ http://gnome.or.kr
Language BindingsLanguage Bindings
Language Binding Homepage
Ada GtkAda
C++ Gnomemm/gtkmm
C++ Inti
C# GTK#/Mono
Java Java-GNOME
Objective-Caml LablGTK
Perl gtk2-perl
Python PyGnome/PyGTK
Ruby Ruby-GNOME2
Scheme Guile-gtk/Guilt-gobject
TCL Gnocl
http://libre.act-europe.fr/GtkAda/
http://www.gtkmm.org/
http://inti.sourceforge.net/http://gtk-sharp.sourceforge.net/http://go-mono.com/
http://gtk-sharp.sourceforge.net/
http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html
http://gtk2-perl.sourceforge.net/
http://www.daa.com.au/~james/pygtk/
http://ruby-gnome2.sourceforge.jp/
http://www.gnu.org/software/guile-gtk/
http://www.dr-baum.net/gnocl/
2003년 12월 8일 월요일 #23GNOME KOREA @ http://gnome.or.kr
Developer ToolsDeveloper Tools
GNU Build Toolsautoconf, automake, libtool ...
Glade GUI BuilderWYSIWYG GUI Designer & Code Generator
DevHelpMSDN style API document browserhttp://lidn.sf.net/
2003년 12월 8일 월요일 #24GNOME KOREA @ http://gnome.or.kr
Developer ToolsDeveloper Tools
AnjutaFull Featured IDE for GNOME/GTK+ Application Development
2003년 12월 8일 월요일 #25GNOME KOREA @ http://gnome.or.kr
Developer Tools [3]Developer Tools [3]
Scafoldaka Anjuta2Light-weight and (more) GNOME-compliant fork of Anjuta
GOB: GObject Buildergenerates GObject-based .c/.h files from Java-like .gob source fileeverybody loves screenshot ;)
2003년 12월 8일 월요일 #26GNOME KOREA @ http://gnome.or.kr
ApplicationsApplications
User's PerspectiveUser's Perspective
2003년 12월 8일 월요일 #27GNOME KOREA @ http://gnome.or.kr
GNOME DesktopGNOME DesktopCore Applications [1]Core Applications [1]
gnome-panel – launcher & applet dockcontrol-center – user preferencesnautilus - desktop & file managergnome-session – session managergdm – display managermetacity – window managerbug-buddy - bug reporting tooleog – image & image collection viewerepiphany – web browserfile-roller - archive managergcalctool - desktop calculator
2003년 12월 8일 월요일 #28GNOME KOREA @ http://gnome.or.kr
GNOME DesktopGNOME DesktopCore Applications [2]Core Applications [2]
gedit - syntax highlight text editorgnome-terminal - muti-tabbed terminalggv - postscript viewergnome-meeting - H.323 teleconferencinggnome-networkgnome-system-monitorgnome system toolsgpdf - PDF viewergucharmap - unicode character maprhythmbox – iTunes-style music manageryelp - help(info, man) browser
2003년 12월 8일 월요일 #29GNOME KOREA @ http://gnome.or.kr
GNOME DesktopGNOME DesktopCore Applications [3]Core Applications [3]
zenity - display dialogs from scriptsgnome-appletsgnome-gamesNautilus Viewer Components:
nautilus-medianautilus-cd-burnergtksourceviewfontilus
Accessibility Toolsgnopernicus - screen readergok - dynamic on-screen keyboard
2003년 12월 8일 월요일 #30GNOME KOREA @ http://gnome.or.kr
GNOME Fifth Toe [1]GNOME Fifth Toe [1]
Stable, Maintained, and Conform to GNOME HIGDevelopment
ghex - binary editorgob - GObject buildermeld - visual diff & merge toolmemprof - memory profiling and leak detectionregexxer - multi-file search & replace tool
Entertainmentgcompris - education game suitegtetrinet - tetrinet client
2003년 12월 8일 월요일 #31GNOME KOREA @ http://gnome.or.kr
GNOME Fifth Toe [2]GNOME Fifth Toe [2]
Internetgnomeicu - ICQ clientbalsa - email clientdrivel - LiveJournal Clientgaim - multi-protocol IM clientgaleon - web browsergURLChecker - web links checkerheartbeat - server & service monitorpan - usenet news readerticker - stock tickertsclient - rdesktop/vnc frontendxchat - IRC client
2003년 12월 8일 월요일 #32GNOME KOREA @ http://gnome.or.kr
GNOME Fifth Toe [3]GNOME Fifth Toe [3]
Video/Soundcamorama - webcam applicationgnomeradio - FM-radio tunergthumb - an image viewer and browser utstreamtuner - a stream directory browsertotem - movie player
Misc.gdeskcal - skinnable desktop calendargchord - guitar chord & scale databasegswitchit - xkb toolkitseahorse - gnupg frontendseti-applet - panel applet for seti@home
2003년 12월 8일 월요일 #33GNOME KOREA @ http://gnome.or.kr
GNOME Fifth Toe [4]GNOME Fifth Toe [4]
Productivitydia - Visio-style diagram drawinggnotime - time tracker/billingabiword - word processorgpaint - small easy-to-use paintingmergeant - visual database managementplanner - project managementworkrave - RSI prevention
2003년 12월 8일 월요일 #34GNOME KOREA @ http://gnome.or.kr
GNOME OfficeGNOME Office
abiword - word processorconglomerate - xml editordia - Visio-style diagram drawingevolution - mail client with PIMSgfax - free frontend to the various facsimile programsgimp - bitmap image manipulationgnucash - personal finance manageergnumeric - spread sheetmergeant - visual database managementplanner - project managementsodipodi - SVG-based illustrationand so on...
2003년 12월 8일 월요일 #35GNOME KOREA @ http://gnome.or.kr
EpilogueEpilogue
Past, Present and FuturePast, Present and Future
2003년 12월 8일 월요일 #36GNOME KOREA @ http://gnome.or.kr
Overall ArchitectureOverall Architecture
GTK+
Pango ATK
CORBA
ORBit2libIDL
GnomeVFS GConf
GStreamer
Desktop/FileManager(Nautilus)
XLib libc
GLibGDK
GdkPixbuf
libxml2libxslt
WindowManager
(Metacity)
GnomeSessionManager
GnomePanel
GnomeControlCenter
Gnome DesktopCore Applications
GnomePrint
GnomeCanvas
FifthToe
GnomeOffice
Other/LegacyApplications
GnomeDisplay
Manager
libglade
DeveloperTools
AT-SPIlibxft2FreeType
Language Bindings
GObject
Bonobobonoboui
libgnomelibgnomeui
GnomeDB
2003년 12월 8일 월요일 #37GNOME KOREA @ http://gnome.or.kr
PastPast
GNOME project announced - Aug 1997GNOME 1.0 - Mar 1999“October” GNOME 1.0.55 - Oct 1999
Gnome Bug Tracking System Introduced“Bongo” GNOME 1.2 - May 2000
Helix GNOME 1.2My First GNOME Desktop ;)
GNOME Foundation announced– Aug 2000GNOME 1.4 - Sep 2000
Eazel Nautilus & Helix Evolution
2003년 12월 8일 월요일 #38GNOME KOREA @ http://gnome.or.kr
Present and FuturePresent and Future
GNOME 2.0 - Jun 2002The first major upgrade with GTK+ 2.0
GNOME 2.2 - Feb 2003Ximian Desktop 2, Sun Java Desktop System
GNOME 2.4 - Sep 2003GNOME 2.4.1 - Nov 2003
Lastest stable releaseGNOME 2.5.0 – Nov 2003
Latest unstable releaseGNOME 2.6 - Mar 2004 ?
with GTK+ 2.4
2003년 12월 8일 월요일 #39GNOME KOREA @ http://gnome.or.kr
Ximian's Ximian Desktop 2Ximian's Ximian Desktop 2
2003년 12월 8일 월요일 #40GNOME KOREA @ http://gnome.or.kr
Sun's Java Desktop SystemSun's Java Desktop System
2003년 12월 8일 월요일 #41GNOME KOREA @ http://gnome.or.kr
CyGnome 2.2.1CyGnome 2.2.1
2003년 12월 8일 월요일 #42GNOME KOREA @ http://gnome.or.kr
freedesktop.orgfreedesktop.org
freedesktop.orginteroperability and shared technology for desktop environments for the X Window System
2003년 12월 8일 월요일 #43GNOME KOREA @ http://gnome.or.kr
GPEGPE
GPE: The GPE Palmtop Environmenta Free software GUI environment for palmtop/handheld computers running the GNU/Linux operating system using X-Window system and GTK+
2003년 12월 8일 월요일 #44GNOME KOREA @ http://gnome.or.kr
ReferencesReferences
GNOME Official Homepage - http://gnome.orgGTK+ Official Homepage - http://gtk.orgGIMP Official Homepage - http://gimp.orgGNOME Korea Official Homepage - http://gnome.or.krhttp://primates.ximian.com/~miguel/gnome-history.htmlPango Official Homepage - http://pango.org/GNOME Accessability Project - http://developer.gnome.org/projects/gap/GTK+ for Win32 - http://www.gimp.org/win32/GTK-Wimp - http://gtk-wimp.sourceforge.net/GTK+ for DirectFB - http://www.directfb.org/gtk.xmlGTK+ for OSX - http://gtk-osx.sourceforge.net/Cursed GTK - http://zemljanka.sourceforge.net/cursed/ORBit2 - http://www.gnome.org/projects/ORBit2/GNOME DB - http://www.gnome-db.org/GNOME print - http://www.gnome.org/projects/gnome-print/GStreamer - http://gstreamer.net/libXml2/libXSLT- http://www.xmlsoft.org/GNOME Fifth Toe - http://5toe.lyrical.net/GNOME Office - http://www.gnome.org/gnome-office/http://freedesktop.orgIBM developerWorks - http://www.ibm.com/developerworks/Miguel de Icaza Hompage - http://primates.ximian.com/~miguel/Special Thanks to http://google.com ;)
top related