Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

IDE για C++ cross-platform applications με GUI.

Îåêßíçóå áðü ôï ìÝëïò Apostolis. Τελευταία δημοσίευση από το μέλος troller_coaster στις 25-06-2015, 18:31. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-03-2013, 20:56 72411

    IDE για C++ cross-platform applications με GUI.

    Καλησπέρα σε όλους/όλες.

    Εχω ξεκινήσει να μαθαίνω C++ (προερχόμενος από την PHP και έχοντας ασχοληθεί λίγο με Visual Basic και Java) και θέλω να μάθω να φτιάχνω εφαρμογές με GUI κι όχι εφαρμογές που τρέχουν από "κονσόλα".
    Επίσης να τρέχουν και σε windows και σε linux.
    Για το λόγο αυτό δεν θέλω να "φυλακιστώ" σε IDE που φτιάχνουν εφαρμογές μόνο για τη μια ή την άλλη πλατφόρμα.
    Επίσης θέλω να δείνουν όσο το δυνατόν πιο ελεύθερο πεδίο για γράψιμο κώδικα κι όχι "αυτοματοποιημένη" συγγραφή προγραμμάτων, όπως στη Visual Basic για παράδειγμα.

    Για τους λόγους αυτούς προσανατολίζομαι μακριά από Visual Studio και Qt.
    Γνωρίζω το Netbeans (από την Java) αλλά νομίζω πως δεν κάνει την δουλειά που θέλω.

    Εχετε να προτείνεται κάποιο άλλο IDE ή κάποιας άλλης μορφής πρόγραμμα που να είναι πιο κατάλληλο;

  •  08-04-2013, 11:34 72431 σε απάντηση της 72411

    Απ: IDE για C++ cross-platform applications με GUI.

    Τα πράγματα με τη C++ είναι πολύ διαφορετικά από την VB και την PHP. Άσε που "αυτοματοποιημένη" συγγραφή προγραμμάτων στη VB δεν υπάρχει, εκτός και αν μένεις στους event handlers που δημιουργούνται όταν κάνεις double click σε ένα κουμπί.


    Επιπλέον, η C++ ΔΕΝ χρησιμοποιείται για δημιουργία UI-centric εφαρμογών, εκτός και αν πρόκειται για πάρα πολύ ειδική περίπτωση (π.χ. δημιουργία UI για embedded συσκευή). Χρησιμοποιείται κατά κόρον όμως σε high-performance programming, system programming και δημιουργία βιβλιοθηκών. Γι αυτό και δεν υπάρχει σοβαρή προσπάθεια standardization (καθόλου για την ακρίβεια ...) στο τομέα του UI.

    Καταρχήν, ΔΕΝ υπάρχει κάποιο cross-platform UI εκτός ίσως από το ... Qt. Το κάθε λειτουργικό παρέχει τους δικούς του μηχανισμούς για windowing και UI γενικότερα, ενώ στο Linux ο κάθε Windows Manager είναι σε ένα βαθμό και ξεχωριστός μηχανισμός. Άλλο το Gnome, άλλο το παλιό-καλό X11 και φυσικά, άλλο ο μηχανισμός των Windows. Εντελώς χονδρικά, όλα τα windows συστήματα βασίζονται σε παράθυρα και ανταλλαγή μηνυμάτων μεταξύ τους.

    Από εκεί και πέρα όμως, τα πάντα διαφέρουν, είτε μιλάμε για τη δομή των μηνυμάτων, είτε για τον τρόπο αποστολής και λήψης. Δεν συζητάμε καν για το είδος των widgets, τις ή δυνατότητες τους. Πάνω από αυτούς τους μηχανισμούς κάθονται τώρα οι διάφορες γλώσσες και frameworks. Τα frameworks χαμηλού επιπέδου όπως η MFC για τα Windows παρέχουν wrappers πάνω από τα χύμα handles και messages. Το Qt παρέχει abstraction ανωτέρου επιπέδου το οποίο προσπαθεί να κρύψει τις διαφορές μεταξύ των συστημάτων. Γλώσσες όπως η VB και η Java κρύβουν εντελώς τον μηχανισμό του message loop που υπάρχει από κάτω και παρέχουν πράγματα όπως τα events, τα οποία ΔΕΝ υπάρχουν στο ίδιο το λειτουργικό.

    Για να καταλάβεις για τί μιλάμε, αν δοκιμάσεις να φτιάξεις μόνος σου το UI o κώδικας που θα πρέπει να γράψεις για τη διαχείριση του UI μπορεί να φτάσει στο 80% όλης της εφαρμογής. Το Qt, η VB, η Java θα σου κρύψουν το 75% αυτού του κώδικα.

    Όσο για το IDE τώρα, εξαρτάται από το λειτουργικό σου και τον compiler που θέλεις να χρησιμοποιήσεις. Από τη στιγμή όμως που δεν μπορείς να κάνεις "cross-platform" debugging, είναι μάλλον ανούσιο να συζητάς για cross-platform IDE. Στα Windows, το Visual Studio είναι ίσως ο γρηγορότερος απ' όλους και μπορείς να ενσωματώσεις compilers για άλλα λειτουργικά, με δυσκολία όμως.

    Για Linux δεν ξέρω, αλλά είμαι 100% σίγουρος ότι αν ανοίξεις ένα package manager και επιλέξεις τα εργαλεία για C++ θα σου βάλει τουλάχιστον 3-4 διαφορετικά IDE. Έχε υπόψη όμως ότι πολύς κόσμος χρησιμοποιεί τον editor που προτιμά (π.χ. Emacs) και βασίζεται σε command line για το compile και build management


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  08-04-2013, 11:49 72432 σε απάντηση της 72431

    Απ: IDE για C++ cross-platform applications με GUI.

    Συγγνώμη για το χάλι αλλά το site έχει θέμα με τον MCE Editor. Τϊ προσπαθείς να κάνεις με τη C++? Από τη μία η C++ δεν χρησιμοποιείται τόσο για UI, από την άλλη κανείς δεν ασχολείται με το χύμα message-passing. Διαφορετικά το 80% του κώδικα θα ήταν απλό Plumbing. Τέλος, το cross-platform είναι αμφιλεγόμενο καθώς ό,τι και να χρησιμοποιήσεις, το τελικό UI θα είναι ένας κακός συμβιβασμός
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  17-04-2013, 10:06 72492 σε απάντηση της 72432

    Απ: IDE για C++ cross-platform applications με GUI.

    Καλημέρα, σε ευχαριστώ πολύ για τις απαντήσεις.

     

    Απ' ότι κατάλαβα από το πρώτο σου post μάλλον θα πρέπει να "διαλέξω" κάποια πλατφόρμα/λειτουργικό για να δουλέψω πάνω σε αυτή ή θα πρέπει να χρησιμοποιήσω Qt.

    Οσον αφορά το τι θέλω να κάνω με την C++.

    Οχι κάτι συγκεκριμένο, απλώς προσπαθώ να μάθω τη γλώσσα και προσπαθώντας να βρω κάποιο IDE που να με "βολεύει" μου δημιουργήθηκε αυτή η απορία.

     

    Μια απορία όμως, τι εννοείς high performance programming.

  •  25-06-2015, 18:31 77114 σε απάντηση της 72492

    Απ: IDE για C++ cross-platform applications με GUI.

    Για cross-platform (και μη) χρησιμοποιώ wxWidgets, την οποία τη θεωρώ μακράν πιο ανθρώπινη από την MFC. Αυτό που είναι ακόμα πιο απολαυστικό είναι η χρήση της με python. Ρίξε μια ματιά αν θες:


    http://www.wxwidgets.org/

    http://www.wxpython.org/

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems