Ανάπτυξη Objective-C: Ξεκινήστε τη δημιουργία εφαρμογών Mac και iOS

Αποκάλυψη: Η υποστήριξή σας βοηθά στη διατήρηση της λειτουργίας του ιστότοπου! Κερδίζουμε ένα τέλος παραπομπής για ορισμένες από τις υπηρεσίες που προτείνουμε σε αυτήν τη σελίδα.


Το Objective-C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου που βασίζεται στο C, με πρόσθετες δυνατότητες και σύνταξη από το Smalltalk. Πρόκειται για ένα υπερσύνολο της γλώσσας C, που σημαίνει ότι οποιοσδήποτε έγκυρος κωδικός C θα εκτελείται σε έναν μεταγλωττιστή Objective-C. Αυτή ήταν μια σκόπιμη απόφαση που ελήφθη από τους σχεδιαστές της γλώσσας, οι οποίοι ήθελαν να διασφαλίσουν ότι η γλώσσα ήταν συμβατή με τις υπάρχουσες εφαρμογές και στοιχεία C, καθώς η γλώσσα αυτή χρησιμοποιήθηκε για την πλειονότητα του λειτουργικού συστήματος και των προγραμμάτων κοινής ωφέλειας μέχρι εκείνο το σημείο (αρχές της δεκαετίας του 1980).

Σύντομη ιστορία του Στόχου-Γ

Το Objective-C εφευρέθηκε στις αρχές της δεκαετίας του 1980 ως μέσο για την προσθήκη δυνατοτήτων προγραμματισμού με αντικειμενικό σκοπό στον C. Οι εφευρέτες, ο Brad Cox και ο Tom Love, πίστευαν ότι το Smalltalk (μια πρώτη γλώσσα OO) θα μπορούσε να παρέχει τα εργαλεία που απαιτούνται για πραγματικά επαναχρησιμοποιήσιμο κώδικα και για τη δημιουργία περιβάλλοντος ανάπτυξης για προγραμματιστές συστημάτων.

Ο Cox ξεκίνησε γράφοντας έναν προ-επεξεργαστή για το C που επέτρεπε την συμπερίληψη κώδικα που μοιάζει με Smalltalk, ο οποίος στη συνέχεια θα μετατραπεί σε μεταγλώττιση C. Αυτό μετατράπηκε σε επέκταση C με πλήρη αντικειμενικό προσανατολισμό.

Ο Στόχος-Γ τελικά ορίστηκε πλήρως και περιγράφηκε στο βιβλίο Object-Oriented Programming: An Evolutionary Approach.

Η NeXT διέθεσε άδεια χρήσης του Objective-C το 1988 και ανέπτυξε διάφορα εργαλεία βάσει αυτής. Αυτά τα εργαλεία τελικά έγιναν (μετά από αρκετά ενδιάμεσα βήματα) το περιβάλλον ανάπτυξης του κακάου, το οποίο χρησιμοποιείται από διάφορα συστήματα της Apple:

  • Mac OSX

  • iOS

  • Apple WatchOS

Εδώ και αρκετά χρόνια, οι εφαρμογές που γράφτηκαν για ένα από αυτά τα λειτουργικά συστήματα της Apple έπρεπε να γραφτούν (ή να μεταγλωττιστούν ή να εκτελεστούν πάνω) του Objective-C. Αυτή η κατάσταση αλλάζει τώρα καθώς η Apple μετακινεί την πλατφόρμα της στο Swift.

Εκτός από το κακάο, το Objective-C χρησιμοποιείται επίσης στην πλατφόρμα GNUstep, η οποία μπορεί να εκτελεστεί σε περιβάλλον Linux, Unix, BSD και Windows και που αντικατοπτρίζει στενά το κακάο.

Σχετικά με τη γλώσσα Objective-C

Ο Στόχος-Γ είναι μία από τις δύο κύριες παραλλαγές αντικειμενοστρεφή του C, η άλλη είναι C ++. Κάθε γλώσσα πήρε την υποκείμενη γλώσσα και εφάρμοσε τον Προσανατολισμό Αντικειμένου με διαφορετικό τρόπο. (Οι πιο πρόσφατες εκδόσεις του C ακολούθησαν το προβάδισμα του C ++, αντί του Objective-C, κατά την εφαρμογή του αντικειμενικού προσανατολισμού. Αυτό οδήγησε σε περαιτέρω απόκλιση μεταξύ C και Objective-C.)

Μηνύματα

Στις περισσότερες γλώσσες που προσανατολίζονται σε αντικείμενα, συμπεριλαμβανομένου του C ++, οι συναρτήσεις ενεργοποιούνται καλώντας μια μέθοδο σε ένα αντικείμενο. Αυτή η μέθοδος επίκλησης προέρχεται από τη Simula, την πρώτη αντικειμενοστρεφή γλώσσα.

