HDG εξηγεί: Τι είναι ένα API;

Admin

Σε ένα διαδίκτυο γεμάτο με μπερδεμένα και άγνωστα ακρωνύμια, μπορεί εύκολα να μπερδευτεί. Ένα ακρωνύμιο ιστού που μπορεί να έχετε ακούσει αλλά δεν αισθανθήκατε ποτέ εμπνευσμένο να κοιτάξετε είναι το "API".

Τι είναι το API; Το API είναι αρκτικόλεξο για διεπαφή προγραμματισμού εφαρμογών, και είναι ένα όνομα για ένα σύνολο ρουτίνων και πρωτοκόλλων που κάνουν τη διαδικασία δημιουργίας εφαρμογών λογισμικού πολύ πιο εύκολη.

Πίνακας περιεχομένων

Ένας απλός τρόπος για να κοιτάξετε ένα API είναι σαν ένας χάρτης πορείας που λέει στα στοιχεία ενός λογισμικού πώς να αλληλεπιδρούν. Χωρίς τη χρήση ενός API, ο πηγαίος κώδικας θα μπορούσε να μοιάζει με ένα μπερδεμένο, μπερδεμένο χάος.

Ωστόσο, τα API είναι πολύπλοκα και απαιτούν περισσότερο από μια σύντομη περίληψη. Σε αυτό το άρθρο, ας δούμε πώς λειτουργούν τα API και ποιοι ιστότοποι και υπηρεσίες τα χρησιμοποιούν.

Τι είναι το API και πώς λειτουργεί;

Τώρα που διαπιστώσαμε ότι ένα API είναι ένα σύνολο ρουτίνων που οδηγούν το λογισμικό στη σωστή κατεύθυνση, πώς ακριβώς λειτουργεί όλο αυτό;

Ο καλύτερος τρόπος για να εξηγήσετε τη βασική λειτουργικότητα ενός API είναι να παράσχετε ένα πραγματικό παράδειγμα. Υπηρεσίες παράδοσης τροφίμων, όπως π.χ. GrubHub, είναι απίστευτα δημοφιλείς αυτή τη στιγμή, οπότε ας συζητήσουμε πώς μπορεί να λειτουργήσει ο κώδικας πίσω από εφαρμογές για κινητά όπως αυτές.

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

Για να προγραμματίσετε την παράδοσή σας, πρέπει να υπάρχει σύνδεση μεταξύ του ιστότοπου παράδοσης και μιας βάσης δεδομένων - ο ιστότοπος είναι ο προσανατολισμός και η βάση δεδομένων είναι το backend. Η βάση δεδομένων είναι αυτό που αποθηκεύει τα δεδομένα για όλα αυτά τα εστιατόρια, τη διαθεσιμότητά τους ανά τοποθεσία, το πρόγραμμα λειτουργίας, τα μενού και πολλά άλλα.

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

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

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

Τι τύποι API υπάρχουν;

Υπάρχουν πολλοί διαφορετικοί τύποι πρωτοκόλλων API, αλλά τα τρία πιο δημοφιλή είναι το SOAP (Simple Object Access Protocol), το REST (Transmission State Transfer) και το RPC (Remote Procedure Call).

SOAP API

Το SOAP εισήχθη για πρώτη φορά στα τέλη της δεκαετίας του 1990 και επέτρεψε στις εφαρμογές να μοιραστούν πόρους με απλό τρόπο χρησιμοποιώντας συνδέσεις δικτύου. Το SOAP βασίζεται σε τυπικά πρωτόκολλα, όπως το HTTP και το SMTP, τα οποία επιτρέπουν τη χρήση του σχεδόν σε κάθε περιβάλλον λόγω της δημοτικότητας τέτοιων πρωτοκόλλων.

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

REST API

Το REST εισήχθη το 2000 από τον Roy Fielding. Ο άμεσος στόχος του ήταν να λειτουργήσει ως απάντηση σε πολλά από τα θέματα που δημιουργήθηκαν από την ευρεία υιοθέτηση του SOAP.

Παρόμοια με το SOAP, το REST βασίζεται στο HTTP για τη μεταφορά πληροφοριών μεταξύ εφαρμογών. Ωστόσο, μια σημαντική διαφορά που το ξεχωρίζει από το SOAP, το οποίο απαιτεί τη μετάδοση δεδομένων μέσω της μορφής δεδομένων XML, είναι ότι υποστηρίζει JSON. Το JSON είναι μια μορφή δεδομένων για την οποία πολλοί συμφωνούν ότι είναι ευκολότερο να διαβάσετε και να γράψετε. Επιπλέον, τα REST API μπορούν να αποθηκεύσουν προσωρινά δεδομένα, επιτρέποντας πολύ καλύτερη απόδοση.

Το REST αντιπροσωπεύει πλέον περισσότερο από το 80% όλων των API, σύμφωνα με μια έκθεση του Cloud Elements το 2017.

