170 γραμμές
17 KiB
Markdown
170 γραμμές
17 KiB
Markdown
|
+++
|
|||
|
title = 'KDevelop'
|
|||
|
date = '1999-04-01T00:00:00Z'
|
|||
|
description = ''
|
|||
|
author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)'
|
|||
|
issue = ['Magaz 15']
|
|||
|
issue_weight = 1
|
|||
|
+++
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
*Το [Kdevelop](http://www.cs.uni-potsdam.de/~smeier/kdevelop/index.html), είναι ένα Intergrated Development Environment που τρέχει σε Linux μηχανήματα με τις
|
|||
|
KDE libraries και την QT και έχει την δυνατότητα να παράγει C++ προγράμματα, τα οποία είτε στηρίζονται σε KDE, ή σε QT, ή τέλος απλά προγράμματα κονσόλας.*
|
|||
|
|
|||
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
**1. Εμφάνιση**
|
|||
|
------------------------------------------
|
|||
|
|
|||
|
- [1.1 Το αριστερό τμήμα](#ss1.1)
|
|||
|
- [1.2 Το δεξί τμήμα](#ss1.2)
|
|||
|
- [1.3 Το κάτω τμήμα](#ss1.3)
|
|||
|
- [1.4 Τα toolbars](#ss1.4)
|
|||
|
- [1.5 Το menu bar](#ss1.5)
|
|||
|
|
|||
|
**2. Λειτουργία - Ευκολίες.**
|
|||
|
--------------------------------------------------------
|
|||
|
|
|||
|
- [2.1 Application Wizard](#ss2.1)
|
|||
|
- [2.2 Documentation](#ss2.2)
|
|||
|
- [2.3 Tools](#ss2.3)
|
|||
|
|
|||
|
**3. Visual**
|
|||
|
----------------------------------------
|
|||
|
|
|||
|
**4. Τι λείπει\...**
|
|||
|
-----------------------------------------------
|
|||
|
|
|||
|
**5. Επίλογος**
|
|||
|
------------------------------------------
|
|||
|
|
|||
|
|
|||
|
### [1. Εμφάνιση]{#s1}
|
|||
|
|
|||
|
Το κεντρικό παράθυρο του Kdevelop χωρίζεται σε τρία επιμέρους παράθυρα. Επίσης έχει δύο toolbars, και βέβαια μία σειρά από μενού. Ας ξεκινήσουμε με τα
|
|||
|
υποπαράθυρα.
|
|||
|
|
|||
|
### [1.1 Το αριστερό τμήμα]{#ss1.1}
|
|||
|
|
|||
|
Το αριστερό τμήμα, έχει 4 ταμπέλες, με ονόματα CV (Class Viewer), LFV (Logical File Viewer), RFV (Real File Viewer) και DOC (Documentation Tree).
|
|||
|
|
|||
|
Στο **Class Viewer** βλέπουμε ιεραρχικά τις classes που έχει το πρόγραμμά μας, μαζί με τα elements της κάθε class, όπως constructor, destructor, functions που
|
|||
|
έχουμε φτιάξει εμείς, αλλά και τα δεδομένα. Έτσι έχουμε μία περιληπτική εικόνα μίας class που έχουμε δημιουργήσει, η οποία μπορεί να δημιουργεί τελικά 500-600
|
|||
|
γραμμές κώδικα (constructor, functions κλπ). Το Application Wizard του Kdevelop έχει αναλάβει να μας φτιάξει τον ορισμό της Class σε ένα .h αρχείο, και την
|
|||
|
υλοποίηση σε ένα .cpp. Με ένα απλό κλικ πάνω σε ένα από τα elements, θα μεταφερθούμε στο δεξί παράθυρο, στο element αυτό. Αν κάνουμε κλικ πάνω σε ένα Class, ή
|
|||
|
σε μία μεταβλητή του class θα μεταφερθούμε στο header αρχείο, ενώ αν κάνουμε κλικ πάνω σε μία function θα μεταφερθούμε στο source αρχείο. Επίσης στο Class
|
|||
|
Viewer εμφανίζονται και οι global variables, functions και structures.
|
|||
|
|
|||
|
Στο **Logical File Viewer** βλέπουμε τα αρχεία που αποτελούν το project μας, χωρισμένα \"θεματικά\". Δηλαδή χωριστά τα sources, χωριστά τα headers, χωριστά το
|
|||
|
Documentation. Πάλι πατώντας σε κάποιο αρχείο, μεταφερόμαστε στο δεξί παράθυρο σε αυτό το αρχείο.
|
|||
|
|
|||
|
Στο **Real File Viewer** βλέπουμε όλα τα αρχεία όπως θα τα βλέπαμε από ένα File Manager, δηλαδή με το directory structure που είναι στον δίσκο μας.
|
|||
|
|
|||
|
Τέλος, στο **Documentation Tree** έχουμε το manual και το tutorial του Kdevelop, το documentation της QT-Library και των KDE-Classes, ένα C/C++ Reference και
|
|||
|
(φυσικά) το documentation του δικού μας project. Για να τα δούμε όλα αυτά βέβαια, πρέπει να έχουμε εγκαταστήσει και τα απαραίτητα αρχεία. Αντίστοιχα με όσα
|
|||
|
είδαμε προηγουμένως, ένα κλικ σε κάποιο στοιχείο, μας μεταφέρει στο δεξί παράθυρο, στο στοιχείο αυτό.
|
|||
|
|
|||
|
Το τμήμα αυτό ενεργοποιείται με τον συνδυασμό πλήκτρων *Ctrl-T*
|
|||
|
|
|||
|
### [1.2 Το δεξί τμήμα]{#ss1.2}
|
|||
|
|
|||
|
Το δεξί τμήμα έχει επίσης 4 ταμπέλες, με ονόματα Header/Resource Fles, C/C++ Files, Documentation-Browser και Tools.
|
|||
|
|
|||
|
Ανάλογα με το τι έχουμε επιλέξει από το αριστερό παράθυρο, μεταφερόμαστε στο σχετικό τμήμα του δεξιού. Αν δηλαδή επιλέξουμε κάτι που πρέπει να μας στείλει σε
|
|||
|
ένα header θα βρεθούμε στο Header/Resource File τμήμα, ενώ αν επιλέξουμε μία Function, θα βρεθούμε στο C/C++ Files τμήμα. Τα δύο αυτά τμήματα είναι editable,
|
|||
|
ενώ το Documentation-Browser και το Tools είναι \"Read-Only\". Στο μεν Documentation-Browser βλέπουμε (όπως λέει και το όνομα) documentation, ενώ το Tools
|
|||
|
φαίνεται να είναι ένα Virtual παράθυρο, στο οποίο ανοίγουν κάποια εξωτερικά προγράμματα (πιο πολλά για αυτό παρακάτω).
|
|||
|
|
|||
|
Το τμήμα αυτό είναι πάντα ορατό και δεν μπορεί να απενεργοποιηθεί.
|
|||
|
|
|||
|
### [1.3 Το κάτω τμήμα]{#ss1.3}
|
|||
|
|
|||
|
Τέλος, το τρίτο μέρος (το κάτω), έχει τρεις ταμπέλες με ονόματα STDIN, STDERR και STDOUT. Όπως καταλαβαίνετε και από τα ονόματα, είναι η είσοδος, έξοδος και
|
|||
|
error του προγράμματός μας (και από το λίγο που είδα, δεν κάνουν αυτόματο redirect αν το κάνουμε εμείς από το πρόγραμμα).
|
|||
|
|
|||
|
Το τμήμα αυτό ενεργοποιείται με τον συνδυασμό πλήκτρων *Ctrl-G*
|
|||
|
|
|||
|
### [1.4 Τα toolbars]{#ss1.4}
|
|||
|
|
|||
|
Εξ ορισμού το Kdevelop ανοίγει με δύο toolbars, με το ένα να έχει τα κλασικά File Open, File Save, Open Project, Print File, Undo, Redo, Cut, Copy, Paste, και
|
|||
|
τα πιο ειδικά, Compile file, Make, Rebuild, Debug, Run και Context-sensitive Help. Όλα αυτά παρέχονται για ευκολία, αφού οι ίδιες επιλογές (και περισσότερες
|
|||
|
όπως θα περιμέναμε) παρέχονται στο menu-bar.
|
|||
|
|
|||
|
Το δεύτερο toolbar είναι πιο ειδικό, αφού παρέχει μία αντίστοιχη λειτουργία με το Class Viewer του αριστερού τμήματος της οθόνης.
|
|||
|
|
|||
|
### [1.5 Το menu bar]{#ss1.5}
|
|||
|
|
|||
|
Στα menus θα βρούμε τις επιλογές για να καλέσουμε τον Application Wizard, να προσθέσουμε ένα νέο αρχείο στο project μας, να δημιουργήσουμε μία νέα class, επίσης
|
|||
|
να \"τρέξουμε\" το autoconf, το configure ή να κάνουμε ένα απλό distclean, να δώσουμε execution arguments στο project μας, και τέλος να δημιουργήσουμε
|
|||
|
documentation. Υπάρχουν βέβαια όσες λειτουργίες υπάρχουν και στο πρώτο toolbar που αναφέραμε παραπάνω, καθώς και τα search, goto-line, configure (kdevelop,
|
|||
|
editor, printer, tools).
|
|||
|
|
|||
|
|
|||
|
### [2. Λειτουργία - Ευκολίες.]{#s2}
|
|||
|
|
|||
|
### [2.1 Application Wizard]{#ss2.1}
|
|||
|
|
|||
|
Πρόκειται για ένα interactive tool, το οποίο μας επιτρέπει μέσα από 6 βήματα, να δημιουργήσουμε τον σκελετό για την εφαρμογή μας. Οι επιλογές είναι Full KDE
|
|||
|
Application (με menu bar και toolbar), KDE mini-application (χωρίς menu bar και toolbar, μόνο τα βασικά Widgets του KDE για τη δημιουργία παραθυρικού
|
|||
|
περιβάλλοντος), QT application (με menu bar και toolbar, φτιαγμένα από Widgets της QT) και τέλος C/C++ application (καθόλου παραθυρικό interface).
|
|||
|
|
|||
|
Σε κάθε περίπτωση, ο Application Wizard δημιουργεί τη standard δομή αρχείων για την εφαρμογή μας, ένα main window αν πρόκειται για παραθυρική εφαρμογή, και
|
|||
|
\"κανονίζει\" τα autoconf, automake κλπ ούτως ώστε μόλις η εφαρμογή μας είναι έτοιμη να μπορεί να γίνει ένα tar.gz όπως όλες οι εφαρμογές για KDE που βλέπουμε
|
|||
|
και να μπορεί να διανεμηθεί.
|
|||
|
|
|||
|
Δίνοντάς του τα στοιχεία μας (ονοματεπώνυμο, e-mail, όνομα εφαρμογής, version εφαρμογής), μπορεί επίσης να μας δημιουργήσει templates, με ένα κάποιο standard
|
|||
|
κείμενο στην αρχή (το οποίο εμείς ορίζουμε), για τα sources και τα headers της εφαρμογής.
|
|||
|
|
|||
|
Επίσης δημιουργεί κάποια τυπικά αρχεία τα οποία περιέχονται (ή πρέπει να περιέχονται) σε κάθε εφαρμογή, όπως το README, ένα .lsm αρχείο, ένα changelog, ένα todo
|
|||
|
και ένα authors. Μόλις ο Application Wizard τελειώσει την δουλειά του, έχουμε και το Documentation του προγράμματός μας σχεδόν έτοιμο, εφόσον δημιουργεί και τον
|
|||
|
κορμό για αυτό.
|
|||
|
|
|||
|
### [2.2 Documentation]{#ss2.2}
|
|||
|
|
|||
|
Σε περίπτωση που κατεβάσουμε το QT documentaion, τα KDE-libs και το c/c++ reference που υπάρχει στην σελίδα του Kdevelop, το Kdevelop τα βρίσκει (είτε αυτόματα,
|
|||
|
ή με λίγη βοήθεια από εμάς και το configuration) και μας παρέχει τη δυνατότητα να έχουμε στα χέρια μας ένα πολύ ισχυρό εργαλείο, αφού έχουμε το documentation
|
|||
|
μέσα στην ίδια την εφαρμογή. Αν δε δεν βαριόμαστε και κατεβάσουμε και το glimpse, φτάνουμε στο σημείο να έχουμε και ένα real-time searching του documentation
|
|||
|
για λέξεις - κλειδιά, με την απλή επιλογή lookup που παρέχεται στο δεξί πλήκτρο του ποντικιού μας. Όλο το documentation είναι σε HTML format, με hyperlinks που
|
|||
|
παραπέμπουν στις αντίστοιχες κλάσεις και functions. Η χρησιμότητα αυτού είναι βέβαια εμφανής, και θα πάψει να είναι τόσο χρήσιμο μόνο για όσους έχουν ένα βιβλίο
|
|||
|
reference της QT.
|
|||
|
|
|||
|
### [2.3 Tools]{#ss2.3}
|
|||
|
|
|||
|
Το Kdevelop συνεργάζεται άψογα με τα Kdbg, Kiconedit, Kdialog και Κdoc, σε περίπτωση βέβαια που τα έχουμε στον υπολογιστή μας εγκατεστημένα. Όλα αυτά τα
|
|||
|
εργαλεία μπορούν να κληθούν από το menu-bar, αφού πρώτα οριστούν από ένα Tools-configuration menu-item, και εφόσον κληθούν εκτελούνται στο τμήμα Tools του
|
|||
|
δεξιού παραθύρου της εφαρμογής. Το Kdbg που το δοκίμασα εκτενώς με ικανοποίησε απόλυτα, και σε ότι αφορά τις debugging λειτουργίες του (front-end για το gdb)
|
|||
|
αλλά και σε ότι αφορά το integration με το Kdevelop. Δοκίμασα επίσης το Kdialog, το οποίο είναι ο \"visual dialog editor\" για το KDE. Δεν ξέρω αν έκανα εγώ
|
|||
|
κάποιο λάθος (αρκετά πιθανό) αλλά το Kdialog μου φάνηκε \"λίγο\" για dialog editor. Οι επιλογές του είναι πολύ λίγες (δηλαδή τα widgets που παρέχει), αλλά πολύ
|
|||
|
promising. Έχει μόλις 7 QΤ-widgets, αλλά έχει property editor, και auto-generation του source code. Αν θυμηθούμε βέβαια ότι το Kdevelop είναι ακόμα σε Alpha
|
|||
|
έκδοση, και το KDialog παρέχεται μόνο στα snapshots (και όχι στην alpha-release) τα παραπάνω φαίνονται λίγο - πολύ λογικά.
|
|||
|
|
|||
|
|
|||
|
### [3. Visual]{#s3}
|
|||
|
|
|||
|
Όχι, το KDevelop δεν είναι visual IDE, τουλάχιστον όχι όπως το έμαθα εγώ με την Visual Basic 1.0 του 1992 (το μόνο Visual κάτι που έχω δουλέψει, άρα το μόνο με
|
|||
|
το οποίο μπορώ να συγκρίνω). Αν περιμένετε drag and drop δημιουργία dialogs, θα χρειαστεί να περιμένετε μέχρι τουλάχιστον μία beta έκδοση. Από την άλλη μεριά,
|
|||
|
για πολύ \"μπερδεμένα\" dialogs μπορείτε να χρησιμοποιήσετε το QTarchitect, και για πολύ απλά, η QT είναι τόσο εύκολη, που μπορείτε να τα φτιάξετε με το
|
|||
|
χέρι\...
|
|||
|
|
|||
|
|
|||
|
### [4. Τι λείπει\...]{#s4}
|
|||
|
|
|||
|
Η μόνη σοβαρή παράλειξη που βρήκα, ήταν ένα CVS τύπου σύστημα, ενσωματωμένο μέσα στο Kdevelop. Πιστεύω ότι σε μετέπειτα εκδόσεις αυτό θα είναι διαθέσιμο, μια
|
|||
|
που είναι πολύ σημαντικό εργαλείο για όποιον γράφει κώδικα.
|
|||
|
|
|||
|
|
|||
|
### [5. Επίλογος]{#s5}
|
|||
|
|
|||
|
Το 1992 δοκίμασα την τότε Visual Basic έκδοση 1.0 Αν και ήξερα δυο τρία πράγματα από Basic, πρέπει να παραδεχτώ ότι είχα χάσει τον μπούσουλα. Ναι μεν έγραφα
|
|||
|
προγράμματα, ναι μεν εγώ (νόμιζα ότι) έγραφα τον κώδικα, αλλά και για την παραμικρή αλλαγή έπρεπε να ανοίξω την Visual Basic γιατί δεν καταλάβαινα τι και από
|
|||
|
που έπρεπε να το πειράξω\... Με λίγα λόγια, μη γνωρίζοντας όσα έπρεπε για προγραμματισμό, κατάφερα να γράψω έναν file-manager!!! Έτσι, ποτέ δεν ήμουνα υπέρ των
|
|||
|
\"Visual κάτι\", γιατί πίστευα ότι \"χαλάνε\" την πιάτσα (και τους μισθούς) των προγραμματιστών (όχι, εγώ ΔΕΝ είμαι προγραμματιστής), δίνοντας την δυνατότητα
|
|||
|
στον κάθε άσχετο (όπως εγώ τότε) να φτιάξει κάτι. Αυτό όμως που παρέχει το Kdevelop το εκτίμησα, επειδή απλά μου γλύτωσε 2-3 ώρες που θα έπρεπε να φάω, για να
|
|||
|
φτιάξω τα standard αρχεία, τα templates κλπ. Μου \"οργάνωσε\" την δουλειά μου, κάτι πολύ χρήσιμο, τουλάχιστον για μένα!!! Επίσης, μου έδωσε τη δυνατότητα να
|
|||
|
μπορώ να ανατρέξω στο documentation της QT εύκολα και γρήγορα, απαιτώντας από εκεί και πέρα από εμένα, να καταλάβω τι είναι αυτά που διαβάζω\... Με λίγα λόγια,
|
|||
|
το Kdevelop είναι για προγραμματιστές, ή για όσους σκαμπάζουν δυο-τρία πράγματα. ΔΕΝ είναι για να το πιάσει ένα παιδάκι και να \"γράψει\" μία εφαρμογή. Αν και
|
|||
|
πιστεύω ότι στις τελικές εκδόσεις θα φτάσει να είναι ένα τέτοιο πράγμα, (επαναλαμβάνω, δυστυχώς κατ\' εμέ), πάλι θα είναι ένα ισχυρότατο εργαλείο για
|
|||
|
προγραμματιστές. Το προτείνω ανεπιφύλακτα στους απανταχού KDE-QT προγραμματιστές, με όσο βάρος μπορεί να έχει η γνώμη ενός hobbίστα προγραμματιστή.
|
|||
|
|