Η σύνταξη του Objective-C για την επίκληση μιας συνάρτησης προέρχεται από το Smalltalk, όπου ένα μήνυμα μεταφέρεται σε ένα αντικείμενο.

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

Δυναμική πληκτρολόγηση

Το Objective-C, όπως και ο προκάτοχός του Smalltalk, μπορεί να επωφεληθεί από τη δυναμική πληκτρολόγηση. Αυτό σημαίνει ότι ένα αντικείμενο μπορεί να λαμβάνει μηνύματα που δεν καθορίζονται στη διεπαφή κλάσης – κάτι που θα προκαλούσε σφάλμα ή εξαίρεση στο C ++ και σε πολλές άλλες γλώσσες.

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

Κατηγορίες

Οι κατηγορίες είναι ένα είδος δομής superclass που επιτρέπει την προσθήκη μεθόδων σε τάξεις κατά το χρόνο εκτέλεσης. Αυτό επιτρέπει τις μεθόδους να προστεθούν στην ταξινόμηση χωρίς να μεταγλωττιστούν εκ νέου αυτές οι κλάσεις ή ακόμη και να έχουν πρόσβαση στον πηγαίο κώδικα. Μπορούν επίσης να αντικαταστήσουν τις υπάρχουσες μεθόδους τάξης.

Αυτή η δυνατότητα διευκολύνει τη συντήρηση και την επέκταση μεγάλων, περίπλοκων βάσεων κώδικα.

Διαδικτυακοί πόροι Objective-C

Ακολουθούν πόροι που θα σας βοηθήσουν να μάθετε και να χρησιμοποιήσετε το Objective-C. Υποδιαιρούνται σε διαφορετικές κατηγορίες, ώστε να μπορείτε να βρείτε πιο εύκολα τις πληροφορίες που αναζητάτε – είτε βασικά προγράμματα είτε προηγμένη εκπαίδευση ή εργαλεία Objective-C.

Σεμινάρια Objective-C και εισαγωγικό υλικό

Αυτά τα έγγραφα θα σας ξεκινήσουν ως προγραμματιστής Objective-C – ακόμα κι αν ξεκινήσετε χωρίς εμπειρία στη γλώσσα. Αν λοιπόν ξεκινήσετε, εδώ πρέπει να ξεκινήσετε.

  • Εισαγωγή στο Objective-C – Μια επισκόπηση του Objective-C από την Apple.

  • Εισαγωγή Objective-C – Μια βασική επισκόπηση του Objective-C και της πλατφόρμας OpenStep, από έναν προγραμματιστή που ασχολείται με μαθηματικά υψηλής απόδοσης.

  • Βασικές έννοιες προγραμματισμού για το κακάο και το κακάο Touch – Εισαγωγή στο περιβάλλον του κακάου.

  • Εισαγωγή στις Οδηγίες κωδικοποίησης για το κακάο – Γενικές πληροφορίες σχετικά με το API κακάου, το οποίο χρησιμοποιεί το Objective-C.

  • Σύνταξη τεκμηρίωσης για Objective-C – Ο οδηγός NSHipster για τεκμηρίωση Objective-C. (Δηλαδή, τεκμηρίωση γραμμένη για κώδικα, όχι για τη γλώσσα.)

  • Ο οδηγός για αρχάριους για το Objective-C: Γλώσσα και μεταβλητές – Ένα σεμινάριο Objective-C ενός αρχάριου από το Treehouse.

  • Δοκιμάστε το Objective-C – Μια δωρεάν, πενταμελή τάξη στο Objective-C από το Code School.

  • Μάθετε Objective-C σε 24 ημέρες – Ένα τεράστιο μάθημα 24 μερών στο Objective-C, από τον Feifan Zhou. (Δείτε επίσης αυτήν την πλήρη λίστα των μαθημάτων Objective-C στο binpress.)

  • Μάθετε Objective-C – Ένα άλλο μάθημα Objective-C πολλαπλών τμημάτων, από εκπαιδευτικούς+.

  • Cocoa Dev Central – Ένα εικονογραφημένο σεμινάριο για το Objective-C.

  • Ry’s Objective-C Tutorial – μια σύντομη γρήγορη αναφορά και μια ολοκληρωμένη εισαγωγή για τους νεοεισερχόμενους στη γλώσσα.

  • Tutorial Objective-C – Ένα αξιοπρεπές (όχι εκπληκτικό) σεμινάριο από το tutorialspoint.

Εργαλεία Objective-C

