Τι είναι η σχέση μεταξύ SDK και API;
Στην ανάπτυξη λογισμικού, καθώς η κλίμακα των συστημάτων αυξάνεται συνεχώς, είναι υψίστης σημασίας να διασπαστούν τα σύνθετα συστήματα σε μικρότερα συστατικά, όπου ο σχεδιασμός των διεπαφών προγραμματισμού είναι ιδιαίτερα κρίσιμος. Η πρώτη προτεραιότητα του σχεδιασμού διεπαφών είναι η λογική κατανομή των ευθυνών του συστήματος λογισμικού. Ένας καλός σχεδιασμός διεπαφών μπορεί να μειώσει την εξάρτηση μεταξύ των διαφόρων τμημάτων του συστήματος, να βελτιώσει τη συνοχή των modules και ταυτόχρονα να μειώσει τη σύζευξη μεταξύ των modules, βελτιώνοντας έτσι τη συντηρησιμότητα και την επεκτασιμότητα του συστήματος. Το API, ως μια μορφή διεπαφής, διαδραματίζει σημαντικό ρόλο στις αλληλεπιδράσεις μεταξύ προγραμμάτων, ενώ το SDK και το API έχουν στενή σχέση.
01 API
(1) Η έννοια του API
Το API, πλήρες όνομα "Application Programming Interface", είναι ένα σύνολο προκαθορισμένων συναρτήσεων που έχουν σχεδιαστεί για να λειτουργούν ως "διεπαφή" σύνδεσης δύο διαφορετικών πραγμάτων. Παρέχει έναν τρόπο για εφαρμογές και προγραμματιστές να έχουν πρόσβαση σε ρουτίνες ενός λογισμικού ή υλικού, χωρίς να χρειάζεται να αγγίξουν τον πηγαίο κώδικα ή να κατανοήσουν τις λεπτομέρειες του εσωτερικού του μηχανισμού.
Στην πραγματικότητα, το API είναι συναρτήσεις που έχουν προ-γραμμεί άλλοι και μπορούν να υλοποιήσουν συγκεκριμένες λειτουργίες. Απλώς χρειάζεται να καλέσετε τις μεθόδους του μέσω της παρεχόμενης διεπαφής, να περάσετε τις καθορισμένες παραμέτρους και η συνάρτηση θα σας βοηθήσει να υλοποιήσετε αυτές τις λειτουργίες.

