Η Microsoft ανακοίνωσε το έργο Rust/WinRT
Η Microsoft ανακοίνωσε το έργο Rust/WinRT που παρέχει έναν φυσικό και ιδιωματικό τρόπο στους προγραμματιστές της Rust να καλούν τα API των Windows. Το Rust/WinRT σάς επιτρέπει να καλείτε οποιοδήποτε WinRT API παρελθόν, παρόν, και μελλοντική χρήση κώδικα που δημιουργείται εν κινήσει απευθείας από τα μεταδεδομένα που περιγράφουν το API και απευθείας στο πακέτο Rust όπου μπορείτε να τα καλείτε σαν να ήταν απλώς ένα άλλο Rust μονάδα μέτρησης.
Ο χρόνος εκτέλεσης των Windows βασίζεται σε Component Object Model (COM) API κάτω από την κουκούλα και έχει σχεδιαστεί για πρόσβαση μέσω προβολών γλώσσας όπως C++/WinRT και Rust/WinRT. Αυτές οι γλωσσικές προβολές λαμβάνουν τα μεταδεδομένα που περιγράφουν διάφορα API και παρέχουν φυσικούς δεσμούς για τη γλώσσα προγραμματισμού στόχου. Αυτό επιτρέπει στους προγραμματιστές να δημιουργούν πιο εύκολα εφαρμογές και στοιχεία για Windows χρησιμοποιώντας τη γλώσσα που επιθυμούν. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτά τα API των Windows για να δημιουργήσετε εφαρμογές επιτραπέζιου υπολογιστή, να αποθηκεύσετε εφαρμογές, ένα στοιχείο, υπηρεσία NT ή πρόγραμμα οδήγησης συσκευής.
Ακολουθεί ένα απλό παράδειγμα του Rust που καλεί ένα API των Windows.
χρήση windows:: data:: xml:: dom::*; let doc = XmlDocument:: new(); doc.load_xml("Γειά σου Κόσμε")?; έστω root = doc.document_element(); διεκδικώ!(root.node_name(); == "html"); διεκδικώ!(root.inner_text(); == "γεια σου κόσμε");
Για πιο ουσιαστικό παράδειγμα, μπορείτε να δείτε το ακόλουθο παιχνίδι Minesweeper που υλοποιήθηκε χρησιμοποιώντας το Rust/WinRT: https://github.com/robmikh/minesweeper-rs
Η Microsoft σημείωσε ότι πρόκειται για μια πολύ πρώιμη δημόσια προεπισκόπηση, επομένως θα ακολουθήσουν περισσότερες δυνατότητες και επιδιορθώσεις στο μέλλον. Η αρχική σελίδα του έργου βρίσκεται στο GitHub:
https://github.com/microsoft/winrt-rs