Εντυπώσεις από τη GTK+

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Εντυπώσεις από τη GTK+

Δημοσίευσηαπό Dimitris » 01 Οκτ 2008, 14:38

Τον τελευταίο χρόνο ξεκίνησα ασχολούμαι με τη GTK+, σε ένα open source CAD πρόγραμμα μάζι με το logari81, και θα ήθελα να μοιραστώ τις εμπειρίες μου. Μόλις ωριμάσει το πρόγραμμα θα μάθετε φυσικά νεότερα.

H βιβλιοθήκη GTK+, GIMP Toolkit, είναι μια βιβλιοθήκη για τη δημιουργία γραφικών διεπιφανειών χρήστη (graphical user interface). Aρχικά δημιουργήθηκε για το πρόγραμμα GNU Image Manipulation Program (GIMP), και έπειτα χρησιμοποιείται σε πολλά άλλα προγράμματα, όπως το inkscape και το evolution. Το GNOME βασίζεται επίσης στη βιβλιοθήκη GTK+, όπως και το Xfce. Είναι γραμμένη σε C, αλλά έχει συνδέσεις (bindings) και για άλλες γλώσσες, όπως c++, python, java, perl κ.α. Οφείλω να πω ότι υπάρχει και για windows. Η άδεια διανομής είναι η LGPL (lesser GPL), πράμα που επιτρέπει τη χρήση της ακόμη και σε εμπορικά προγράμματα κλειστού κώδικα.

H xρήση της είναι αρκετά εύκολη και το λέω γιατί ποτέ δεν είχα προγραμματίσει gui σε C γράφοντας κώδικα. Η αλήθεια είναι ότι μόνο μια φορά είχα προγραμματισει gui και είχα χρησιμοποιήσει κάτι ακατονόμαστα προϊοντα στα οποία έκανες click μόνο. Είναι επίσης αλήθεια ότι στη C δεν είχα γράψει ποτέ κώδικα παραπάνω από 20 γραμμές. Με αυτά υπόψη ξεκίνησα να διαβάζω το [2]. Το οποίο είναι καλόγραμμένο, στα αγγλικά βέβαια, και έχει πολλά παραδείγματα, τα οποία εξηγεί διεξοδικά. Είναι απαραίτητο βέβαια να γνωρίζει κανείς κάποια πράματα για μεταγλώττιση (compile) και για Μakefiles (δες στους οδηγούς του forum).

Υπάρχουν βεβαία κομμάτια που δεν είναι καλά τεκμηριωμένα, όπως τα drawing area και curves widgets. Παρ'όλαυτα ούτε η χρήση αυτών αποδείχθηκε δύσκολη, μιας και βρέθηκε αρκετός ελεύθερος κώδικας από τον οποίο μπορούσαν να αντληθούν πληροφορίες.

Εκτός από τη gtk+, ένα άλλο απαραίτητο πακέτο είναι το pkg-config, που δημιουργεί τις απαραίτητες παραμέτρους για τη μεταγλώττιση (compiling & linking flags). Για IDE χρησιμοποιήσαμε το geany, ελαφρύ και απλό, το οποίο βρίσκεται στα repositories.

Δεν πρέπει επίσης να ξεχνάμε το εργαλείο glade που διευκολύνει τη δημιουργία gui. Παρόλ'αυτά δεν χρησιμοποιήθηκε μιας και δεν είχε παιδαγωγικό σκοπό :D Πρέπει επίσης κάποτε να δοκιμάσω και το anjuta, που έχω ακούσει αρκετά σε αυτό το forum, αλλά δυστυχώς ο χρόνος είναι περιορισμένος.


Παρακάτω μπορείτε να βρείτε μερικές χρήσιμες ιστοσελίδες:
[1] http://www.gtk.org/
[2] http://library.gnome.org/devel/gtk-tutorial/stable/
[3] http://glade.gnome.org/
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Εντυπώσεις από τη GTK+

Δημοσίευσηαπό cyberpython » 01 Οκτ 2008, 17:43

ΕικόναΕικόναΕικόνα Μπράβο!!! ΕικόναΕικόναΕικόνα

Περιμένουμε νεότερα για το πρόγραμμά σας!

Η αλήθεια είναι οτι το GTK+ σε σχέση με άλλα toolkits (π.χ. το QT, και τα SWT και Swing της Java) είναι ΠΟΛΥ κακογραμμένο (υπερβολική πολυπλοκότητα - δυσχρηστία) σε μερικά σημεία και ακόμη χειρότερα τεκμηριωμένο. Βέβαια, ο βασικός λόγος είναι οτι οι developers δε θέλουν να σπάσουν το backwards compatibility. Κατά την άποψή μου όμως κάποια στιγμή αυτό θα είναι αναγκαίο και μάλλον αυτός θα έπρεπε να είναι ένας από τους βασικούς στόχους του GNOME 3.0 (να έρθει με μια νέα υλοποίηση του GTK - που ιδανικά θα υποστηρίζει από την πρώτη μέρα και C++, Java, Python τουλάχιστον πέρα από τη C)
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

