Προγραμματισμός

Τι νέο υπάρχει στη γλώσσα Swift 4.2 της Apple

Πριν από την προγραμματισμένη κυκλοφορία του Swift 5 το 2019, η Apple κυκλοφόρησε την ενδιάμεση έκδοση Swift 4.2.

Τρέχουσα έκδοση: Τι νέο υπάρχει στο Apple Swift 4.2

Η έκδοση 4.2 της γλώσσας προγραμματισμού Swift της Apple φέρνει τη γλώσσα πιο κοντά σε μια σταθερή διεπαφή δυαδικής εφαρμογής (ABI) και επιτρέπει τη δυαδική συμβατότητα για μελλοντικές εκδόσεις. Η σταθερότητα ABI επιτρέπει τη δυαδική συμβατότητα μεταξύ βιβλιοθηκών και εφαρμογών που συντάσσονται με διαφορετικές εκδόσεις της γλώσσας.

Αν και ο στόχος της Apple είναι η σταθερότητα, το Swift 4.2 δεν είναι συμβατό με δυαδικές εκδόσεις με προηγούμενες εκδόσεις. Ωστόσο, παρέχεται συμβατότητα πηγής. Ο περισσότερος πηγαίος κώδικας που δημιουργήθηκε με τον μεταγλωττιστή Swift 4.0 πρέπει να μεταγλωττιστεί με τους μετασχηματιστές Swift 4.2 και Swift 4.1.

Άλλα νέα χαρακτηριστικά στο Swift 4.2 είναι:

  • Βελτιώσεις γενικής χρήσης, αγκυροβολημένες με την ολοκλήρωση της υποστήριξης συμμόρφωσης υπό όρους, μειώνοντας την ποσότητα του κωδικού της πλάκας boiler και κάνοντας περισσότερο κώδικα επαναχρησιμοποιήσιμο.
  • Οι τυπικές λειτουργίες της βιβλιοθήκης περιλαμβάνουν βελτιώσεις στο πρωτόκολλο Hashable και ένα ενοποιημένο σύνολο λειτουργιών και πρωτοκόλλων τυχαιοποίησης.
  • Υποστήριξη συλλογής κατά παρτίδες, η οποία βελτιώνει τους χρόνους κατασκευής.
  • Μια αλλαγή στη σύμβαση κλήσεων για τον κύκλο διατήρησης / απελευθέρωσης, για μείωση του μεγέθους κώδικα και βελτίωση της απόδοσης.
  • Αναδρομική υποστήριξη μεταδεδομένων.
  • Πιο συμπαγή μεταδεδομένα αντανάκλασης.
  • Τα ορίσματα παραμόρφωσης περιλαμβάνονται σε ιστότοπους κλήσεων.
  • Διάφορες διορθώσεις σφαλμάτων, όπως για την κληρονομικότητα των γενικών αρχικοποιητών.
  • ο μεταγλωττιστής οδηγία που είναι συντακτικά ισοδύναμο με το # αν ταχεία έλεγχος έκδοσης αλλά ελέγχει την έκδοση του μεταγλωττιστή, ανεξάρτητα από το ποια λειτουργία συμβατότητας εκτελείται.
  • Νέες δυνατότητες διαχείρισης πακέτων Swift, συμπεριλαμβανομένης της υποστήριξης για τη λειτουργία δέσμης, με τους στόχους να συντάσσονται τώρα χρησιμοποιώντας αυτήν τη λειτουργία. βελτιωμένη λογική δημιουργίας σχεδίων · και αυτόματη δημιουργία έργου Xcode.

Πού να κατεβάσετε το Swift 4.2

Μπορείτε να κατεβάσετε το Swift 4.2 κατεβάζοντας το Xcode 10.0 IDE από την Apple.

Άλλα σχέδια για το Swift 4.2 περιλαμβάνουν:

  • Βελτιώσεις στην απόδοση του χρόνου μεταγλώττισης.
  • Οι συμβολοσειρές είναι τώρα 16 byte αντί για 24 byte. Η Apple το βλέπει αυτό ως μια καλή ανταλλαγή μεταξύ της χρήσης μνήμης και της απόδοσης, ενώ είναι αρκετά μεγάλη ώστε να κάνει μικρές βελτιστοποιήσεις συμβολοσειρών.
  • Τα API προσφέρονται για ευκολότερη δημιουργία τυχαίων αριθμών.
  • ο έχει εισαγωγή η οδηγία διαμόρφωσης build εκφράζει καλύτερα την πρόθεση κατά την κοινή χρήση κώδικα μεταξύ iOS και MacOS.

Προηγούμενη έκδοση: Τι νέο υπάρχει στο Swift 4.1

Κυκλοφόρησε στα τέλη Μαρτίου 2018, το Swift 4.1 προσθέτει περισσότερα γενικά στη γλώσσα καθώς και βελτιώσεις. Η έκδοση 4.1 είναι συμβατή με την πηγή με το Swift 4.0.

Οι προτάσεις σχετικά με τα γενικά που εφαρμόζονται στην έκδοση 4.1 περιλαμβάνουν συμμορφώσεις υπό όρους, εκφράζοντας την ιδέα ότι ένας γενικός τύπος θα συμμορφώνεται με ένα συγκεκριμένο πρωτόκολλο μόνο όταν τα ορίσματα τύπου πληρούν συγκεκριμένες απαιτήσεις. Αυτή η δυνατότητα αναμένεται να έχει μεγάλο αντίκτυπο στην τυπική βιβλιοθήκη Swift. Άλλες βελτιώσεις γενικής χρήσης περιλαμβάνουν:

  • Έχοντας συνθέσει τον μεταγλωττιστή Ισοδύναμο και Κατακερματισμός συμμόρφωση, για τη μείωση της πλάκας και της πολυπλοκότητας του λέβητα.
  • Δημιουργία τυπικών τύπων ευρετηρίου βιβλιοθήκης Κατακερματισμός.
  • Εξάλειψη του σχετικού τύπου, Ευρετήριο Απόσταση, από Συλλογή και τροποποιήστε τις χρήσεις στον τύπο σκυροδέματος, Εντ, αντι αυτου.

Επίσης, το Swift 4.1 είναι περισσότεροι τρόποι ρύθμισης παραμέτρων εκδόσεων, όπως βελτιστοποίηση μεγέθους κώδικα και ευκολότεροι μηχανισμοί στόχευσης πλατφόρμας και περιβαλλοντικής υποστήριξης.

Κάτω από την κουκούλα αλλαγές στην Έκδοση 4.1 πραγματοποιήθηκαν ως μέρος ενός σχεδίου σταθεροποίησης του ABI (εφαρμογή binary binary) στο Swift 5, το οποίο αναμένεται στα τέλη του τρέχοντος έτους. Αυτές οι αλλαγές κάτω από την κουκούλα περιλαμβάνουν τη χρήση ενός πεδίου μεγέθους λέξης στην κεφαλίδα εγγενών αντικειμένων για καταμέτρηση αναφοράς και ελέγχους των συναρτήσεων χρόνου εκτέλεσης. Επίσης, διάφορα περιτυλίγματα συλλογής καταρρέουν μέσω της χρήσης υπό όρους συμμόρφωσης.

Το Swift 4.1 βελτιώνει το Swift Package Manager. Επιλύει τώρα εξαρτήσεις σε γραφήματα πακέτων που χρησιμοποιούν σχήματα διευθύνσεων URL όπως ssh και http. Επίσης, η απόδοση έχει ενισχυθεί για γραφήματα πακέτων με κοινόχρηστες εξαρτήσεις.

Η αναβάθμιση 4.1 διαθέτει επίσης προτάσεις Swift εξέλιξης, συμπεριλαμβανομένης της κατάργησης λέξεων-κλειδιών ιδιοκτησίας, αδύναμος και αγνώστων, για δηλώσεις ιδιοκτησίας σε ένα πρωτόκολλο. Αυτό γίνεται για λόγους σαφήνειας. Επίσης, περιορίζονται οι αρχικοποιητές δομικών μονάδων. Αυτό ταιριάζει με έναν υπάρχοντα περιορισμό για τάξεις.

Πού να κατεβάσετε το Swift 4.1

Μπορείτε να πραγματοποιήσετε λήψη της αναβάθμισης Swift 4.1 από την ιστοσελίδα λήψης Swift. Επίσης, το Swift 4.1 διατίθεται με το Xcode 9.3 IDE, το οποίο διαθέτει μεταναστευτικό κώδικα για να χειρίζεται πολλές αλλαγές πηγής.

Προηγούμενη έκδοση: Τι νέο υπάρχει στο Swift 4.0

Το Swift 4.0 είναι μια σημαντική αναβάθμιση στο Apple Swift, το τρίχρονο διάδοχο της γλώσσας Objective-C που χρησιμοποιείται για την ανάπτυξη εφαρμογών MacOS και iOS.

Η αναβάθμιση Swift 4 βελτιώνει το Swift Package Manager και παρέχει νέες λειτουργίες συμβατότητας για προγραμματιστές. Η Apple είπε ότι το Swift 4 κάνει επίσης το Swift πιο σταθερό και βελτιώνει την τυπική βιβλιοθήκη του. Το Swift 4 είναι σε μεγάλο βαθμό συμβατό με την πηγή με το Swift 3 και αποστέλλεται ως μέρος του Xcode 9 IDE της Apple.

Τι νέο υπάρχει στον διαχειριστή πακέτων του Swift 4

