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

API & SDK

api-sdk

API(Application Programming Interface) – Διεπαφή προγραμματισμού εφαρμογών

SDK(Software Development Kit) –  & Κιτ Ανάπτυξης Λογισμικού

Ας ξεκινήσουμε με ένα παράδειγμα όπου έχουμε μια εφαρμογή που λειτουργεί με τη βοήθεια λογισμικού που υπάρχει στο σύννεφο (cloud). Η εφαρμογή έχει σαν σκοπό να αναγνωρίζει τα πρόσωπα που εισέρχονται σε κάποιο εργοστάσιο για λόγους ασφαλείας.

Συγκεκριμένα όταν κάποιος εισέρχεται στο πεδίο αναγνώρισης της κάμερας αυτή παίρνει μια φωτογραφία. H εφαρμογή που τρέχει στο τερματικό της πύλης του εργοστασίου την στέλνει στο λογισμικό αναγνώρισης προσώπου που υπάρχει στο σύννεφο το οποίο επιστρέφει δεδομένα που αφορούν το συγκεκριμένο πρόσωπο. Όπως καταλαβαίνετε εδώ υπάρχει συνεργασία API & SDK.

api

API – Χαρακτηριστικά
  1. Το API έχει να κάνει με την επικοινωνία. Δηλαδή ορισμούς και πρωτόκολλα που καθορίζουν πως θα πραγματοποιείται η επικοινωνία,  μεταξύ υπηρεσιών οι εφαρμογών με άλλες εφαρμογές οι υπηρεσίες. Γυρνώντας στο παράδειγμα θα το παρομοιάζαμε σαν γέφυρα μεταξύ της εφαρμογής τοπικά και το λογισμικό αναγνώρισης που τρέχει στο σύννεφο.
  2. Ένα άλλο χαρακτηριστικό του API είναι η αφαιρετικότητα (abstraction) που συναντάται στον αντικειμενοστραφή προγραμματισμό αλλά και αλλού. Θα μπορούσαμε να πούμε ότι το λογισμικό στο cloud αποτελείται από χιλιάδες γραμμές κώδικα που κάνουν υπολογισμούς με κάποιο περίπλοκο τρόπο έτσι ώστε να μας επιστρέψουν δεδομένα. Αυτό αφαιρεί για εμάς το δύσκολο κομμάτι είτε σαν χρήστες που απλώς βλέπουμε τα αποτελέσματα στην οθόνη μας είτε σαν προγραμματιστές που απλώς καλούμε κάποιες συναρτήσεις για να έχουμε τα δεδομένα που θέλουμε. Όλο αυτό γίνετε χωρίς να χρειάζεται να γράψουμε χιλιάδες γραμμές κώδικα.
  3. Ακόμη ένα χαρακτηριστικό είναι η τυποποίηση(standardized). Αυτο σημαίνει ότι υπάρχει συγκεκριμένο τρόπος που κάποιός καθορίζει ένα API, υπάρχουν επίσης κάποιες δημοφιλής τυποποίησης όπως SOAP, GraphQL και REST(Representational State Transfer) το REST API χρησιμοποιείται και στο παράδειγμα μας. Όποτε στην περίπτωση μας για να σταλεί από το τοπικό λογισμικό στο λογισμικό αναγνώρισης στο σύννεφο ένα αίτημα(Request) χρησιμοποιούμε το REST API. Συγκεκριμένα τις λειτουργίες(Operations) του HTTP όπως POST,GET,DELETE,PUT στην περίπτωση του παραδείγματός μας είναι ένα POST δηλαδή θα μπορούσε να είναι ο φάκελος με το όνομα του προσώπου προς αναγνώριση μετά έχουμε τις παραμέτρους όπως για παράδειγμα την εικόνα που τράβηξε η κάμερα και τέλος έχουμε το κλείσιμο του Request  που είναι στην ουσία σαν ένα URL και αναλύει τα παραπάνω. Τέλος θα υπάρξει και μια απάντηση(Response) από το σύννεφο που είναι συνήθως ακατέργαστα δεδομένα(Raw Data). Στο παράδειγμα μας το όνομα και πιθανότατα άλλα στοιχεία που αφορούν το αναγνωρισμένο πρόσωπο.sdk
SDK – Χαρακτηριστικά

Aπό την πλευρά του προγραμματιστή δεν θα θέλαμε να επεξεργαζόμαστε ακατέργαστα Δεδομένα (Raw data). Αυτό θα έκανε τη δουλεία μας δύσκολη και χρονοβόρα εδώ είναι που έρχεται στο παιχνίδι το SDK. Θα μπορούσαμε να το παρομοιάσουμε σαν μια εργαλειοθήκη που χρησιμοποιούμε για να λειτουργήσουμε αποδοτικά το API.

SDK μπορεί να έχει κάθε μια γλώσσα προγραμματισμού δικό της για παράδειγμα υπάρχουν SDK για JAVA, NODE, GO, PYTHON κ.α. Όποτε στο παράδειγμα μας θα χρησιμοποιούσαμε την εργαλειοθήκη ας πούμε της SDK python για να στείλουμε τα δεδομένα μας στο λογισμό αναγνώρισης στο σύννεφο. Χωρίς να χάνουμε χρόνο με την σύνταξη του αιτήματος(Request) και την ερμηνεία της απάντησης(Response) πράγμα που κάνει το SDK αυτόματα για εμάς μεταφράζοντας εσωτερικά τα δεδομένα που του έστειλε το σύννεφο διαμέσου του API.

 

Σας άρεσε

Εξαιρετικό
1
Μου αρέσει
1
Αγαπημένο
1
Προβληματισμένος
1
Δεν μου άρεσε
0

Μπορεί να σας αρέσει

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

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