Home    About me    Publications    Blog    Undergrad memories

Fabio Ruini’s blog

Because Italians do it better! What the f**k? Ehm… the blogs, I mean… obviously! :-/

FLTK

Stanchi della pachidermiticita’ delle Qt? Dovete sviluppare un’applicazioni che utilizzi la GUI giusto per sfizio, come nel mio caso? Giusto per poter settare in maniera rapida qualche parametro? Magari senza che questa abbia un impatto pesante sulle performance dell’applicazione stessa? Allora forse le FLTK sono cio’ che fa al caso vostro.

FLTK logo

Mi ci sono imbattuto per caso oggi pomeriggio, cercando di aiutare un collega che stava bestemmiando il dio Trolltech per la pesantezza delle Qt cui accennavo qualche riga fa. Mentre parlavamo, mi e’ tornato in mente all’improvviso che quando me ne ero venuto qui a Plymouth, ormai piu’ di un anno fa, avevo con me in aereo un ritaglio di Linux&C. che volevo leggere. Cosa che puntualmente non avevo fatto. Ho scartabellato un po’ tra i miei raccoglitori ed un po’ fortunosamente sono riuscito a recuperarlo. Bingo. Esattamente quello che stavamo cercando. Cosi’ tremendamente calzante con i nostri scopi che, preso dall’entusiasmo, ho pure deciso di scannerizzare il ritaglio e di condividerlo con tutti voi.

Come se non bastasse, in giro per la rete ho trovato pure questa applicazione, tale AnnA, sviluppata proprio con le FLTK. FLTK e reti neurali. Che possa essere una bella accoppiata?

Commenti

  1. SNVA200
    giugno 26th, 2008 | 15:17

    humm… posso capire che le QT possono essere più lunghe o complesse da apprendere rispetto ad altri toolkit … ma dato che lo reputo il miglior toolkit per sviluppo cross-platform … non mi pare giusto dire che sia un pachiderma e/o lento !!
    Perchè non è ne lento ne pachiderma… anzi spesso le performance delle QT superano di gran lunga molto librerie blasonate.

    E cmq concordo con te che per fare delle GUI solo per sfizio le QT non vanno bene… anche perché è duro da far capire alla gente che le QT non sono un toolkit grafico (come le FLTK) ma sono un toolkit per sviluppo cross-platform !!!
    Vedi il modulo Phonon aggiunto ultimamente… oppure i Socket, il server TCP e la gestione dei protocolli di Rete… etc, etc !!

  2. giugno 26th, 2008 | 15:34

    A mio avviso le Qt rischiano spesso di essere sovradimensionate rispetto all’utilizzo che puo’ farne l’utente medio. Vero che hanno infinite potenzialita’, ma altrettanto vero e’ che in un applicazione “media” se ne utilizza per forza di cose soltanto un sottoinsieme molto limitato.

    Riguardo alle performance, non ho dati di prima mano relativi a confronti con altre librerie, ma spero di ottenerne presto. Al momento noto che anche soltanto tenere aperta una QMainWindow impatta notevolmente sulle performance del mio simulatore rispetto a quando la nascondo.

  3. SNVA200
    giugno 27th, 2008 | 10:21

    Ovviamente delle QT spesso si usano solo delle sotto-parti e mai tutto… quello che voglio sottolineare è che se ti interessa soltanto la grafica è ovvio che esisto tool molto più specifici, rapidi e facili da apprendere: GTK, FLTK, etc..

    Ma quando ti serve, come nel mio caso, accesso al filesystem, avvio di processi, comunicazione fra processi, apertura di porte TCP/IP, gestione UNICODE, file XML, interfaccia grafica, etc.
    Allora, rimangono veramente pochissime librerie esistenti che offrono tutto questo in modo cross-platform e orientate agli oggetti.
    E dato che reputo più facile imparare una sola libreria ben fatta che 10 librerie… ecco che in questi casi le QT sono il tool migliore.

    Per le performance… non intendo QMainWindow aperta vs. chiusa… è ovvio che se non devi graficare niente sul monitor va più veloce… però questo dimostra che è stata ottimizzata per non sovraccaricare l’applicazione quando è chiusa ad icona (quando usai le vecchie GTK questa ottimizzazione non c’era).

    Io parlo di QVector vs std::vector, QMap vs std::map … parlo di QString vs altre stringe (vedi ICU) … etc, etc.

    Parlo di Canvas (QGraphicScene) vs alte Canvas.

Lascia un commento