RPC API

Τα RPC API έρχονται σε πολλές γεύσεις, αλλά όπως μάθαμε από τα REST API, το JSON είναι μια πολύ δημοφιλής μορφή δεδομένων, επομένως το JSON-RPC είναι το πιο δημοφιλές του.

Το JSON-RPC είναι ένα πρωτόκολλο που ταιριάζει καλύτερα σε μινιμαλιστές και χρήστες που βασίζονται στην ευθύτητα του API τους. Είναι πολύ πιο στενό σε έκταση σε σύγκριση με το SOAP και το REST, και είναι πολύ περιορισμένο στην ευελιξία και το σύνολο των εντολών - αλλά για ορισμένους προγραμματιστές, το λιγότερο είναι περισσότερο.

Υπάρχουν και άλλοι τύποι API που βασίζονται σε RPC, όπως το gRPC, αλλά το JSON-RPC είναι το εφικτό εάν η προτεραιότητά σας είναι η απλότητα της εφαρμογής.

Ποιος χρησιμοποιεί API;

Οι προγραμματιστές οποιουδήποτε είδους, είτε πρόκειται για frontend είτε για backend, θα πρέπει να έχουν εμπειρία εργασίας με API. Όσον αφορά τις ιστοσελίδες ή διαδικτυακές υπηρεσίες, σχεδόν όλοι οι κύριοι παίκτες διαθέτουν κάποιο είδος API - το πιο προφανές είναι Windows.

Με τα Microsoft Windows να είναι το πιο δημοφιλές λειτουργικό σύστημα στον πλανήτη, είναι φυσικό οι προγραμματιστές εφαρμογών να χρειάζονται μια σειρά οδηγιών για τον τρόπο αλληλεπίδρασης με τη διεπαφή χρήστη. Χωρίς πρόσβαση στο Windows API, ο προγραμματισμός μιας εφαρμογής που βασίζεται σε μεγάλο βαθμό στην αλληλεπίδραση με το λειτουργικό σύστημα θα ήταν ένας μεγάλος πονοκέφαλος.

Υπάρχουν χιλιάδες API εκεί έξω, άλλα δωρεάν και άλλα επί πληρωμή. Ακολουθούν μερικά παραδείγματα που αξίζει να εξετάσετε:

  • API προγραμματιστή Google Play: Δημοσιεύσεις και εργασίες διαχείρισης εφαρμογών που σχετίζονται με το Google Play
  • API Skyscanner: API που βασίζονται σε ταξίδια που σχετίζονται με πτήσεις, ενοικιάσεις αυτοκινήτων και άλλα
  • Twilio API: Επιτρέπει την αποστολή και λήψη τηλεφωνικών κλήσεων μέσω προγραμματισμού
  • Discord API: Επιτρέπει στους χρήστες να δημιουργήσουν τα bots που κάνουν το Discord την υπηρεσία ανταλλαγής μηνυμάτων που είναι σήμερα
  • IPinfo API: Διεύθυνση IP και δεδομένα γεωεντοπισμού εν κινήσει για τον ιστότοπο ή την εφαρμογή σας

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

Καλώς ήλθατε στο Help Desk Geek- ένα ιστολόγιο γεμάτο τεχνικές συμβουλές από αξιόπιστους ειδικούς τεχνολογίας. Έχουμε χιλιάδες άρθρα και οδηγούς που θα σας βοηθήσουν να αντιμετωπίσετε οποιοδήποτε ζήτημα. Τα άρθρα μας έχουν διαβαστεί πάνω από 150 εκατομμύρια φορές από τότε που ξεκινήσαμε το 2008.

Μισούμε επίσης τα ανεπιθύμητα μηνύματα, διαγραφείτε ανά πάσα στιγμή.

Τρόπος αντιμετώπισης προβλημάτων εκτυπωτών WiFi (ασύρματου δικτύου)
Τρόπος αντιμετώπισης προβλημάτων εκτυπωτών WiFi (ασύρματου δικτύου)

Λίγα πράγματα είναι πιο απογοητευτικά από ό, τι όταν θέλετε να εκτυπώσετε ένα έγγραφο και ο ασύρμ...

Δημιουργήστε αντίγραφο ασφαλείας εικόνας συστήματος των Windows 10
Δημιουργήστε αντίγραφο ασφαλείας εικόνας συστήματος των Windows 10

Τα Windows 10 είναι ίσως το πιο σταθερό και εύχρηστο λειτουργικό σύστημα που έχει κυκλοφορήσει η ...

Σύγκριση επεξεργαστή CPU - Intel Core i9 vs i7 vs i5 vs i3
Σύγκριση επεξεργαστή CPU - Intel Core i9 vs i7 vs i5 vs i3

Παρόλο που έχουν κυκλοφορήσει για περισσότερο από μια δεκαετία τώρα, η σειρά Core της Intel, οι ε...