Το Swift Package Manager, το οποίο έκανε το ντεμπούτο του στο Swift 3, είναι εργαλείο διανομής κώδικα. Είναι ενσωματωμένο στο σύστημα Swift build για αυτοματοποίηση διαδικασιών, συμπεριλαμβανομένης της λήψης, της μεταγλώττισης και της σύνδεσης εξαρτήσεων. Οι βελτιώσεις στον διαχειριστή πακέτων του Swift 4 περιλαμβάνουν:

  • Ένα καθαρότερο πακέτο API που επιτρέπει στα πακέτα να καθορίζουν νέες ρυθμίσεις. Αυτές οι ρυθμίσεις δίνουν στους προγραμματιστές μεγαλύτερο έλεγχο της δημιουργίας πακέτων και της οργάνωσης πηγών στο δίσκο.
  • Η ανάπτυξη πολλαπλών πακέτων σε συνδυασμό έγινε ευκολότερη.
  • Τυποποίηση προϊόντων πακέτου, επιτρέποντας τον έλεγχο των βιβλιοθηκών που ένα πακέτο δημοσιεύει στους πελάτες.
  • Τα πακέτα που βασίζονται σε MacOS εμφανίζονται τώρα σε ένα sandbox, αποτρέποντας την πρόσβαση στο δίκτυο και την τροποποίηση του συστήματος αρχείων, για να μειώσετε την εμβέλεια των κακόβουλων εκδηλώσεων.

Νέες λειτουργίες συμβατότητας στη μετεγκατάσταση βοήθειας Swift 4

Οι νέες λειτουργίες συμβατότητας του Swift 4 θα μπορούσαν να σας εξοικονομήσουν από την ανάγκη τροποποίησης κώδικα για να μπορείτε να χρησιμοποιήσετε τη νέα έκδοση του μεταγλωττιστή. Υποστηρίζονται δύο λειτουργίες, συμπεριλαμβανομένης της λειτουργίας Swift 3.2, η οποία δέχεται τα περισσότερα αρχεία προέλευσης που έχουν δημιουργηθεί με μεταγλωττιστές Swift 3.x και τη λειτουργία Swift 4.0, η οποία περιλαμβάνει αλλαγές Swift 4 και API.

Η Apple είπε ότι θα χρειαστεί κάποια μετεγκατάσταση πηγής για πολλά έργα, αλλά ο αριθμός των αλλαγών πηγής είναι «αρκετά μέτριος» σε σύγκριση με πολλές προηγούμενες σημαντικές αλλαγές μεταξύ των κυκλοφοριών Swift. Η εισαγωγή των λειτουργιών συμβατότητας στο Swift 4 δίνει στους προγραμματιστές μεγαλύτερο έλεγχο του ρυθμού μετεγκατάστασης.

Οι γλωσσικές βελτιώσεις αφθονούν στο Swift 4

Το Swift 4 παρουσιάζει πολλές βελτιώσεις γλώσσας, όπως:

  • Ταχύτερη και ευκολότερη στη χρήση Σειρά υλοποίηση διατηρώντας την ορθότητα του Unicode και υποστηρίζοντας την ανάπτυξη και τη χρήση υποστρωμάτων.
  • Βελτιωμένη χρήση και διαχείριση των τύπων συλλογής.
  • Επιβολή αποκλειστικής πρόσβασης στη μνήμη, στην οποία οι πιθανές τροποποιήσεις των μεταβλητών πρέπει να είναι αποκλειστικές με οποιαδήποτε άλλη πρόσβαση σε αυτήν τη μεταβλητή.
  • Δυνατότητα αρχειοθέτησης δομ και απαρίθμηση τύποι.
  • Ασφαλής σειριοποίηση σε εξωτερικές μορφές όπως το JSON.
  • Ακέραιοι προσανατολισμένοι στο πρωτόκολλο, που καθαρίζουν τα Integer API και τα καθιστούν πιο χρήσιμα για γενικό προγραμματισμό.
  • Υποστήριξη του όπου ρήτρες για τον περιορισμό των σχετικών τύπων. Προηγουμένως, οι σχετικοί τύποι θα μπορούσαν να εκφράζουν μόνο απλούς περιορισμούς κληρονομιάς και όχι πιο περίπλοκους περιορισμούς που διατίθενται σε γενικούς τύπους με το όπου ρήτρα.
  • Συμπερίληψη του γρήγορο τρέξιμο εντολή για την κατασκευή και εκτέλεση ενός εκτελέσιμου που ορίζεται στο τρέχον πακέτο.
  • Αφαίρεση του τελικός υποστήριξη λέξεων-κλειδιών κατά τη δήλωση συναρτήσεων σε επεκτάσεις πρωτοκόλλου.
  • Βελτιωμένη αλληλεπίδραση μεταξύ ιδιωτικός δηλώσεις και επεκτάσεις, με ιδιωτικός Ο έλεγχος πρόσβασης επεκτάθηκε έτσι τα μέλη που ορίζονται σε μια επέκταση ενός τύπου έχουν την ίδια πρόσβαση με τα μέλη που ορίζονται στον ίδιο τον τύπο, αρκεί ο τύπος και η επέκταση να βρίσκονται στο ίδιο αρχείο προέλευσης.