Έρχεται η νέα έκδοση του συστήματος μεταγλώττισης QBS 2.0

QbS

Το Qbs είναι ένα σύστημα αυτοματισμού κατασκευής με γνώμονα την κοινότητα, γλωσσικά αγνωστικά. Είναι γρήγορο και προσφέρει μια εύκολη στην εκμάθηση γλώσσα βασισμένη στην QML.

Πρόσφατα ανακοινώθηκε η κυκλοφορία της νέας έκδοσης του Qbs 2.0, το οποίο είναι δωρεάν και ανοιχτού κώδικα λογισμικό πολλαπλών πλατφορμών για τη διαχείριση της διαδικασίας δημιουργίας λογισμικού. Σχεδιάστηκε για να υποστηρίζει μεγάλα και πολύπλοκα έργα, γραμμένα σε διάφορες γλώσσες προγραμματισμού, κυρίως C/C++.

Η νέα έκδοση Το 2.0 είναι σημαντικό σε αριθμό έκδοσης, καθώς σχετίζεται με την υλοποίηση ενός νέου backend JavaScript., το οποίο αντικατέστησε το QtScript, το οποίο είχε καταργηθεί στο Qt 6.

Για όσους δεν γνωρίζουν το Qbs, θα πρέπει να γνωρίζουν ότι αυτό χρησιμοποιεί μια απλοποιημένη έκδοση της γλώσσας QML για να ορίσετε σενάρια δημιουργίας έργου, επιτρέποντάς σας να ορίσετε αρκετά ευέλικτους κανόνες κατασκευής όπου μπορούν να συνδεθούν εξωτερικές μονάδες, να χρησιμοποιηθούν συναρτήσεις JavaScript και να δημιουργηθούν αυθαίρετοι κανόνες κατασκευής.

Το Qbs είναι μοναδικό σε αυτόe δεν έχει κανένα μηχανισμό για εσωτερικές μεταγλωττίσεις, εξασφαλίζοντας τη δυνατότητα δημιουργίας πολλαπλών δομών από ένα δέντρο πηγής, συμπεριλαμβανομένης της δημιουργίας από μία μόνο επίκληση εντολής και παράλληλα.

Αυτό είναι ένα βασικό χαρακτηριστικό, το οποίο διασφαλίζει ότι τα αρχεία προέλευσης δεν επηρεάζονται εάν διαγραφεί ένας κατάλογος έκδοσης και ότι δεν γράφονται τεχνουργήματα εξόδου στον κατάλογο προέλευσης. Για τη δημιουργία του Qbs, το Qt απαιτείται ως εξάρτηση, αν και το ίδιο το Qbs έχει σχεδιαστεί για να οργανώνει τη συναρμολόγηση οποιουδήποτε έργου.

Η γλώσσα δέσμης ενεργειών που χρησιμοποιείται στο Qbs είναι προσαρμοσμένη για να αυτοματοποιεί τη δημιουργία και την ανάλυση σεναρίων build από IDE. Επιπλέον, το Qbs δεν δημιουργεί makefiles και, χωρίς μεσάζοντες όπως το βοηθητικό πρόγραμμα make, ελέγχει την απελευθέρωση μεταγλωττιστών και συνδέσμων, βελτιστοποιώντας τη διαδικασία δημιουργίας με βάση ένα λεπτομερές γράφημα όλων των εξαρτήσεων.

Η παρουσία αρχικών δεδομένων σχετικά με τη δομή και τις εξαρτήσεις στο έργο σας επιτρέπει να παραλληλίσετε αποτελεσματικά την εκτέλεση λειτουργιών σε πολλά νήματα. Για μεγάλα έργα που αποτελούνται από μεγάλο αριθμό αρχείων και υποκαταλόγων, η απόδοση των ανακατασκευών με χρήση Qbs μπορεί να είναι αρκετές φορές καλύτερη από τη δημιουργία: η αναδόμηση είναι σχεδόν στιγμιαία και δεν σπαταλά τον χρόνο αναμονής του προγραμματιστή.

Οι κύριες καινοτομίες του QBS 2.0

Αυτή η νέα έκδοση του QBS 2.0 είναι αξιοσημείωτη όπως αναφέρθηκε στην αρχή, λόγω του νέα μηχανή JavaScript που έρχεται να αντικαταστήσει το QtScript το οποίο καταργήθηκε για το Qt 6, καθώς θεωρήθηκε μη ρεαλιστικό να συνεχίσει να υποστηρίζει το QtScript από μόνο του λόγω πολύπλοκων δεσμεύσεων στο JavaScriptCore.

Η προοπτική διατήρησης του QtScript με την περίπλοκη εξάρτησή του δεν φαινόταν ιδιαίτερα ελκυστική. Ωστόσο, κανένας από τους υποψηφίους δεν πρόσφερε ένα API για την παρεμπόδιση των προσβάσεων ιδιοκτησίας, κάτι που οι προγραμματιστές λένε ότι το χρειάζονται οπωσδήποτε για λόγους απόδοσης.

Από την πλευρά του χρήστη, δεν θα πρέπει να υπάρχουν αξιοσημείωτες αλλαγές. Συγκεκριμένα, η απόδοση φαίνεται να είναι περίπου η ίδια. Ωστόσο, το QtScript ήταν αρκετά επιεικό στην αποδοχή απροσδιόριστων τιμών σε περιβάλλοντα όπου δεν χρειαζόταν, επομένως η νέα εφαρμογή μπορεί να αποκαλύψει ορισμένα σφάλματα στα έργα σας.

Ο κινητήρας είναι συμβατός με την προδιαγραφή ES2019 και ξεπερνά σημαντικά τις υπάρχουσες αντίστοιχες επιδόσεις (XS κατά 35%, DukTape περισσότερες από δύο φορές, JerryScript τρεις φορές και MuJS επτά φορές). Από την άποψη της ανάπτυξης σεναρίου κατασκευής, η μετάβαση σε νέο κινητήρα δεν πρέπει να έχει ως αποτέλεσμα αξιοσημείωτες αλλαγές.

Η απόδοση θα παραμείνει επίσης περίπου η ίδια. Από τις διαφορές, υπάρχουν αυστηρότερες απαιτήσεις στη νέα μηχανή για τη χρήση μηδενικών τιμών, οι οποίες μπορούν να αποκαλύψουν προβλήματα σε υπάρχοντα έργα που πέρασαν απαρατήρητα κατά τη χρήση του QtScript.

Πέραν αυτού, αναφέρεται επίσης ότι αφαίρεσαν τα αρχεία έργου qmake, με αποτέλεσμα να μειωθούν οι εργασίες συντήρησης για προγραμματιστές.

Τέλος, αναφέρεται ότι στην έκδοση 2.1 θα ξαναγραφεί ο κώδικας με τον οποίο οι προγραμματιστές υποθέτουν ότι θα έχουν αρκετές νέες δυνατότητες, καθώς και γενικές βελτιώσεις στην απόδοση.

Εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Προσθήκη ως προτιμώμενης πηγής στην Google