Re: Εντυπώσεις από τη GTK+

Δημοσίευσηαπό Dimitris » 09 Οκτ 2008, 18:23

Η gtk+ 2.0 υπάρχει τώρα και για mac (για όσους αναγκάζονται να χρησιμοποιούν στη δουλειά όπως εγώ) Είναι βέβαια σε beta ακόμη, αλλά καλύτερο από τη gtk+ 1.0
http://www.gtk-osx.org/
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Εντυπώσεις από τη GTK+

Δημοσίευσηαπό greatst » 18 Ιαν 2009, 21:17

ασχολήθηκα λίγο με GTK+ κι εγώ αυτό το Σαββατοκύριακο. Η τεκμηρίωση της όντως δεν είναι πλήρης, αλλά τα βασικά τα κάνει κανείς σχετικά ανεμπόδιστα (εάν φυσικά έχει καλό υπόβαθρο στον γενικό προγραμματισμό σε C). Πάντως το glade που του έριξα μια ματιά δεν με ενθουσίασε: νομίζω είναι προτιμητέο να γράφει κανείς τον κώδικα του, παρά να "του γράφει τον κώδικα" ένα άλλο εργαλείο ;-)
προσωπική ιστοσελίδαgreatst in Launchpad

Γνώσεις ⇛ Linux: Όσο ζω μαθαίνω ┃ Προγραμματισμός: Μια χαρά ┃ Αγγλικά: Εξαιρετικά

Mac mini (late 2009) (8GB RAM) με OS X 10.11.6 [και Ubuntu 16.04 Server amd64 και άλλες GNU/Linux εικονικές μηχανές με 2GB RAM, 128MB VRAM+3D_acceleration η κάθε μία].
Άβαταρ μέλους
greatst
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 639
Εγγραφή: 14 Δεκ 2008, 00:41
Τοποθεσία: Κατερίνη
Launchpad: greatst
IRC: greatst
Εκτύπωση

Re: Εντυπώσεις από τη GTK+

Δημοσίευσηαπό Dimitris » 19 Ιαν 2009, 15:19

Σήμερα καθώς έψαχνα άσκοπα στο διαδίκτυο βρηκά αυτή τη σελίδα http://www.imendio.com/ Απ'ότι φαίνεται είναι μια ευρωπαϊκή εταιρία που δραστηριοποιείται στο να παρέχει υποστηριξη και να αναπτύσσει κώδικα βασισμένο στη βιβλιοθήκε Gtk+. Kάτι αντίστοιχο της Trolltech δηλαδή--η Trolltech υποστήριζε τη Qt.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Εντυπώσεις από τη GTK+

Δημοσίευσηαπό Nisok » 25 Ιαν 2009, 16:05

Πριν συνεχίζω να δηλώσω ότι χρησιμοποιώ GNOME.

Πιστεύω ότι η QT είναι η γλώσσα του μέλλοντος. Πείτε με ριψοκίνδυνο αλλά η C++ θα αρχίσει να χρησιμοποιείται μόνο
μέσω QT.
Δουλεύει ακριβώς όπως η μαμά της αλλά και καλύτερα, έχει πιο λογική δομή και έχει απλοποιήσει διάφορα θέματα
της C++ που κακώς ήταν τόσο .... γραφειοκρατικά.

Ίσως η QT -5??- να εκθρονίσει και την JAVA απο (100%) αντικειμενοστραφή, multi-platform βασίλισσα.
Γιατί θα είναι πιο γρήγορη. Θα μπορεί να επικοινωνήσει με H/Υ χωρίς να σου βγάζει το λάδι και άλλα πολλά.

Και μια και το έθιξα δεν θα έπρεπε να υπάρχουν σήμερα γλώσσες για μια μόνο πλατφόρμα. Και αφού υπάρχουν θα έπρεπε να
μποικοτάρονται κατά την ταπεινή μου άποψη. Γιατί ένα -τέλειο(ότι και αν σημαίνει αυτό)- πρόγραμμα δεν είναι σύνηθες να γραφτεί σε GTK αλλά σε p.x. C# γιατί εκεί είναι το ψωμί για τους περισσότερους.
Πιστεύω ότι δεν είναι λύση να εκλείψουν κάποιες πλατφόρμες (όσο και αν το ήθελαν κάποιοι στο φορουμ ;-P) αλλά τα προγράμματα να μπορούν να τρέχουν παντού.

Τέλος δεν νομίζω ότι η GTK μπορεί να αλλάξει ΤΟΣΟ ριζικά ώστε να φέρει τα πάνω κάτω σε αυτή τη πορεία. Φυσικά
λαμβάνοντας υπ'όψιν και το συντηρητισμό που έχει μέχρι και σήμερα.

Και για να μην είμαι αγενής το προγραμματάκι σας φυσάει!!!!!!!! Ένα pdf editor λείπει απο το linux....!!!!!!!!
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron