דף הבית » איך ל » מהו ממשק API?

    מהו ממשק API?

    סביר להניח שאתה רואה את המונח "API" לעלות. מערכת ההפעלה, דפדפן האינטרנט ועדכוני האפליקציות מכריזים לעתים קרובות על ממשקי API חדשים עבור מפתחים. אבל מה זה API?

    ממשק תכנות יישומים

    המונח API הוא ראשי תיבות, והוא מייצג "ממשק תכנות יישומים".

    חשוב על ממשק API כמו תפריט במסעדה. התפריט מספק רשימה של מנות ניתן להזמין, יחד עם תיאור של כל מנה. כאשר אתה מציין מה בתפריט פריטים שאתה רוצה, המטבח של המטבח עושה את העבודה ומספק לך כמה מנות סיים. אתה לא יודע בדיוק איך המסעדה מכינה את האוכל הזה, ואתה לא באמת צריך.

    באופן דומה, ה- API מפרטת חבורה של פעולות אשר מפתחים יכולים להשתמש, יחד עם תיאור של מה שהם עושים. היזם לא בהכרח צריך לדעת איך, למשל, מערכת הפעלה בונה ומציג תיבת הדו שיח "שמירה בשם". הם פשוט צריכים לדעת שזה זמין לשימוש באפליקציה שלהם.

    זה לא מטאפורה מושלמת, כמו מפתחים עשויים לספק את הנתונים שלהם ל- API כדי לקבל את התוצאות, אז אולי זה יותר כמו מסעדה מהודרת שבו אתה יכול לספק כמה מרכיבים שלך במטבח יעבוד עם.

    אבל זה מדויק למדי. ממשקי API מאפשרים למפתחים לחסוך זמן על ידי ניצול יישום של פלטפורמה כדי לבצע את העבודה המחוספסת. הדבר מסייע לצמצם את כמות מפתחי הקוד שיש ליצור, וגם מסייע ליצור עקביות רבה יותר בין יישומים עבור אותה פלטפורמה. ממשקי API יכולים לשלוט בגישה למשאבי חומרה ותוכנה.

    ממשקי API הופכים את החיים לקלים יותר עבור מפתחים

    נניח שברצונך לפתח אפליקציה ל- iPhone. מערכת ההפעלה של אפל של אפל מספקת מספר גדול של ממשקי API - כמו כל מערכת הפעלה אחרת - כדי להקל עליך.

    אם אתה רוצה להטביע דפדפן אינטרנט כדי להציג דף אינטרנט אחד או יותר, למשל, אתה לא צריך לתכנת את דפדפן האינטרנט שלך מאפס רק עבור היישום שלך. אתה משתמש בממשק ה- API של WKWebView כדי להטביע אובייקט דפדפן WebKit (Safari) ביישום שלך.

    אם אתה רוצה ללכוד תמונות או וידאו מהמצלמה של iPhone, אתה לא צריך לכתוב ממשק המצלמה שלך. אתה משתמש בממשק ה- API של המצלמה כדי להטביע את המצלמה המובנית של iPhone באפליקציה שלך. אם APIs לא היה קיים כדי להפוך את זה קל, מפתחי יישומים יצטרכו ליצור תוכנת המצלמה שלהם לפרש את החומרה של המצלמה תשומות. אבל מפתחי מערכת ההפעלה של אפל עשו את כל העבודה הקשה, כך שהמפתחים יכולים פשוט להשתמש בממשק ה- API של המצלמה כדי להטביע מצלמה, ולאחר מכן להמשיך בבניית האפליקציה שלהם. וכאשר Apple תשפר את ממשק ה- API של המצלמה, כל האפליקציות המסתמכות עליה ינצלו את השיפור באופן אוטומטי.

    זה חל על כל פלטפורמה. לדוגמה, האם ברצונך ליצור תיבת דו-שיח ב- Windows? יש API בשביל זה. רוצה לתמוך באימות טביעות אצבע ב- Android? יש API עבור זה, יותר מדי, אז אתה לא צריך לבדוק את כל חיישן טביעות האצבעות של יצרן שונים של אנדרואיד. מפתחים לא צריך להמציא מחדש את הגלגל שוב ושוב.

    APIs בקרת גישה למשאבים

    ממשקי API משמשים גם לשליטה בגישה למכשירי חומרה ולפונקציות תוכנה שיישום לא בהכרח רשאי להשתמש בהם. לכן APIs לעתים קרובות לשחק תפקיד גדול בביטחון.

    לדוגמה, אם אי פעם ביקרת באתר וראית הודעה בדפדפן שלך שהאתר מבקש לראות את המיקום המדויק שלך, אתר זה מנסה להשתמש בממשק ה- API של המיקום הגיאוגרפי בדפדפן האינטרנט שלך. דפדפני אינטרנט חושפים ממשקי API כאלה כדי להקל על מפתחי אינטרנט לגשת למיקום שלך - הם יכולים פשוט לשאול "איפה אתה?" והדפדפן עושה את העבודה הקשה של גישה ל- GPS או לרשתות Wi-Fi בקרבת מקום כדי למצוא את המיקום הפיזי שלך.

    עם זאת, דפדפנים חושפים מידע זה גם באמצעות ממשק API, שכן ניתן לשלוט בגישה אליו. כאשר אתר רוצה גישה למיקום הפיזי המדויק שלך, הדרך היחידה שבה הוא יכול לקבל אותו היא באמצעות ממשק ה- API של המיקום. בנוסף, כאשר אתר מנסה להשתמש בו, אתה - המשתמש יכול לבחור לאפשר או לדחות את הבקשה. הדרך היחידה לגשת למשאבי חומרה כמו חיישן ה- GPS היא דרך ממשק ה- API, כך שהדפדפן יכול לשלוט בגישה לחומרה ולהגביל את היישומים שיכולים לעשות.

    אותו עיקרון משמש גם במערכות הפעלה ניידות מודרניות כמו iOS ו- Android, שבהן לאפליקציות לנייד יש הרשאות שניתן לאכוף על ידי שליטה בגישה לממשקי API. לדוגמה, אם מפתח מנסה לגשת למצלמה באמצעות ממשק ה- API של המצלמה, תוכל לדחות את בקשת ההרשאה ולאפליקציה אין גישה למצלמה של המכשיר שלך.

    מערכות קבצים המשתמשים בהרשאות - כפי שהן פועלות ב- Windows, Mac ו- Linux - כוללות הרשאות אלה שנאכפות על ידי ממשק ה- API של מערכת הקבצים. ליישום טיפוסי אין גישה ישירה לדיסק הקשיח הפיזי הגולמי. במקום זאת, האפליקציה חייבת לגשת לקבצים באמצעות ממשק API.

    ממשקי API משמשים לתקשורת בין שירותים

    APIs משמשים עבור כל מיני סיבות אחרות, גם. לדוגמה, אם ראית פעם אובייקט של מפות Google מוטבע באתר אינטרנט, אתר זה משתמש בממשק API של מפות Google כדי להטביע את המפה. Google חושפת ממשקי API כאלה למפתחי אינטרנט, שיכולים להשתמש בממשקי ה- API כדי להציב אובייקטים מורכבים ישירות באתר שלהם. אם ממשקי API שכאלה לא היו קיימים, ייתכן שמפתחים יצטרכו ליצור מפות משלהם ולספק את נתוני המפה שלהם רק כדי לשים מפה אינטראקטיבית קטנה באתר אינטרנט.

    וכיוון שמדובר בממשק API, Google יכולה לשלוט בגישה אל מפות Google באתרים של צד שלישי, ולהבטיח שהם משתמשים בו באופן עקבי במקום לנסות להטביע בטעות מסגרת שמציגה את האתר של מפות Google, לדוגמה.

    זה חל על שירותים מקוונים שונים. יש ממשקי API לבקשת תרגום טקסט מ- Google Translate, או הטמעת תגובות או ציוצים מ- Facebook מ- Twitter באתר אינטרנט.

    תקן OAuth מגדיר גם מספר ממשקי API המאפשרים לך להיכנס לאתר עם שירות אחר - לדוגמה, להשתמש בחשבונות שלך ב- Facebook, Google או Twitter כדי להיכנס לאתר חדש מבלי ליצור חשבון משתמש חדש רק עבור אתר זה . ממשקי API הם חוזים סטנדרטיים המגדירים כיצד מפתחים מתקשרים עם שירות, וסוג הפלט שאותם מפתחים צריכים לצפות לקבל בחזרה.


    אם קיבלת את זה, יהיה לך מושג טוב יותר על ה- API. בסופו של דבר, אינך צריך לדעת מהו ממשק API, אלא אם כן אתה מפתח. אבל, אם אתה רואה פלטפורמת תוכנה או שירות הוסיף APIs חדשים עבור חומרה או שירותים שונים, זה צריך להיות קל יותר למפתחים לנצל את התכונות הללו.

    אשראי תמונה:.