Τι είναι το API;

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

Διεπαφή προγραμματισμού εφαρμογών

Ο όρος API είναι αρκτικόλεξο και σημαίνει «Εφαρμογή διεπαφής προγραμματισμού».

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

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

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

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

Τα API κάνουν τη ζωή ευκολότερη για προγραμματιστές

Ας υποθέσουμε ότι θέλετε να αναπτύξετε μια εφαρμογή για iPhone. Το λειτουργικό σύστημα iOS της Apple παρέχει μεγάλο αριθμό API - όπως κάνει κάθε άλλο λειτουργικό σύστημα - για να το κάνει πιο εύκολο σε εσάς.

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

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

Αυτό ισχύει για κάθε πλατφόρμα. Για παράδειγμα, θέλετε να δημιουργήσετε ένα παράθυρο διαλόγου στα Windows; Υπάρχει ένα API για αυτό. Θέλετε να υποστηρίξετε τον έλεγχο ταυτότητας δακτυλικών αποτυπωμάτων στο Android; Υπάρχει επίσης ένα API για αυτό, οπότε δεν χρειάζεται να δοκιμάσετε κάθε διαφορετικό αισθητήρα δακτυλικών αποτυπωμάτων του κατασκευαστή Android. Οι προγραμματιστές δεν χρειάζεται να ανακαλύψουν ξανά τον τροχό ξανά και ξανά.

Τα API ελέγχουν την πρόσβαση σε πόρους

Τα API χρησιμοποιούνται επίσης για τον έλεγχο της πρόσβασης σε συσκευές υλικού και λειτουργίες λογισμικού που μια εφαρμογή ενδέχεται να μην έχει απαραίτητα άδεια χρήσης. Γι 'αυτό τα APIs παίζουν συχνά μεγάλο ρόλο στην ασφάλεια.

ΣΧΕΤΙΖΕΤΑΙ ΜΕ: Πώς να σταματήσετε τους ιστότοπους να ζητούν την τοποθεσία σας

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

Ωστόσο, τα προγράμματα περιήγησης εκθέτουν επίσης αυτές τις πληροφορίες μέσω ενός API επειδή είναι δυνατό να ελέγχεται η πρόσβαση σε αυτές. Όταν ένας ιστότοπος θέλει πρόσβαση στην ακριβή φυσική τοποθεσία σας, ο μόνος τρόπος για να τον αποκτήσει είναι μέσω του API τοποθεσίας. Και, όταν ένας ιστότοπος προσπαθεί να τον χρησιμοποιήσει, εσείς - ο χρήστης - μπορείτε να επιλέξετε να επιτρέψετε ή να απορρίψετε αυτό το αίτημα. Ο μόνος τρόπος πρόσβασης σε πόρους υλικού όπως ο αισθητήρας GPS είναι μέσω του API, έτσι ώστε το πρόγραμμα περιήγησης να μπορεί να ελέγχει την πρόσβαση στο υλικό και να περιορίζει τι μπορούν να κάνουν οι εφαρμογές.

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

Τα συστήματα αρχείων που χρησιμοποιούν δικαιώματα - όπως συμβαίνουν σε Windows, Mac και Linux - έχουν αυτά τα δικαιώματα που επιβάλλονται από το API του συστήματος αρχείων. Μια τυπική εφαρμογή δεν έχει άμεση πρόσβαση στον ακατέργαστο φυσικό σκληρό δίσκο. Αντ 'αυτού, η εφαρμογή πρέπει να έχει πρόσβαση σε αρχεία μέσω ενός API.

Τα API χρησιμοποιούνται για επικοινωνία μεταξύ υπηρεσιών

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

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

Αυτό ισχύει για πολλές διαφορετικές διαδικτυακές υπηρεσίες. Υπάρχουν API για να ζητήσετε μετάφραση κειμένου από τη Μετάφραση Google ή να ενσωματώσετε σχόλια ή tweets στο Facebook από έναν ιστότοπο.

ΣΧΕΤΙΖΕΤΑΙ ΜΕ: Τι είναι το OAuth; Πώς λειτουργούν αυτά τα κουμπιά σύνδεσης Facebook, Twitter και Google

Το πρότυπο OAuth ορίζει επίσης ορισμένα API που σας επιτρέπουν να συνδεθείτε σε έναν ιστότοπο με άλλη υπηρεσία — για παράδειγμα, να χρησιμοποιήσετε τους λογαριασμούς σας στο Facebook, το Google ή το Twitter για να συνδεθείτε σε έναν νέο ιστότοπο χωρίς να δημιουργήσετε νέο λογαριασμό χρήστη μόνο για αυτόν τον ιστότοπο . Τα API είναι τυπικά συμβόλαια που καθορίζουν τον τρόπο με τον οποίο οι προγραμματιστές επικοινωνούν με μια υπηρεσία και το είδος της παραγωγής που οι προγραμματιστές πρέπει να αναμένουν να λάβουν πίσω.

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

Πιστωτική εικόνα: patpitchaya / Shutterstock.com.