Τα ακόλουθα εργαλεία Objective-C θα κάνουν την κωδικοποίηση ευκολότερη και πιο ισχυρή. Αυτό ισχύει ιδιαίτερα με τα εργαλεία Objective-C που διατίθενται στο Apple Developer Network, το οποίο κοστίζει 99 $ ετησίως, αλλά αξίζει τον κόπο.

  • LispWorks για Mac – Περιλαμβάνει ένα API για τη δημιουργία κλάσεων Objective-C και μεθόδων κλήσεων – ανατρέξτε στο Εγχειρίδιο χρήσης και το εγχειρίδιο αναφοράς LispWorks Objective-C και Cocoa για περισσότερες λεπτομέρειες.

  • Objective-C Editor – περισσότερο ένα ολοκληρωμένο περιβάλλον ανάπτυξης από έναν επεξεργαστή, σας επιτρέπει να κάνετε όλη τη δουλειά μας σε ένα μέρος.

  • Δίκτυο προγραμματιστών της Apple – αν και δεν είναι το ίδιο το εργαλείο, το δίκτυο προγραμματιστών της Apple παρέχει πρόσβαση σε πολλά εξαιρετικά εργαλεία Objective-C όπως το Xcode IDE και το Foundation Framework.

  • Codebeat – ένα σύστημα ανάλυσης που θα σας βοηθήσει να βελτιώσετε τον κώδικά σας με έμφαση στην ανάπτυξη ιστού και κινητών.

Αναφορά

Τα ακόλουθα έγγραφα παρέχουν αποσπάσματα κώδικα, φύλλα εξαπάτησης και έγγραφα υπερκειμένου για να διευκολύνουν την κωδικοποίηση Objective-C.

  • Object Cheat Sheet – Γρήγορο φύλλο αναφοράς για κοινά θέματα υψηλού επιπέδου στο Objective-C.

  • NSHipster Fake Book – Πάνω από 200 γλείψιμα Objective-C για προγραμματιστές iOS και MacOS X.

  • Αναφορά χρόνου εκτέλεσης Objective-C – Από την Apple, όλα σχετικά με τις λειτουργίες υποστήριξης βιβλιοθήκης χρόνου εκτέλεσης OS X Objective-C 2.0 και δομές δεδομένων.

  • Φύλλο εξαπάτησης Objective-C και γρήγορη αναφορά – Μία σελίδα PDF που καλύπτει κοινά ζητήματα Objective-C. Ιδανικό για ανάρτηση στον τοίχο δίπλα στο μηχάνημα dev.

Εκδότες

Ακολουθούν μερικοί εκδότες που δημιουργούν περιεχόμενο που ενδιαφέρει τους προγραμματιστές Objective-C.

  • Το Objc.io – objc.io δημοσιεύει βιβλία για προηγμένες τεχνικές και πρακτικές για ανάπτυξη iOS και OS X.

  • NSHipster – ένα περιοδικό των παραμελημένων κομματιών στο Objective-C, το Swift και το κακάο.

Βιβλία για το Objective-C

Για όσους θέλουν να βρουν πραγματικά ένα θέμα, εδώ είναι μερικά από τα καλύτερα βιβλία που διατίθενται για το Objective-C. Περιλαμβάνουν βιβλία για εκείνους που μόλις ξεκινούν, εκείνους που επιθυμούν να αυξήσουν τις γνώσεις τους και εκείνους που χρειάζονται υλικό αναφοράς.

Εισαγωγικά βιβλία

  • Προγραμματισμός Objective-C: Ο οδηγός Big Nerd Ranch

  • Προγραμματισμός στο Objective-C

  • Εκπαιδευτικό πρόγραμμα Ry’s Objective-C

  • Παξιμάδια και μπουλόνια προγραμματισμού Objective-C

Προηγμένα βιβλία

  • Αποτελεσματικός Στόχος-C 2.0: 52 Συγκεκριμένοι τρόποι βελτίωσης των προγραμμάτων iOS και OS X

  • Pro Objective-C

  • Pro Objective-C Design Patterns για iOS

Βιβλία αναφοράς

  • Αναφορά τσέπης Objective-C

  • Αναφορά Quick Syntax Objective-C

Swift – Ο διάδοχος του Στόχου-Γ

Εάν μαθαίνετε το Objective-C, είναι μάλλον καλή ιδέα να ξεκινήσετε να μαθαίνετε το Swift.

Η κύρια χρήση για το Objective-C είναι οι εφαρμογές στην πλατφόρμα κακάου της Apple, στα τρία λειτουργικά τους συστήματα (OS X, iOS, WatchOS). Η Apple ανακοίνωσε ότι αυτές οι πλατφόρμες θα αλλάξουν τώρα στη νέα τους γλώσσα προγραμματισμού, Swift.

Εδώ είναι μερικοί πόροι Swift:

  • The Swift Language Programming – Ο εισαγωγικός οδηγός για το Swift, από την Apple. Δείτε επίσης το βιβλίο iBooks με το ίδιο όνομα, επίσης από την Apple.

  • Swift Cheat Sheet – Μια γρήγορη, υψηλού επιπέδου αναφορά στο Swift, από τον δημιουργό του cheat sheet Objective-C.

  • Χρήση Swift με κακάο και Objective-C

  • Λειτουργικός προγραμματισμός στο Swift

Συχνές ερωτήσεις

Εδώ έχουμε απαντήσει σε μερικές από τις πιο συχνές ερωτήσεις σχετικά με το Objective-C.

Τι είναι ο Στόχος-Γ?

Το Objective-C είναι ένα υπερσύνολο της γλώσσας προγραμματισμού C. Είναι ως επί το πλείστον σαν C, αλλά προσθέτει χαρακτηριστικά αντικειμενοστρεφούς τύπου Smalltalk.

Σε ποιες περιπτώσεις χρησιμοποιείται το Objective-C?

Ενώ είναι δυνατή η χρήση του Objective-C για τη σύνταξη εφαρμογών για οποιοδήποτε λειτουργικό σύστημα ή πλατφόρμα, η μόνη κύρια χρήση του Objective-C είναι για εφαρμογές Apple στα τρία λειτουργικά τους συστήματα: Mac OS X, iOS, WatchOS.

Πρέπει να χρησιμοποιήσω το Objective-C για εφαρμογές Apple?

Όχι. Υπάρχουν δύο άλλες επιλογές εκτός από το Objective-C:

  • Swift – Η γλώσσα προγραμματισμού Swift είναι ο διάδοχος του Objective-C, υποστηριζόμενος από την Apple για κάθε νέα ανάπτυξη εφαρμογών.

  • Σύνταξη ή εκτέλεση πάνω από το Objective-C ή το Swift – Υπάρχουν αρκετοί τρόποι για τη δημιουργία μη εγγενών εφαρμογών που λειτουργούν στο περιβάλλον της Apple. Για παράδειγμα:

    • Phonegap
    • Κωδικό όνομα Ένα

    • Διαμορφωτής

Είναι ο Στόχος-Γ νεκρός?

Όχι. Ο στόχος-Γ εξακολουθεί να είναι μια αξιόλογη γλώσσα για να μάθει, για τουλάχιστον μερικούς λόγους:

  • Προς το παρόν, τα API κακάου της Swift δεν είναι πλήρως ώριμα. Για κάποιο χρονικό διάστημα, το Objective-C θα συνεχίσει να είναι ο μόνος τρόπος για να εκμεταλλευτείτε πλήρως την πλατφόρμα του Κακάο.

  • Επιπλέον, τα θεμέλια για το κακάο γράφονται στο Objective-C. Αυτό είναι απίθανο να αλλάξει σύντομα, ακόμη και μετά την πλήρη ωρίμανση του Swift. Εάν θέλετε να γράψετε σύνθετες εφαρμογές που απαιτούν βαθιά κατανόηση της πλατφόρμας, θα χρειαστείτε το Objective-C.

  • Μέχρι πρόσφατα, όλες οι εφαρμογές της Apple γράφτηκαν στο Objective-C και πολλές εξακολουθούν να είναι. Αυτό σημαίνει ότι εάν έχετε την υποχρέωση να διατηρείτε, να επεκτείνετε ή να βελτιώσετε αυτές τις υπάρχουσες εφαρμογές, θα πρέπει να γνωρίζετε το Objective-C.

Πώς διαφέρει ο Objective-C από τον C?

Ο Στόχος-Γ περιλαμβάνει όλα τα C και, στη συνέχεια, προσθέτει αρχές Αντικειμενοστραφείς σε αυτό, χρησιμοποιώντας τη σύνταξη του Smalltalk.

Πώς διαφέρει ο Objective-C από τον C++?

Το C ++ και το Objective-C είναι και οι δύο ξεχωριστές λύσεις στο πρόβλημα της προσθήκης Object Orientation στη γλώσσα προγραμματισμού C.

Το Objective-C χρησιμοποίησε το Smalltalk ως μοντέλο για τον τρόπο υλοποίησης του Object Orientation, ενώ το C ++ χρησιμοποίησε το Simula.

Μπορώ να χρησιμοποιήσω το Objective-C σε συστήματα εκτός Apple?

Ναί. Το Objective-C μπορεί να χρησιμοποιηθεί οπουδήποτε, εφ ‘όσον ο απαιτούμενος χρόνος εκτέλεσης είναι εγκατεστημένος στο σύστημα.

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

Ίσως ο πιο επιτακτικός λόγος για τη χρήση του Objective-C σε περιβάλλον εκτός Apple θα ήταν κατά τη μεταφορά μιας εφαρμογής Apple σε Windows ή Linux. Σε αυτήν την περίπτωση, θα πρέπει επίσης να επαναλάβετε το πλαίσιο κακάου, το οποίο μπορείτε να κάνετε με το GNUstep.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map