Programovani pro X

Jan Kybic Jan.Kybic na epfl.ch
Čtvrtek Březen 11 20:44:21 CET 1999


> rekneme, ze bych rad napsal nejakou vetsi aplikaci pro X, nejspis v 
> C++.

Ahoj Petre,
	zalezi na tom, co to ma byt za aplikaci. Pokud chces co
nejvetsi kontrolu nad tim, co delas, je nutne pouzivat primo funkce
Xlib, Xtoolkitu. Chces-li dobrou/rychlou grafiku, vyplati se uzit
specializovanou knihovnu - OpenGL (Mesa),  Phigs, GKS. Podle meho
skromneho mineni je vetsina z vyse uvedenych veci neprilis intuitivni,
takze bez knihy to asi nepujde. Ales Limpouch tusim napsal neco jako
`Programovani v X Windows', vydala to Grada, jiste toho najdes vice.

Dale existuji knihovny vyssi urovne, jako jiz zmineny Gtk, Xforms nebo
Qt, na Internetu se toho vali spousta.

Mym osobnim favoritem je knihovna Tk. Neni pravda mozna tak obecna,
jako nektere z vyse zminenych, ale vetsinu veci, kterou jsem zatim
potreboval, umi. Existuje i pro Windows a NT, takze portabilita neni
problem. Da se pouzivat primo z C, ale i z mnoho skriptovacich jazyku,
od puvodniho Tcl, pres Perl, Python, Scheme a mozna jeste dalsi.

Nejefektivnejsi (pro mne) zpusob programovani GUI aplikaci je totiz
napsat vykonne jadro v C (C++) a interface v nejakem skriptovacim
jazyce. Jde to rychle (pro GUI typicky misto deseti radek v C nebo
Jave, jedna ve skriptu, a to nenadsazuji), interaktivne se da
ladit, je to portabilni. Pro nekoho muze byt nevyhoda, ze je je
potreba dat zakaznikovi cast zdrojoveho kodu.

> 3. Existuji nejake knihovny, ktere ujednocuji kresleni na monitor a 
> tisk? Jak vlastne resi aplikace tisk - generuje PostScript, nebo 
> generuje neco presne podle tiskarny, nebo jak?

Bezne se generuje PostScript, nebo nejaky image format
(gif,tiff,pnm). Knihovny jsou (treba GKS to umi), 
ale nejspis nebudou dost obecne, asi bych si to napsal radeji sam,
zase zalezi na tom, co presne potrebujes. Prikladem muze byt knihovna GdChart
(http://www.fred.net/brv/chart/) nebo gd (www.boutell.com). 
Nejake knihovny jsou taky na
http://www.xnet.com/~blatura/linapps.shtml, 
jinak bych zkusil http://www.linuxstart.com/, Altavistu, proste bezne
zdroje. 

Asi jsem ti moc nepomohl, ale snazil jsem se. Mej se.

Honza

-- 
-------------------------------------------------------------------------
Jan Kybic <Jan.Kybic na epfl.ch>      BIG IOA DMT EPFL Lausanne, Switzerland
http://bigwww.epfl.ch/kybic        tel. work +41 (21) 693 5741
For PGP key see my WWW page.


Další informace o konferenci Linux