Από την έννοια της "διεπαφής", στον τομέα των υπολογιστών, αναφέρεται στο σημείο αλληλεπίδρασης μεταξύ δύο διαφορετικών οντοτήτων, το οποίο μπορεί να είναι δύο εντελώς διαφορετικά συστήματα ή δύο τμήματα προγράμματος. Επομένως, το "I" της διεπαφής μπορεί να γίνει κατανοητό με αυτόν τον τρόπο. Με βάση αυτό, το σημείο αλληλεπίδρασης μεταξύ ανθρώπου και προγράμματος ονομάζεται UI (User Interface), συμπεριλαμβανομένης όλων των μορφών εισόδου, όπως ποντίκι, πληκτρολόγιο, οθόνη αφής και φωνητική εισαγωγή κ.λπ. Η αλληλεπίδραση μεταξύ προγραμμάτων ονομάζεται API, και όλες οι αλληλεπιδράσεις που δεν περιλαμβάνουν ανθρώπους γίνονται μέσω API, η ουσία της οποίας είναι η μεταφορά δεδομένων και η ενεργοποίηση λειτουργιών.
(2) Κατηγορίες API
Τα API χωρίζονται σε API σε επίπεδο συστήματος (όπως Windows, Linux, Unix κ.λπ.) και προσαρμοσμένα API που δεν είναι σε επίπεδο λειτουργικού συστήματος. Ως ένα αποτελεσματικό μοτίβο ενθυλάκωσης κώδικα, το μοντέλο ανάπτυξης API των Microsoft Windows έχει υιοθετηθεί από πολλές εταιρείες ανάπτυξης εμπορικών εφαρμογών και έχουν αναπτύξει συναρτήσεις API ορισμένων εμπορικών συστημάτων εφαρμογών για δημοσίευση, διευκολύνοντας την επέκταση λειτουργιών από τρίτους. Για παράδειγμα, τα API που αναπτύχθηκαν από τις Google, Apple και Nokia κ.λπ.
Τα API χωρίζονται επίσης σε ανοιχτά API και ιδιωτικά API. Όπως υποδηλώνει το όνομα, τα ανοιχτά API είναι διεπαφές που είναι διαθέσιμες σε όλους, επιτρέποντας σε οποιονδήποτε να τα καλέσει και να λάβει τα υποκείμενα δεδομένα τους. Μερικές φορές οι εταιρείες θα χρησιμοποιήσουν API ως το δημόσιο ανοιχτό τους σύστημα, δηλαδή η εταιρεία θα καθορίσει τα δικά της πρότυπα διεπαφής συστήματος, και όταν χρειάζεται να εκτελέσουν ενσωμάτωση συστήματος, προσαρμογή και εφαρμογές προγραμμάτων κ.λπ., όλα τα μέλη της εταιρείας μπορούν να καλέσουν τον πηγαίο κώδικα μέσω αυτού του προτύπου διεπαφής, το οποίο ονομάζεται ανοιχτό API. Τα ιδιωτικά API είναι διεπαφές που δεν είναι ανοιχτές στο κοινό.
02 SDK
(1) Η έννοια του SDK
Το SDK, πλήρες όνομα "Software Development Kit", είναι συνήθως ένα σύνολο εργαλείων ανάπτυξης που χρησιμοποιούνται από μηχανικούς λογισμικού για την κατασκευή εφαρμογών λογισμικού για συγκεκριμένα πακέτα λογισμικού, πλαίσια λογισμικού, πλατφόρμες υλικού, λειτουργικά συστήματα κ.λπ. Με απλά λόγια, το SDK είναι ένα κιτ εργαλείων που παρέχεται από έναν τρίτο πάροχο υπηρεσιών για την υλοποίηση μιας λειτουργίας ενός προϊόντος λογισμικού.
Συνήθως, το SDK παρέχεται από εταιρείες επαγγελματικού χαρακτήρα που παρέχουν ένα σύνολο επαγγελματικών υπηρεσιών, όπως η παροχή εργαλείων ανάπτυξης Android ή υπηρεσιών που βασίζονται στην ανάπτυξη υλικού κ.λπ. Υπάρχουν επίσης SDK για συγκεκριμένες λειτουργίες λογισμικού, όπως τεχνολογία push, τεχνολογία αναγνώρισης εικόνας, τεχνολογία κινητών πληρωμών, τεχνολογία ανάλυσης φωνητικής αναγνώρισης κ.λπ. Στην τάση του ανοιχτού διαδικτύου, ορισμένα λειτουργικά SDK έχουν μετατραπεί σε προϊόντα για λειτουργία.
Οι προγραμματιστές δεν χρειάζεται πλέον να αναπτύξουν κάθε λειτουργία του προϊόντος, απλώς επιλέγουν κατάλληλες και σταθερές υπηρεσίες SDK και μπορούν να ενσωματώσουν μια λειτουργία στο προϊόν τους σε σύντομο χρονικό διάστημα.
(2) Η διαφορά μεταξύ SDK και API
Το SDK είναι ισοδύναμο με ένα περιβάλλον ενσωμάτωσης ανάπτυξης, ενώ το API είναι μια διεπαφή δεδομένων. Κλήση δεδομένων API στο περιβάλλον SDK.
Στην πραγματικότητα, το SDK περιέχει τον ορισμό του API, το API ορίζει μια ικανότητα, ένα πρότυπο διεπαφής και το SDK μπορεί να περιέχει αυτήν την ικανότητα, αυτό το πρότυπο. Αλλά το SDK περιέχει όχι μόνο το API και την υλοποίησή του, αλλά είναι επίσης ένα κιτ εργαλείων λογισμικού που περιέχει πολλές άλλες βοηθητικές λειτουργίες.
Το SDK περιλαμβάνει την τεκμηρίωση που απαιτείται για τη χρήση του API, επομένως οι άνθρωποι συχνά αναφέρονται στον τρόπο ανάπτυξης εφαρμογών Windows χρησιμοποιώντας μόνο το API ως "SDK programming".





