Buffy, FLTK ne sam "crta" svoje widget-e, dakle ne koristi Common Controls. Ovo naravno ima svoje prednosti i mane.
basicD, ono je ipak bio trivijalan primer, i kada se izuzmu include direktive i ako se koristi fltk:: sto eliminise using namespace ispada da za tu trivijalnu QT aplikaciju treba otprilike ista kolicina koda. Kada se gleda na malo komplikovanije aplikacije, razlika u kodu bi najverovatnije bila veca, i pretpostavljam da bi za adekvatnu FLTK aplikaciju trebalo manje koda. Iz iskustva znam da je rezultujuca aplikacija uglavnom manja, i manje zahtevna (resursi). Naravno, QT ovo kompenzuje dobrim, robusnim i opsirnim framework-om.
Ne boj se, ima FLTK sve "fensi" widgete koje ima i QT, samo nisu deo distribucije, vec to rade drugi ljudi (sto tako i treba da bude).
Sto se tice izgleda... FLTK ima mogucnost rada sa temama, koju ne znam zasto, niko ne koristi. Mozda je to navika FLTK programera - ja, i mnogi drugi koje znam, volimo da izgled bude konzistentan, dakle aplikacija izgleda isto na svim platformama.
Neki ce pomisliti da ovde pocinje flame-war QT vs FLTK. Nema potrebe za njega, QT je drasticno popularniji, a FLTK ce zbog svojih osobina uvek imati deo GUI torte. :)
Ko poznaje QT zna dobro da QT nije samo GUI, vec mnogo vise. FLTK ekipa se fokusira samo na ono "GUI". Razlika je najveca, ocigledno, u konceptu. Nama (FLTK timu) nije cilj da radimo general-purpose C++ framework, sa GUIjem koji predstavlja samo jedan delic... General-purpose C++ framework vec postoji, tj. dva - STDC++ i Boost. :)
Sto se tice sta je preglednije... Evo gornjeg FLTK primera u drugom obliku:
Code:
#include <fltk/run.h>
#include <fltk/Window.h>
#include <fltk/SharedImage.h>
using namespace fltk;
int main(int argc, char **argv)
{
Window win(1000,600);
win.image(pngImage::get("mapbg.png"));
win.end();
win.show();
return run();
}
Ne vidim nista nepregledno ovde. :)
[Ovu poruku je menjao leka dana 03.04.2006. u 04:13 GMT+1]
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin